diff options
Diffstat (limited to 'meta-oe')
218 files changed, 5253 insertions, 6323 deletions
diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc index ca800f12fa..528ce16191 100644 --- a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc +++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc | |||
| @@ -58,7 +58,8 @@ PTESTS_FAST_META_OE = "\ | |||
| 58 | uriparser \ | 58 | uriparser \ |
| 59 | utf8proc \ | 59 | utf8proc \ |
| 60 | uthash \ | 60 | uthash \ |
| 61 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'xrdp', '', d)} \ | 61 | xdg-dbus-proxy \ |
| 62 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam x11', 'xrdp', '', d)} \ | ||
| 62 | zeromq \ | 63 | zeromq \ |
| 63 | " | 64 | " |
| 64 | PTESTS_FAST_META_OE:append:x86 = " mcelog" | 65 | PTESTS_FAST_META_OE:append:x86 = " mcelog" |
| @@ -73,11 +74,13 @@ PTESTS_SLOW_META_OE = "\ | |||
| 73 | c-ares \ | 74 | c-ares \ |
| 74 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'freerdp', '', d)} \ | 75 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'freerdp', '', d)} \ |
| 75 | fftw \ | 76 | fftw \ |
| 77 | jsoncpp \ | ||
| 76 | libusb-compat \ | 78 | libusb-compat \ |
| 77 | mariadb \ | 79 | mariadb \ |
| 78 | postgresql \ | 80 | postgresql \ |
| 79 | re2 \ | 81 | re2 \ |
| 80 | rocksdb \ | 82 | rocksdb \ |
| 83 | tbb \ | ||
| 81 | " | 84 | " |
| 82 | PTESTS_SLOW_META_OE:append:x86 = " kernel-selftest" | 85 | PTESTS_SLOW_META_OE:append:x86 = " kernel-selftest" |
| 83 | PTESTS_SLOW_META_OE:append:x86-64 = " kernel-selftest" | 86 | PTESTS_SLOW_META_OE:append:x86-64 = " kernel-selftest" |
diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf index c6974f6dfe..78df6e3c03 100644 --- a/meta-oe/conf/layer.conf +++ b/meta-oe/conf/layer.conf | |||
| @@ -120,7 +120,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ | |||
| 120 | 120 | ||
| 121 | DEFAULT_TEST_SUITES:pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}" | 121 | DEFAULT_TEST_SUITES:pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}" |
| 122 | 122 | ||
| 123 | NON_MULTILIB_RECIPES:append = " crash pahole libbpf bpftrace bpftool" | 123 | NON_MULTILIB_RECIPES:append = " crash pahole libbpf bpftrace bpftool bcc" |
| 124 | 124 | ||
| 125 | NON_MULTILIB_RECIPES:remove:x86 = "libbpf" | 125 | NON_MULTILIB_RECIPES:remove:x86 = "libbpf" |
| 126 | NON_MULTILIB_RECIPES:remove:x86-64 = "libbpf" | 126 | NON_MULTILIB_RECIPES:remove:x86-64 = "libbpf" |
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-do-not-use-Werror.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-do-not-use-Werror.patch index 663a80ecde..8d5c3da7c0 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-do-not-use-Werror.patch +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-do-not-use-Werror.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 668ee79f39614ad758edd44c42b8b0eff57877cf Mon Sep 17 00:00:00 2001 | 1 | From 3790a098f4905cd330234fc4d18b4d4536b360bf Mon Sep 17 00:00:00 2001 |
| 2 | From: Alexander Kanavin <alex@linutronix.de> | 2 | From: Alexander Kanavin <alex@linutronix.de> |
| 3 | Date: Sun, 3 Oct 2021 21:52:16 +0200 | 3 | Date: Sun, 3 Oct 2021 21:52:16 +0200 |
| 4 | Subject: [PATCH] meson.build: do not use -Werror | 4 | Subject: [PATCH] meson.build: do not use -Werror |
| @@ -12,7 +12,7 @@ Signed-off-by: Yi Zhao <yi.zhao@windriver.com> | |||
| 12 | 1 file changed, 1 insertion(+), 1 deletion(-) | 12 | 1 file changed, 1 insertion(+), 1 deletion(-) |
| 13 | 13 | ||
| 14 | diff --git a/meson.build b/meson.build | 14 | diff --git a/meson.build b/meson.build |
| 15 | index 30f33fe2..0b214795 100644 | 15 | index 6f517b5a..2ecb7f5d 100644 |
| 16 | --- a/meson.build | 16 | --- a/meson.build |
| 17 | +++ b/meson.build | 17 | +++ b/meson.build |
| 18 | @@ -4,7 +4,7 @@ project('netplan', 'c', | 18 | @@ -4,7 +4,7 @@ project('netplan', 'c', |
| @@ -22,8 +22,8 @@ index 30f33fe2..0b214795 100644 | |||
| 22 | - 'werror=true', | 22 | - 'werror=true', |
| 23 | + 'werror=false', | 23 | + 'werror=false', |
| 24 | ], | 24 | ], |
| 25 | meson_version: '>= 0.61.0', | 25 | meson_version: '>= 1.3.0', |
| 26 | ) | 26 | ) |
| 27 | -- | 27 | -- |
| 28 | 2.25.1 | 28 | 2.34.1 |
| 29 | 29 | ||
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.1.2.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.2.1.bb index ef1945b4fe..22159dbcab 100644 --- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.1.2.bb +++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.2.1.bb | |||
| @@ -14,13 +14,13 @@ inherit meson pkgconfig systemd python3targetconfig features_check | |||
| 14 | 14 | ||
| 15 | REQUIRED_DISTRO_FEATURES = "systemd" | 15 | REQUIRED_DISTRO_FEATURES = "systemd" |
| 16 | 16 | ||
| 17 | SRC_URI = "git://github.com/CanonicalLtd/netplan.git;branch=stable/1.1;protocol=https \ | 17 | SRC_URI = "git://github.com/CanonicalLtd/netplan.git;branch=main;protocol=https \ |
| 18 | file://0001-meson.build-do-not-use-Werror.patch \ | 18 | file://0001-meson.build-do-not-use-Werror.patch \ |
| 19 | " | 19 | " |
| 20 | 20 | ||
| 21 | SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch" | 21 | SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch" |
| 22 | 22 | ||
| 23 | SRCREV = "01045f683b9419beb90119497cd1b2be44e83b8e" | 23 | SRCREV = "f758e3f6415aa68b7cf28991bc5b3e9631297d6d" |
| 24 | 24 | ||
| 25 | 25 | ||
| 26 | DEPENDS = "glib-2.0 libyaml util-linux-libuuid \ | 26 | DEPENDS = "glib-2.0 libyaml util-linux-libuuid \ |
| @@ -43,6 +43,7 @@ PACKAGES += "${PN}-dbus libnetplan" | |||
| 43 | 43 | ||
| 44 | FILES:libnetplan = "${libdir}/libnetplan.so.*" | 44 | FILES:libnetplan = "${libdir}/libnetplan.so.*" |
| 45 | FILES:${PN} = "${sbindir} ${libexecdir}/netplan/generate \ | 45 | FILES:${PN} = "${sbindir} ${libexecdir}/netplan/generate \ |
| 46 | ${libexecdir}/netplan/configure \ | ||
| 46 | ${datadir}/netplan ${datadir}/bash-completion \ | 47 | ${datadir}/netplan ${datadir}/bash-completion \ |
| 47 | ${systemd_unitdir} ${PYTHON_SITEPACKAGES_DIR} \ | 48 | ${systemd_unitdir} ${PYTHON_SITEPACKAGES_DIR} \ |
| 48 | ${sysconfdir}/netplan \ | 49 | ${sysconfdir}/netplan \ |
diff --git a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch new file mode 100644 index 0000000000..1b37633a36 --- /dev/null +++ b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | From d0326cd89b01600a6d8ba5e32e8e090f2ea29f2d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Wed, 15 Apr 2026 16:28:28 -0700 | ||
| 4 | Subject: [PATCH] misc: fix discarded const qualifiers in char pointer | ||
| 5 | assignments | ||
| 6 | |||
| 7 | These show up with glibc 2.43 + clang-22, glibc-2.43 has C23 versions | ||
| 8 | of str* mem* functions | ||
| 9 | |||
| 10 | Upstream-Status: Backport [https://github.com/taisei-project/taisei/commit/1c8f773912cbbd72b4a4df271fda1bd6d2aeb27f] | ||
| 11 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 12 | --- | ||
| 13 | src/log.c | 2 +- | ||
| 14 | src/pixmap/pixmap.c | 2 +- | ||
| 15 | src/vfs/pathutil.c | 2 +- | ||
| 16 | 3 files changed, 3 insertions(+), 3 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/src/log.c b/src/log.c | ||
| 19 | index 8194535a..88f34386 100644 | ||
| 20 | --- a/src/log.c | ||
| 21 | +++ b/src/log.c | ||
| 22 | @@ -161,7 +161,7 @@ static void add_debug_info(StringBuffer *buf) { | ||
| 23 | static size_t modname(const char *filename, size_t filename_len, char *mod) { | ||
| 24 | size_t mlen = filename_len; | ||
| 25 | |||
| 26 | - char *dot = memchr(filename, '.', mlen); | ||
| 27 | + const char *dot = memchr(filename, '.', mlen); | ||
| 28 | if(dot) { | ||
| 29 | mlen = dot - filename; | ||
| 30 | } | ||
| 31 | diff --git a/src/pixmap/pixmap.c b/src/pixmap/pixmap.c | ||
| 32 | index 25105215..9717f22a 100644 | ||
| 33 | --- a/src/pixmap/pixmap.c | ||
| 34 | +++ b/src/pixmap/pixmap.c | ||
| 35 | @@ -49,7 +49,7 @@ void *pixmap_alloc_buffer_for_conversion(const Pixmap *src, PixmapFormat format, | ||
| 36 | } | ||
| 37 | |||
| 38 | static PixmapFileFormatHandler *pixmap_handler_for_filename(const char *file) { | ||
| 39 | - char *ext = strrchr(file, '.'); | ||
| 40 | + const char *ext = strrchr(file, '.'); | ||
| 41 | |||
| 42 | if(!ext || !*(++ext)) { | ||
| 43 | return NULL; | ||
| 44 | diff --git a/src/vfs/pathutil.c b/src/vfs/pathutil.c | ||
| 45 | index f6bd6a80..85ccf5ee 100644 | ||
| 46 | --- a/src/vfs/pathutil.c | ||
| 47 | +++ b/src/vfs/pathutil.c | ||
| 48 | @@ -14,7 +14,7 @@ char *vfs_path_normalize(const char *path, char *out) { | ||
| 49 | const char *p = path; | ||
| 50 | char *o = out; | ||
| 51 | char *last_sep = out - 1; | ||
| 52 | - char *path_end = strchr(path, 0); | ||
| 53 | + const char *path_end = strchr(path, 0); | ||
| 54 | |||
| 55 | #define IS_SEP_OR_NUL(chr) (VFS_IS_PATH_SEPARATOR(chr) || (chr == '\0')) | ||
| 56 | |||
diff --git a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch new file mode 100644 index 0000000000..9f5d7a17d4 --- /dev/null +++ b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch | |||
| @@ -0,0 +1,71 @@ | |||
| 1 | From c9c00a88c10db4ce93ffcc043c661727d2ec9758 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: laochailan <239670+laochailan@users.noreply.github.com> | ||
| 3 | Date: Fri, 13 Feb 2026 20:21:44 -0500 | ||
| 4 | Subject: [PATCH] vfs: avoid unnecessary recursion in vfs_mkparents | ||
| 5 | |||
| 6 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 7 | Upstream-Status: Backport [https://github.com/taisei-project/taisei/commit/f2e074f4a6aecf78b980014ed98f12fc6ddfd016] | ||
| 8 | --- | ||
| 9 | src/vfs/public.c | 43 +++++++++++++++++-------------------------- | ||
| 10 | 1 file changed, 17 insertions(+), 26 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/src/vfs/public.c b/src/vfs/public.c | ||
| 13 | index abaa050f..cfeef83a 100644 | ||
| 14 | --- a/src/vfs/public.c | ||
| 15 | +++ b/src/vfs/public.c | ||
| 16 | @@ -146,38 +146,29 @@ void vfs_mkdir_required(const char *path) { | ||
| 17 | } | ||
| 18 | } | ||
| 19 | |||
| 20 | -static bool vfs_mkparents_recurse(const char *path) { | ||
| 21 | - // FIXME this has stupid space complexity and is probably silly in general; optimize if you care | ||
| 22 | - | ||
| 23 | - char *psep = strrchr(path, VFS_PATH_SEPARATOR); | ||
| 24 | - | ||
| 25 | - if(!psep) { | ||
| 26 | - // parent is root | ||
| 27 | - return true; | ||
| 28 | - } | ||
| 29 | +bool vfs_mkparents(const char *path) { | ||
| 30 | + char p[strlen(path)+1]; | ||
| 31 | + path = vfs_path_normalize(path, p); | ||
| 32 | |||
| 33 | - char p[strlen(path) + 1]; | ||
| 34 | - strcpy(p, path); | ||
| 35 | - psep += p - path; | ||
| 36 | - *psep = 0; | ||
| 37 | + // loop over all parent directories | ||
| 38 | + char *psep = p; | ||
| 39 | + while((psep = strchr(psep, VFS_PATH_SEPARATOR))) { | ||
| 40 | + *psep = 0; | ||
| 41 | |||
| 42 | - VFSInfo i = vfs_query(p); | ||
| 43 | + VFSInfo i = vfs_query(p); | ||
| 44 | + if(i.error) { | ||
| 45 | + return false; | ||
| 46 | + } | ||
| 47 | |||
| 48 | - if(i.error) { | ||
| 49 | - return false; | ||
| 50 | - } | ||
| 51 | + if(!i.exists || !i.is_dir) { | ||
| 52 | + vfs_mkdir(p); | ||
| 53 | + } | ||
| 54 | |||
| 55 | - if(i.exists) { | ||
| 56 | - return i.is_dir; | ||
| 57 | + *psep = VFS_PATH_SEPARATOR; | ||
| 58 | + psep++; | ||
| 59 | } | ||
| 60 | |||
| 61 | - return vfs_mkparents_recurse(p) && vfs_mkdir(p); | ||
| 62 | -} | ||
| 63 | - | ||
| 64 | -bool vfs_mkparents(const char *path) { | ||
| 65 | - char p[strlen(path)+1]; | ||
| 66 | - path = vfs_path_normalize(path, p); | ||
| 67 | - return vfs_mkparents_recurse(p); | ||
| 68 | + return true; | ||
| 69 | } | ||
| 70 | |||
| 71 | char* vfs_repr(const char *path, bool try_syspath) { | ||
diff --git a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb index bb08ad4a1c..844e735b69 100644 --- a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb +++ b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb | |||
| @@ -20,7 +20,10 @@ DEPENDS = "\ | |||
| 20 | DEPENDS:append:libc-musl = " libucontext" | 20 | DEPENDS:append:libc-musl = " libucontext" |
| 21 | LDFLAGS:append:libc-musl = " -lucontext" | 21 | LDFLAGS:append:libc-musl = " -lucontext" |
| 22 | 22 | ||
| 23 | SRC_URI = "gitsm://github.com/taisei-project/taisei.git;branch=v1.4.x;protocol=https;tag=v${PV}" | 23 | SRC_URI = "gitsm://github.com/taisei-project/taisei.git;branch=v1.4.x;protocol=https;tag=v${PV} \ |
| 24 | file://0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch \ | ||
| 25 | file://0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch \ | ||
| 26 | " | ||
| 24 | SRCREV = "6a484e6e61cc51a22a9943762dc2ff6883914f38" | 27 | SRCREV = "6a484e6e61cc51a22a9943762dc2ff6883914f38" |
| 25 | 28 | ||
| 26 | inherit features_check meson mime mime-xdg pkgconfig | 29 | inherit features_check meson mime mime-xdg pkgconfig |
diff --git a/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted/0001-Added-sepolicy-for-adb-service.patch b/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted/0001-Added-sepolicy-for-adb-service.patch deleted file mode 100644 index 62f81e4ffb..0000000000 --- a/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted/0001-Added-sepolicy-for-adb-service.patch +++ /dev/null | |||
| @@ -1,76 +0,0 @@ | |||
| 1 | From c110d893be565ade574ee2933c6e89197f833006 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Gargi Misra <gmisra@qti.qualcomm.com> | ||
| 3 | Date: Thu, 5 Mar 2026 12:39:42 +0530 | ||
| 4 | Subject: [PATCH] refpolicy-targeted: Added sepolicy for adb service | ||
| 5 | |||
| 6 | - Labeled adb binary | ||
| 7 | - Moved adb shell from initrc_t to unconfined_t | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [meta-oe Specific] | ||
| 10 | |||
| 11 | Signed-off-by: Gargi Misra <gmisra@qti.qualcomm.com> | ||
| 12 | --- | ||
| 13 | policy/modules/services/adbd.fc | 5 +++++ | ||
| 14 | policy/modules/services/adbd.if | 5 +++++ | ||
| 15 | policy/modules/services/adbd.te | 25 +++++++++++++++++++++++++ | ||
| 16 | 3 files changed, 35 insertions(+) | ||
| 17 | create mode 100644 policy/modules/services/adbd.fc | ||
| 18 | create mode 100644 policy/modules/services/adbd.if | ||
| 19 | create mode 100644 policy/modules/services/adbd.te | ||
| 20 | |||
| 21 | diff --git a/policy/modules/services/adbd.fc b/policy/modules/services/adbd.fc | ||
| 22 | new file mode 100644 | ||
| 23 | index 000000000..6f5bb9269 | ||
| 24 | --- /dev/null | ||
| 25 | +++ b/policy/modules/services/adbd.fc | ||
| 26 | @@ -0,0 +1,5 @@ | ||
| 27 | +/usr/bin/adbd -- gen_context(system_u:object_r:adbd_exec_t,s0) | ||
| 28 | + | ||
| 29 | + | ||
| 30 | + | ||
| 31 | + | ||
| 32 | diff --git a/policy/modules/services/adbd.if b/policy/modules/services/adbd.if | ||
| 33 | new file mode 100644 | ||
| 34 | index 000000000..612fc0106 | ||
| 35 | --- /dev/null | ||
| 36 | +++ b/policy/modules/services/adbd.if | ||
| 37 | @@ -0,0 +1,5 @@ | ||
| 38 | +## <summary>adb service.</summary> | ||
| 39 | + | ||
| 40 | + | ||
| 41 | + | ||
| 42 | + | ||
| 43 | diff --git a/policy/modules/services/adbd.te b/policy/modules/services/adbd.te | ||
| 44 | new file mode 100644 | ||
| 45 | index 000000000..f7e8ac7d0 | ||
| 46 | --- /dev/null | ||
| 47 | +++ b/policy/modules/services/adbd.te | ||
| 48 | @@ -0,0 +1,25 @@ | ||
| 49 | +policy_module(adbd) | ||
| 50 | + | ||
| 51 | +######################################## | ||
| 52 | +# | ||
| 53 | +# Declarations | ||
| 54 | +# | ||
| 55 | + | ||
| 56 | +type adbd_t; | ||
| 57 | +type adbd_exec_t; | ||
| 58 | + | ||
| 59 | +init_daemon_domain(adbd_t, adbd_exec_t) | ||
| 60 | + | ||
| 61 | +# Move adb from system_r:initrc_t to unconfined_r:unconfined_t | ||
| 62 | +unconfined_shell_domtrans(adbd_t) | ||
| 63 | + | ||
| 64 | +# Minimal Rules Required for adbd service | ||
| 65 | +allow adbd_t self:capability sys_resource; | ||
| 66 | + | ||
| 67 | +domain_interactive_fd(adbd_t) | ||
| 68 | +dev_rw_usbfs(adbd_t) | ||
| 69 | +files_read_etc_files(adbd_t) | ||
| 70 | +files_rw_etc_runtime_files(adbd_t) | ||
| 71 | +term_use_ptmx(adbd_t) | ||
| 72 | +term_use_generic_ptys(adbd_t) | ||
| 73 | + | ||
| 74 | -- | ||
| 75 | 2.43.0 | ||
| 76 | |||
diff --git a/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted_git.bbappend b/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted_git.bbappend deleted file mode 100644 index 429b3ea9b5..0000000000 --- a/meta-oe/dynamic-layers/selinux/recipes-security/refpolicy/refpolicy-targeted_git.bbappend +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | FILESEXTRAPATHS:append := "${THISDIR}/${PN}:" | ||
| 2 | |||
| 3 | SRC_URI:append = " \ | ||
| 4 | file://0001-Added-sepolicy-for-adb-service.patch \ | ||
| 5 | " | ||
diff --git a/meta-oe/licenses/LicenseRef-EEMBC-AUA b/meta-oe/licenses/LicenseRef-EEMBC-AUA new file mode 100644 index 0000000000..14e53e9eec --- /dev/null +++ b/meta-oe/licenses/LicenseRef-EEMBC-AUA | |||
| @@ -0,0 +1,100 @@ | |||
| 1 | # COREMARK® ACCEPTABLE USE AGREEMENT | ||
| 2 | |||
| 3 | This ACCEPTABLE USE AGREEMENT (this “Agreement”) is offered by Embedded Microprocessor Benchmark Consortium, a California nonprofit corporation (“Licensor”), to users of its CoreMark® software (“Licensee”) exclusively on the following terms. | ||
| 4 | |||
| 5 | Licensor offers benchmarking software (“Software”) pursuant to an open source license, but carefully controls use of its benchmarks and their associated goodwill. Licensor has registered its trademark in one of the benchmarks available through the Software, COREMARK, Ser. No. 85/487,290; Reg. No. 4,179,307 (the “Trademark”), and promotes the use of a standard metric as a benchmark for assessing the performance of embedded systems. Solely on the terms described herein, Licensee may use and display the Trademark in connection with the generation of data regarding measurement and analysis of computer and embedded system benchmarking via the Software (the “Licensed Use”). | ||
| 6 | |||
| 7 | ## Article 1 – License Grant. | ||
| 8 | 1.1. License. Subject to the terms and conditions of this Agreement, Licensor hereby grants to Licensee, and Licensee hereby accepts from Licensor, a personal, non-exclusive, royalty-free, revocable right and license to use and display the Trademark during the term of this Agreement (the “Term”), solely and exclusively in connection with the Licensed Use. During the Term, Licensee (i) shall not modify or otherwise create derivative works of the Trademark, and (ii) may use the Trademark only to the extent permitted under this License. Neither Licensee nor any affiliate or agent thereof shall otherwise use the Trademark without the prior express written consent of Licensor, which may be withheld in its sole and absolute discretion. All rights not expressly granted to Licensee hereunder shall remain the exclusive property of Licensor. | ||
| 9 | |||
| 10 | 1.2. Modifications to the Software. Licensee shall not use the Trademark in connection with any use of a modified, derivative, or otherwise altered copy of the Software. | ||
| 11 | |||
| 12 | 1.3. Licensor’s Use. Nothing in this Agreement shall preclude Licensor or any of its successors or assigns from using or permitting other entities to use the Trademark, whether or not such entity directly or indirectly competes or conflicts with Licensee’s Licensed Use in any manner. | ||
| 13 | |||
| 14 | 1.4. Term and Termination. This Agreement is perpetual unless terminated by either of the parties. Licensee may terminate this Agreement for convenience, without cause or liability, for any reason or for no reason whatsoever, upon ten (10) business days written notice. Licensor may terminate this Agreement effective immediately upon notice of breach. Upon termination, Licensee shall immediately remove all implementations of the Trademark from the Licensed Use, and delete all digitals files and records of all materials related to the Trademark. | ||
| 15 | |||
| 16 | ## Article 2 – Ownership. | ||
| 17 | 2.1. Ownership. Licensee acknowledges and agrees that Licensor is the owner of all right, title, and interest in and to the Trademark, and all such right, title, and interest shall remain with Licensor. Licensee shall not contest, dispute, challenge, oppose, or seek to cancel Licensor’s right, title, and interest in and to the Trademark. Licensee shall not prosecute any application for registration of the Trademark. Licensee shall display appropriate notices regarding ownership of the Trademark in connection with the Licensed Use. | ||
| 18 | |||
| 19 | 2.2. Goodwill. Licensee acknowledges that Licensee shall not acquire any right, title, or interest in the Trademark by virtue of this Agreement other than the license granted hereunder, and disclaims any such right, title, interest, or ownership. All goodwill and reputation generated by Licensee’s use of the Trademark shall inure to the exclusive benefit of Licensor. Licensee shall not by any act or omission use the Trademark in any manner that disparages or reflects adversely on Licensor or its Licensed Use or reputation. Licensee shall not take any action that would interfere with or prejudice Licensor’s ownership or registration of the Trademark, the validity of the Trademark or the validity of the license granted by this Agreement. If Licensor determines and notifies Licensee that any act taken in connection with the Licensed Use (i) is inaccurate, unlawful or offensive to good taste; (ii) fails to provide for proper trademark notices, or (iii) otherwise violates Licensee’s obligations under this Agreement, the license granted under this Agreement shall terminate. | ||
| 20 | |||
| 21 | ## Article 3 – Indemnification. | ||
| 22 | 3.1. Indemnification Generally. Licensee agrees to indemnify, defend, and hold harmless (collectively “indemnify” or “indemnification”) Licensor, including Licensor’s members, managers, officers, and employees (collectively “Related Persons”), from and against, and pay or reimburse Licensor and such Related Persons for, any and all third-party actions, claims, demands, proceedings, investigations, inquiries (collectively, “Claims”), and any and all liabilities, obligations, fines, deficiencies, costs, expenses, royalties, losses, and damages (including reasonable outside counsel fees and expenses) associated with such Claims, to the extent that such Claim arises out of (i) Licensee’s material breach of this Agreement, or (ii) any allegation(s) that Licensee’s actions infringe or violate any third-party intellectual property right, including without limitation, any U.S. copyright, patent, or trademark, or are otherwise found to be tortious or criminal (whether or not such indemnified person is a named party in a legal proceeding). | ||
| 23 | |||
| 24 | 3.2. Notice and Defense of Claims. Licensor shall promptly notify Licensee of any Claim for which indemnification is sought, following actual knowledge of such Claim, provided however that the failure to give such notice shall not relieve Licensee of its obligations hereunder except to the extent that Licensee is materially prejudiced by such failure. In the event that any third-party Claim is brought, Licensee shall have the right and option to undertake and control the defense of such action with counsel of its choice, provided however that (i) Licensor at its own expense may participate and appear on an equal footing with Licensee in the defense of any such Claim, (ii) Licensor may undertake and control such defense in the event of the material failure of Licensee to undertake and control the same; and (iii) the defense of any Claim relating to the intellectual property rights of Licensor or its licensors and any related counterclaims shall be solely controlled by Licensor with counsel of its choice. Licensee shall not consent to judgment or concede or settle or compromise any Claim without the prior written approval of Licensor (whose approval shall not be unreasonably withheld), unless such concession or settlement or compromise includes a full and unconditional release of Licensor and any applicable Related Persons from all liabilities in respect of such Claim. | ||
| 25 | |||
| 26 | ## Article 4 – Miscellaneous. | ||
| 27 | 4.1. Relationship of the Parties. This Agreement does not create a partnership, franchise, joint venture, agency, fiduciary, or employment relationship between the parties. | ||
| 28 | |||
| 29 | 4.2. No Third-Party Beneficiaries. Except for the rights of Related Persons under Article 3 (Indemnification), there are no third-party beneficiaries to this Agreement. | ||
| 30 | |||
| 31 | 4.3. Assignment. Licensee’s rights hereunder are non-assignable, and may not be sublicensed. | ||
| 32 | |||
| 33 | 4.4. Equitable Relief. Licensee acknowledges that the remedies available at law for any breach of this Agreement will, by their nature, be inadequate. Accordingly, Licensor may obtain injunctive relief or other equitable relief to restrain a breach or threatened breach of this Agreement or to specifically enforce this Agreement, without proving that any monetary damages have been sustained, and without the requirement of posting of a bond prior to obtaining such equitable relief. | ||
| 34 | |||
| 35 | 4.5. Governing Law. This Agreement will be interpreted, construed, and enforced in all respects in accordance with the laws of the State of California, without reference to its conflict of law principles. | ||
| 36 | |||
| 37 | 4.6. Attorneys’ Fees. If any legal action, arbitration or other proceeding is brought for the enforcement of this Agreement, or because of an alleged dispute, breach, default, or misrepresentation in connection with any of the provisions of this Agreement, the successful or prevailing party shall be entitled to recover its reasonable attorneys’ fees and other reasonable costs incurred in that action or proceeding, in addition to any other relief to which it may be entitled. | ||
| 38 | |||
| 39 | 4.7. Amendment; Waiver. This Agreement may not be amended, nor may any rights under it be waived, except in writing by Licensor. | ||
| 40 | |||
| 41 | 4.8. Severability. If any provision of this Agreement is held by a court of competent jurisdiction to be contrary to law, the provision shall be modified by the court and interpreted so as best to accomplish the objectives of the original provision to the fullest extent | ||
| 42 | permitted by law, and the remaining provisions of this Agreement shall remain in effect. | ||
| 43 | |||
| 44 | 4.9. Entire Agreement. This Agreement constitutes the entire agreement between the parties and supersedes all prior and contemporaneous agreements, proposals or representations, written or oral, concerning its subject matter. | ||
| 45 | |||
| 46 | |||
| 47 | # Apache License | ||
| 48 | |||
| 49 | Version 2.0, January 2004 | ||
| 50 | |||
| 51 | http://www.apache.org/licenses/ | ||
| 52 | |||
| 53 | ## TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||
| 54 | |||
| 55 | 1. Definitions. | ||
| 56 | |||
| 57 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. | ||
| 58 | |||
| 59 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. | ||
| 60 | |||
| 61 | "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. | ||
| 62 | |||
| 63 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. | ||
| 64 | |||
| 65 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. | ||
| 66 | |||
| 67 | "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. | ||
| 68 | |||
| 69 | "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). | ||
| 70 | |||
| 71 | "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. | ||
| 72 | |||
| 73 | "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." | ||
| 74 | |||
| 75 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. | ||
| 76 | |||
| 77 | 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. | ||
| 78 | |||
| 79 | 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. | ||
| 80 | |||
| 81 | 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: | ||
| 82 | |||
| 83 | You must give any other recipients of the Work or Derivative Works a copy of this License; and | ||
| 84 | You must cause any modified files to carry prominent notices stating that You changed the files; and | ||
| 85 | You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and | ||
| 86 | If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. | ||
| 87 | |||
| 88 | You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. | ||
| 89 | |||
| 90 | 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. | ||
| 91 | |||
| 92 | 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. | ||
| 93 | |||
| 94 | 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. | ||
| 95 | |||
| 96 | 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. | ||
| 97 | |||
| 98 | 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. | ||
| 99 | |||
| 100 | END OF TERMS AND CONDITIONS | ||
diff --git a/meta-oe/recipes-benchmark/coremark/coremark_git.bb b/meta-oe/recipes-benchmark/coremark/coremark_git.bb new file mode 100644 index 0000000000..f4974b754f --- /dev/null +++ b/meta-oe/recipes-benchmark/coremark/coremark_git.bb | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | SUMMARY = "EEMBC CoreMark CPU benchmark" | ||
| 2 | DESCRIPTION = "CoreMark is a CPU benchmark program" | ||
| 3 | HOMEPAGE = "https://www.eembc.org/coremark/" | ||
| 4 | LICENSE = "Apache-2.0 & LicenseRef-EEMBC-AUA" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=0a18b17ae63deaa8a595035f668aebe1" | ||
| 6 | |||
| 7 | SRC_URI = "git://github.com/eembc/coremark.git;branch=main;protocol=https" | ||
| 8 | SRCREV = "1f483d5b8316753a742cbf5590caf5bd0a4e4777" | ||
| 9 | |||
| 10 | inherit pkgconfig | ||
| 11 | |||
| 12 | do_configure[noexec] = "1" | ||
| 13 | |||
| 14 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
| 15 | |||
| 16 | do_compile() { | ||
| 17 | oe_runmake compile | ||
| 18 | } | ||
| 19 | |||
| 20 | do_install() { | ||
| 21 | install -d ${D}${bindir} | ||
| 22 | install -m 0755 ${S}/coremark.exe ${D}${bindir}/coremark | ||
| 23 | } | ||
diff --git a/meta-oe/recipes-benchmark/fio/fio/0001-fix-musl-builds.patch b/meta-oe/recipes-benchmark/fio/fio/0001-fix-musl-builds.patch deleted file mode 100644 index 6c0d69d6e8..0000000000 --- a/meta-oe/recipes-benchmark/fio/fio/0001-fix-musl-builds.patch +++ /dev/null | |||
| @@ -1,38 +0,0 @@ | |||
| 1 | From ccce76d2850d6e52da3d7986c950af068fbfe0fd Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Arthur Gautier <arthur.gautier@arista.com> | ||
| 3 | Date: Sat, 13 Dec 2025 20:07:11 -0800 | ||
| 4 | Subject: [PATCH] fix musl builds | ||
| 5 | |||
| 6 | This commit fixes the build on musl which fails with the following | ||
| 7 | error: | ||
| 8 | ``` | ||
| 9 | oslib/linux-blkzoned.c: In function 'blkzoned_move_zone_wp': | ||
| 10 | oslib/linux-blkzoned.c:389:37: error: 'FALLOC_FL_ZERO_RANGE' undeclared (first use in this function) | ||
| 11 | 389 | ret = fallocate(fd, FALLOC_FL_ZERO_RANGE, z->wp, length); | ||
| 12 | | ^~~~~~~~~~~~~~~~~~~~ | ||
| 13 | oslib/linux-blkzoned.c:389:37: note: each undeclared identifier is reported only once for each function it appears in | ||
| 14 | make: *** [Makefile:501: oslib/linux-blkzoned.o] Error 1 | ||
| 15 | make: *** Waiting for unfinished jobs.... | ||
| 16 | ``` | ||
| 17 | |||
| 18 | Upstream-Status: Backport [https://github.com/axboe/fio/commit/ccce76d2850d6e52da3d7986c950af068fbfe0fd] | ||
| 19 | Signed-off-by: Arthur Gautier <arthur.gautier@arista.com> | ||
| 20 | --- | ||
| 21 | oslib/linux-blkzoned.c | 1 + | ||
| 22 | 1 file changed, 1 insertion(+) | ||
| 23 | |||
| 24 | diff --git a/oslib/linux-blkzoned.c b/oslib/linux-blkzoned.c | ||
| 25 | index 78e25fca..c45ef623 100644 | ||
| 26 | --- a/oslib/linux-blkzoned.c | ||
| 27 | +++ b/oslib/linux-blkzoned.c | ||
| 28 | @@ -25,6 +25,7 @@ | ||
| 29 | #ifndef BLKFINISHZONE | ||
| 30 | #define BLKFINISHZONE _IOW(0x12, 136, struct blk_zone_range) | ||
| 31 | #endif | ||
| 32 | +#include <linux/falloc.h> | ||
| 33 | |||
| 34 | /* | ||
| 35 | * If the uapi headers installed on the system lacks zone capacity support, | ||
| 36 | -- | ||
| 37 | 2.51.0 | ||
| 38 | |||
diff --git a/meta-oe/recipes-benchmark/fio/fio/CVE-2025-10823.patch b/meta-oe/recipes-benchmark/fio/fio/CVE-2025-10823.patch deleted file mode 100644 index c5813273c7..0000000000 --- a/meta-oe/recipes-benchmark/fio/fio/CVE-2025-10823.patch +++ /dev/null | |||
| @@ -1,37 +0,0 @@ | |||
| 1 | From 6a39dfaffdb8a6c2080eec0dc7fb1ee532d54025 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jens Axboe <axboe@kernel.dk> | ||
| 3 | Date: Tue, 23 Sep 2025 11:50:46 -0600 | ||
| 4 | Subject: [PATCH] options: check for NULL input string and fail | ||
| 5 | |||
| 6 | Waste of time busy work. | ||
| 7 | |||
| 8 | Link: https://github.com/axboe/fio/issues/1982 | ||
| 9 | |||
| 10 | CVE: CVE-2025-10823 | ||
| 11 | |||
| 12 | Upstream-Status: Backport | ||
| 13 | https://github.com/axboe/fio/commit/6a39dfaffdb8a6c2080eec0dc7fb1ee532d54025 | ||
| 14 | |||
| 15 | Signed-off-by: Jens Axboe <axboe@kernel.dk> | ||
| 16 | Signed-off-by: Saravanan <saravanan.kadambathursubramaniyam@windriver.com> | ||
| 17 | --- | ||
| 18 | options.c | 3 +++ | ||
| 19 | 1 file changed, 3 insertions(+) | ||
| 20 | |||
| 21 | diff --git a/options.c b/options.c | ||
| 22 | index c35878f..562c5bc 100644 | ||
| 23 | --- a/options.c | ||
| 24 | +++ b/options.c | ||
| 25 | @@ -1616,6 +1616,9 @@ static int str_buffer_pattern_cb(void *data, const char *input) | ||
| 26 | struct thread_data *td = cb_data_to_td(data); | ||
| 27 | int ret; | ||
| 28 | |||
| 29 | + if (!input) | ||
| 30 | + return 1; | ||
| 31 | + | ||
| 32 | /* FIXME: for now buffer pattern does not support formats */ | ||
| 33 | ret = parse_and_fill_pattern_alloc(input, strlen(input), | ||
| 34 | &td->o.buffer_pattern, NULL, NULL, NULL); | ||
| 35 | -- | ||
| 36 | 2.48.1 | ||
| 37 | |||
diff --git a/meta-oe/recipes-benchmark/fio/fio_3.41.bb b/meta-oe/recipes-benchmark/fio/fio_3.42.bb index 3f03c41f22..dac7548d08 100644 --- a/meta-oe/recipes-benchmark/fio/fio_3.41.bb +++ b/meta-oe/recipes-benchmark/fio/fio_3.42.bb | |||
| @@ -24,15 +24,11 @@ PACKAGECONFIG[numa] = ",--disable-numa,numactl" | |||
| 24 | 24 | ||
| 25 | SRC_URI = " \ | 25 | SRC_URI = " \ |
| 26 | git://git.kernel.dk/fio.git;branch=master;tag=${BP} \ | 26 | git://git.kernel.dk/fio.git;branch=master;tag=${BP} \ |
| 27 | file://0001-fix-musl-builds.patch \ | ||
| 28 | " | 27 | " |
| 29 | SRCREV = "ed675d3477a70a42d2e757b713f6c7125a27cdca" | 28 | SRCREV = "ab77643023f5d7e3c1b71a7576a564f368bf577a" |
| 30 | |||
| 31 | SRC_URI += "file://CVE-2025-10823.patch" | ||
| 32 | 29 | ||
| 33 | UPSTREAM_CHECK_GITTAGREGEX = "fio-(?P<pver>\d+(\.\d+)+)" | 30 | UPSTREAM_CHECK_GITTAGREGEX = "fio-(?P<pver>\d+(\.\d+)+)" |
| 34 | 31 | ||
| 35 | |||
| 36 | # avoids build breaks when using no-static-libs.inc | 32 | # avoids build breaks when using no-static-libs.inc |
| 37 | DISABLE_STATIC = "" | 33 | DISABLE_STATIC = "" |
| 38 | 34 | ||
| @@ -50,3 +46,4 @@ do_install() { | |||
| 50 | } | 46 | } |
| 51 | 47 | ||
| 52 | CVE_STATUS[CVE-2025-10824] = "disputed: Maintainer could not reproduce the issue, issue is closed without change." | 48 | CVE_STATUS[CVE-2025-10824] = "disputed: Maintainer could not reproduce the issue, issue is closed without change." |
| 49 | CVE_STATUS[CVE-2026-30656] = "fixed-version: fixed in 3.42" | ||
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_3.20.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_3.21.bb index 7d4d6beeb8..de266551ae 100644 --- a/meta-oe/recipes-benchmark/iperf3/iperf3_3.20.bb +++ b/meta-oe/recipes-benchmark/iperf3/iperf3_3.21.bb | |||
| @@ -10,14 +10,14 @@ SECTION = "console/network" | |||
| 10 | BUGTRACKER = "https://github.com/esnet/iperf/issues" | 10 | BUGTRACKER = "https://github.com/esnet/iperf/issues" |
| 11 | 11 | ||
| 12 | LICENSE = "BSD-3-Clause" | 12 | LICENSE = "BSD-3-Clause" |
| 13 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b51332d7f45357a9410daa9a14a3655f" | 13 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f2eb355b6d3b9d63b6b7a861cdc62440" |
| 14 | 14 | ||
| 15 | SRC_URI = "git://github.com/esnet/iperf.git;branch=master;protocol=https \ | 15 | SRC_URI = "git://github.com/esnet/iperf.git;branch=master;protocol=https;tag=${PV} \ |
| 16 | file://0002-Remove-pg-from-profile_CFLAGS.patch \ | 16 | file://0002-Remove-pg-from-profile_CFLAGS.patch \ |
| 17 | file://0001-configure.ac-check-for-CPP-prog.patch \ | 17 | file://0001-configure.ac-check-for-CPP-prog.patch \ |
| 18 | " | 18 | " |
| 19 | 19 | ||
| 20 | SRCREV = "0711330bacfaf1c2a804be66e7ecc26f481ede5d" | 20 | SRCREV = "d39cf41526626b4e5a130f115d931cd6cbdffc19" |
| 21 | 21 | ||
| 22 | RDEPENDS:${PN} = "libgcc" | 22 | RDEPENDS:${PN} = "libgcc" |
| 23 | 23 | ||
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb index 89ce11f6e4..dd2fbbc7cd 100644 --- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb +++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_2.24.bb | |||
| @@ -31,7 +31,7 @@ SRC_URI = " \ | |||
| 31 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" | 31 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" |
| 32 | 32 | ||
| 33 | 33 | ||
| 34 | COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" | 34 | COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|riscv64|aarch64|arm).*-linux*" |
| 35 | 35 | ||
| 36 | LIBARGS = "LIB32=${baselib} LIB64=${baselib}" | 36 | LIBARGS = "LIB32=${baselib} LIB64=${baselib}" |
| 37 | LIBHUGETLBFS_ARCH = "${TARGET_ARCH}" | 37 | LIBHUGETLBFS_ARCH = "${TARGET_ARCH}" |
diff --git a/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb b/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb index 198552e5c6..3154db2705 100644 --- a/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb +++ b/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb | |||
| @@ -15,7 +15,7 @@ SRCREV = "ebf1c90da05dea94648165e4f149abc20c979557" | |||
| 15 | 15 | ||
| 16 | 16 | ||
| 17 | COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64).*-linux*" | 17 | COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64).*-linux*" |
| 18 | 18 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | |
| 19 | EXTRA_OECONF += "--enable-largefile --with-system-luajit --with-system-ck --without-gcc-arch --with-lib-prefix=no" | 19 | EXTRA_OECONF += "--enable-largefile --with-system-luajit --with-system-ck --without-gcc-arch --with-lib-prefix=no" |
| 20 | PACKAGECONFIG ??= "" | 20 | PACKAGECONFIG ??= "" |
| 21 | PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio," | 21 | PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio," |
diff --git a/meta-oe/recipes-bsp/bolt/bolt_0.9.10.bb b/meta-oe/recipes-bsp/bolt/bolt_0.9.11.bb index 3d1686bcf6..924964f6b6 100644 --- a/meta-oe/recipes-bsp/bolt/bolt_0.9.10.bb +++ b/meta-oe/recipes-bsp/bolt/bolt_0.9.11.bb | |||
| @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | |||
| 7 | DEPENDS = "udev polkit dbus" | 7 | DEPENDS = "udev polkit dbus" |
| 8 | REQUIRED_DISTRO_FEATURES = "polkit" | 8 | REQUIRED_DISTRO_FEATURES = "polkit" |
| 9 | 9 | ||
| 10 | SRC_URI = "git://gitlab.freedesktop.org/bolt/bolt.git;protocol=https;branch=master" | 10 | SRC_URI = "git://gitlab.freedesktop.org/bolt/bolt.git;protocol=https;branch=master;tag=${PV}" |
| 11 | SRCREV = "c0d4cb2f4399e86417907a37c0d8ef3bb9fb406f" | 11 | SRCREV = "9d1d66380353dab94c28466f34adb2ba6c7e4393" |
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | CVE_PRODUCT = "freedesktop:bolt" | 14 | CVE_PRODUCT = "freedesktop:bolt" |
diff --git a/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_git.bb b/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_1.0.0.bb index daa32a8d48..bd1686e9a9 100644 --- a/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_git.bb +++ b/meta-oe/recipes-connectivity/libcppconnman/libcppconnman_1.0.0.bb | |||
| @@ -4,8 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a87a7059d580c45495c1218f53e3610d" | |||
| 4 | 4 | ||
| 5 | SECTION = "libs" | 5 | SECTION = "libs" |
| 6 | 6 | ||
| 7 | SRC_URI = "git://github.com/amarula/libcppconnman.git;protocol=https;branch=main" | 7 | SRC_URI = "git://github.com/amarula/libcppconnman.git;protocol=https;branch=main;tag=v${PV}" |
| 8 | SRCREV = "d89262c2cd7336da8ba9eb06228d422847fe4b20" | 8 | SRCREV = "84fa99d3ba0908ff9debd9191c4eddabf08079d4" |
| 9 | 9 | ||
| 10 | inherit cmake pkgconfig | 10 | inherit cmake pkgconfig |
| 11 | 11 | ||
diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.8.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.9.bb index 1e9d9d74f1..63c8a0bb7d 100644 --- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.8.bb +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.16.9.bb | |||
| @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" | |||
| 7 | DEPENDS = "zlib curl libsigc++-2.0 openssl cppunit" | 7 | DEPENDS = "zlib curl libsigc++-2.0 openssl cppunit" |
| 8 | 8 | ||
| 9 | SRC_URI = "git://github.com/rakshasa/libtorrent;branch=master;protocol=https;tag=v${PV}" | 9 | SRC_URI = "git://github.com/rakshasa/libtorrent;branch=master;protocol=https;tag=v${PV}" |
| 10 | SRCREV = "1534b1563f464fd1636c0b55e1591b72f7d8ab6b" | 10 | SRCREV = "e88d4e7854abacd3036a0dec11927c1276c1e6b2" |
| 11 | 11 | ||
| 12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" | 12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" |
| 13 | 13 | ||
diff --git a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb index 02843be7c3..a18f88390e 100644 --- a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb +++ b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.5.8.bb | |||
| @@ -22,7 +22,7 @@ PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libeve | |||
| 22 | PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev" | 22 | PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev" |
| 23 | PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv" | 23 | PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv" |
| 24 | PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON," | 24 | PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON," |
| 25 | PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl" | 25 | PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl libcap" |
| 26 | PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON," | 26 | PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON," |
| 27 | PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd" | 27 | PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd" |
| 28 | PACKAGECONFIG[examples] = "-DLWS_WITH_MINIMAL_EXAMPLES=ON,-DLWS_WITH_MINIMAL_EXAMPLES=OFF" | 28 | PACKAGECONFIG[examples] = "-DLWS_WITH_MINIMAL_EXAMPLES=ON,-DLWS_WITH_MINIMAL_EXAMPLES=OFF" |
| @@ -34,6 +34,7 @@ python __anonymous() { | |||
| 34 | 34 | ||
| 35 | EXTRA_OECMAKE += " \ | 35 | EXTRA_OECMAKE += " \ |
| 36 | -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ | 36 | -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ |
| 37 | -DLWS_WITHOUT_TESTAPPS=ON \ | ||
| 37 | " | 38 | " |
| 38 | 39 | ||
| 39 | do_compile:prepend() { | 40 | do_compile:prepend() { |
| @@ -41,6 +42,8 @@ do_compile:prepend() { | |||
| 41 | } | 42 | } |
| 42 | 43 | ||
| 43 | do_install:append() { | 44 | do_install:append() { |
| 45 | sed -i -e 's|${STAGING_BASELIBDIR}/libcap.so|cap|g' ${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake | ||
| 46 | sed -i -e 's|${STAGING_BASELIBDIR}/libcap.so|cap|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake | ||
| 44 | sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake | 47 | sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake |
| 45 | sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake | 48 | sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake |
| 46 | sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake | 49 | sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake |
diff --git a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.8.bb b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.9.bb index 9fc6f1e5e9..7ce38e9597 100644 --- a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.8.bb +++ b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.16.9.bb | |||
| @@ -7,7 +7,7 @@ DEPENDS = "autoconf-archive libsigc++-2.0 curl cppunit libtool libtorrent ncurse | |||
| 7 | 7 | ||
| 8 | SRC_URI = "git://github.com/rakshasa/rtorrent;branch=master;protocol=https;tag=v${PV}" | 8 | SRC_URI = "git://github.com/rakshasa/rtorrent;branch=master;protocol=https;tag=v${PV}" |
| 9 | 9 | ||
| 10 | SRCREV = "39f186e523f6ea2e72a3715a72d6e9ae4081ed84" | 10 | SRCREV = "b78fd9aef5d0060fe7bd8447cace38606e03f41c" |
| 11 | 11 | ||
| 12 | inherit autotools pkgconfig | 12 | inherit autotools pkgconfig |
| 13 | 13 | ||
diff --git a/meta-oe/recipes-connectivity/ttyd/ttyd_1.7.7.bb b/meta-oe/recipes-connectivity/ttyd/ttyd_1.7.7.bb new file mode 100644 index 0000000000..8f4a1d3211 --- /dev/null +++ b/meta-oe/recipes-connectivity/ttyd/ttyd_1.7.7.bb | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | SUMMARY = "ttyd is a simple command-line tool for sharing terminal over the web." | ||
| 2 | SECTION = "console/network" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4fe5f001c65f923d49dc96cce96ce935" | ||
| 5 | |||
| 6 | SRC_URI = "git://github.com/tsl0922/ttyd.git;protocol=https;branch=main;tag=${PV}" | ||
| 7 | SRCREV = "40e79c706be14029b391f369bee6613c31667abb" | ||
| 8 | |||
| 9 | inherit cmake | ||
| 10 | |||
| 11 | DEPENDS = "libuv json-c zlib libwebsockets" | ||
diff --git a/meta-oe/recipes-core/images/meta-oe-image-ptest.bb b/meta-oe/recipes-core/images/meta-oe-image-ptest.bb index 6361562de4..c9aa334d39 100644 --- a/meta-oe/recipes-core/images/meta-oe-image-ptest.bb +++ b/meta-oe/recipes-core/images/meta-oe-image-ptest.bb | |||
| @@ -28,6 +28,7 @@ IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-poco = "1024288" | |||
| 28 | QB_MEM = "-m 1024" | 28 | QB_MEM = "-m 1024" |
| 29 | # If a particular ptest needs more memory, it can be customized: | 29 | # If a particular ptest needs more memory, it can be customized: |
| 30 | #QB_MEM:virtclass-mcextend-<pn> = "-m 4096" | 30 | #QB_MEM:virtclass-mcextend-<pn> = "-m 4096" |
| 31 | QB_MEM:virtclass-mcextend-tbb = "-m 2048" | ||
| 31 | 32 | ||
| 32 | TEST_SUITES = "ping ssh parselogs ptest" | 33 | TEST_SUITES = "ping ssh parselogs ptest" |
| 33 | 34 | ||
diff --git a/meta-oe/recipes-core/minizip/minizip/0001-Add-dependency-to-ints.h-in-minizip-Makefile.am.patch b/meta-oe/recipes-core/minizip/minizip/0001-Add-dependency-to-ints.h-in-minizip-Makefile.am.patch new file mode 100644 index 0000000000..1d05989c74 --- /dev/null +++ b/meta-oe/recipes-core/minizip/minizip/0001-Add-dependency-to-ints.h-in-minizip-Makefile.am.patch | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | From cb14dc9ade3759352417a300e6c2ed73268f1d97 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Rui Chen <rui@chenrui.dev> | ||
| 3 | Date: Tue, 17 Feb 2026 10:48:39 -0500 | ||
| 4 | Subject: [PATCH] Add dependency to ints.h in minizip Makefile.am. | ||
| 5 | |||
| 6 | So that ints.h is part of the installation. | ||
| 7 | |||
| 8 | Upstream-Status: Backport | ||
| 9 | Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> | ||
| 10 | --- | ||
| 11 | contrib/minizip/Makefile.am | 1 + | ||
| 12 | 1 file changed, 1 insertion(+) | ||
| 13 | |||
| 14 | diff --git a/contrib/minizip/Makefile.am b/contrib/minizip/Makefile.am | ||
| 15 | index d343011..b7dea4f 100644 | ||
| 16 | --- a/contrib/minizip/Makefile.am | ||
| 17 | +++ b/contrib/minizip/Makefile.am | ||
| 18 | @@ -27,6 +27,7 @@ libminizip_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 -lz | ||
| 19 | minizip_includedir = $(includedir)/minizip | ||
| 20 | minizip_include_HEADERS = \ | ||
| 21 | crypt.h \ | ||
| 22 | + ints.h \ | ||
| 23 | ioapi.h \ | ||
| 24 | mztools.h \ | ||
| 25 | unzip.h \ | ||
diff --git a/meta-oe/recipes-core/minizip/minizip_1.3.1.bb b/meta-oe/recipes-core/minizip/minizip_1.3.2.bb index 51a74d039b..95a605ecf4 100644 --- a/meta-oe/recipes-core/minizip/minizip_1.3.1.bb +++ b/meta-oe/recipes-core/minizip/minizip_1.3.2.bb | |||
| @@ -4,15 +4,17 @@ library which is used by many different programs." | |||
| 4 | HOMEPAGE = "http://www.winimage.com/zLibDll/minizip.html" | 4 | HOMEPAGE = "http://www.winimage.com/zLibDll/minizip.html" |
| 5 | SECTION = "libs" | 5 | SECTION = "libs" |
| 6 | LICENSE = "Zlib" | 6 | LICENSE = "Zlib" |
| 7 | LIC_FILES_CHKSUM = "file://zip.h;beginline=14;endline=30;md5=8eaa8535a3a1a2296b303f40f75385e7" | 7 | LIC_FILES_CHKSUM = "file://zip.h;beginline=14;endline=30;md5=b7d2930a7332b2bc68fc1a7fdc5ba775" |
| 8 | 8 | ||
| 9 | GITHUB_BASE_URI ?= "https://github.com/madler/zlib/releases/" | 9 | GITHUB_BASE_URI ?= "https://github.com/madler/zlib/releases/" |
| 10 | 10 | ||
| 11 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/zlib-${PV}.tar.xz" | 11 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/zlib-${PV}.tar.xz \ |
| 12 | file://0001-Add-dependency-to-ints.h-in-minizip-Makefile.am.patch;patchdir=../.. \ | ||
| 13 | " | ||
| 12 | 14 | ||
| 13 | S = "${UNPACKDIR}/zlib-${PV}/contrib/minizip" | 15 | S = "${UNPACKDIR}/zlib-${PV}/contrib/minizip" |
| 14 | 16 | ||
| 15 | SRC_URI[sha256sum] = "38ef96b8dfe510d42707d9c781877914792541133e1870841463bfa73f883e32" | 17 | SRC_URI[sha256sum] = "d7a0654783a4da529d1bb793b7ad9c3318020af77667bcae35f95d0e42a792f3" |
| 16 | 18 | ||
| 17 | PACKAGECONFIG ??= "demos" | 19 | PACKAGECONFIG ??= "demos" |
| 18 | PACKAGECONFIG[demos] = "--enable-demos=yes,,," | 20 | PACKAGECONFIG[demos] = "--enable-demos=yes,,," |
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb index c74114ee61..7c2df00207 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb | |||
| @@ -836,17 +836,15 @@ RDEPENDS:packagegroup-meta-oe-support = "\ | |||
| 836 | nss \ | 836 | nss \ |
| 837 | numactl \ | 837 | numactl \ |
| 838 | onig \ | 838 | onig \ |
| 839 | openct \ | ||
| 840 | opencv \ | 839 | opencv \ |
| 841 | openldap \ | 840 | openldap \ |
| 842 | opensc \ | 841 | opensc \ |
| 843 | p910nd \ | 842 | p910nd \ |
| 844 | pcp \ | ||
| 845 | pcsc-lite \ | 843 | pcsc-lite \ |
| 846 | pcsc-tools \ | 844 | pcsc-tools \ |
| 847 | picocom \ | 845 | picocom \ |
| 848 | pidgin \ | 846 | pidgin \ |
| 849 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pidgin-otr", "", d)} \ | 847 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "pcp pidgin-otr", "", d)} \ |
| 850 | pidgin-sipe \ | 848 | pidgin-sipe \ |
| 851 | pngcheck \ | 849 | pngcheck \ |
| 852 | poco \ | 850 | poco \ |
| @@ -862,7 +860,6 @@ RDEPENDS:packagegroup-meta-oe-support = "\ | |||
| 862 | rdfind \ | 860 | rdfind \ |
| 863 | re2 \ | 861 | re2 \ |
| 864 | read-edid \ | 862 | read-edid \ |
| 865 | remmina \ | ||
| 866 | rsnapshot \ | 863 | rsnapshot \ |
| 867 | sassc \ | 864 | sassc \ |
| 868 | satyr \ | 865 | satyr \ |
| @@ -876,7 +873,7 @@ RDEPENDS:packagegroup-meta-oe-support = "\ | |||
| 876 | srecord \ | 873 | srecord \ |
| 877 | ssiapi \ | 874 | ssiapi \ |
| 878 | stm32flash \ | 875 | stm32flash \ |
| 879 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "synergy", "", d)} \ | 876 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "remmina synergy", "", d)} \ |
| 880 | syslog-ng \ | 877 | syslog-ng \ |
| 881 | tbb \ | 878 | tbb \ |
| 882 | thin-provisioning-tools \ | 879 | thin-provisioning-tools \ |
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-missing_type.h-add-comparison_fn_t.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-missing_type.h-add-comparison_fn_t.patch deleted file mode 100644 index 2aa5dee6b5..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-missing_type.h-add-comparison_fn_t.patch +++ /dev/null | |||
| @@ -1,61 +0,0 @@ | |||
| 1 | From 01195eb9f7d59139fb45df506ac6b3968c14a57f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 13:55:12 +0800 | ||
| 4 | Subject: [PATCH 01/22] missing_type.h: add comparison_fn_t | ||
| 5 | |||
| 6 | Make it work with musl where comparison_fn_t and is not provided. | ||
| 7 | |||
| 8 | Upstream-Status: Inappropriate [musl specific] | ||
| 9 | |||
| 10 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
| 11 | [Rebased for v244] | ||
| 12 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 13 | [Rebased for v242] | ||
| 14 | Signed-off-by: Andrej Valek <andrej.valek@siemens.com> | ||
| 15 | [Rebased for v250, Drop __compare_fn_t] | ||
| 16 | Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com> | ||
| 17 | --- | ||
| 18 | src/basic/missing_type.h | 4 ++++ | ||
| 19 | src/basic/sort-util.h | 1 + | ||
| 20 | src/libsystemd/sd-journal/catalog.c | 1 + | ||
| 21 | 3 files changed, 6 insertions(+) | ||
| 22 | |||
| 23 | diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h | ||
| 24 | index f6233090a9..6c0456349d 100644 | ||
| 25 | --- a/src/basic/missing_type.h | ||
| 26 | +++ b/src/basic/missing_type.h | ||
| 27 | @@ -10,3 +10,7 @@ | ||
| 28 | #if !HAVE_CHAR16_T | ||
| 29 | #define char16_t uint16_t | ||
| 30 | #endif | ||
| 31 | + | ||
| 32 | +#ifndef __GLIBC__ | ||
| 33 | +typedef int (*comparison_fn_t)(const void *, const void *); | ||
| 34 | +#endif | ||
| 35 | diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h | ||
| 36 | index 9c818bd747..ef10c8be2c 100644 | ||
| 37 | --- a/src/basic/sort-util.h | ||
| 38 | +++ b/src/basic/sort-util.h | ||
| 39 | @@ -4,6 +4,7 @@ | ||
| 40 | #include <stdlib.h> | ||
| 41 | |||
| 42 | #include "macro.h" | ||
| 43 | +#include "missing_type.h" | ||
| 44 | |||
| 45 | /* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the | ||
| 46 | * external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that | ||
| 47 | diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c | ||
| 48 | index ae91534198..7f67eea38b 100644 | ||
| 49 | --- a/src/libsystemd/sd-journal/catalog.c | ||
| 50 | +++ b/src/libsystemd/sd-journal/catalog.c | ||
| 51 | @@ -28,6 +28,7 @@ | ||
| 52 | #include "string-util.h" | ||
| 53 | #include "strv.h" | ||
| 54 | #include "tmpfile-util.h" | ||
| 55 | +#include "missing_type.h" | ||
| 56 | |||
| 57 | const char * const catalog_file_dirs[] = { | ||
| 58 | "/usr/local/lib/systemd/catalog/", | ||
| 59 | -- | ||
| 60 | 2.34.1 | ||
| 61 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch deleted file mode 100644 index 900a931632..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch +++ /dev/null | |||
| @@ -1,434 +0,0 @@ | |||
| 1 | From 872b72739e62123867ce6c4f82aa37de24cc3f75 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
| 3 | Date: Sat, 22 May 2021 20:26:24 +0200 | ||
| 4 | Subject: [PATCH 02/22] add fallback parse_printf_format implementation | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [musl specific] | ||
| 7 | |||
| 8 | Signed-off-by: Emil Renner Berthing <systemd@esmil.dk> | ||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 11 | [rebased for systemd 243] | ||
| 12 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 13 | --- | ||
| 14 | meson.build | 1 + | ||
| 15 | src/basic/meson.build | 5 + | ||
| 16 | src/basic/parse-printf-format.c | 273 +++++++++++++++++++++++ | ||
| 17 | src/basic/parse-printf-format.h | 57 +++++ | ||
| 18 | src/basic/stdio-util.h | 2 +- | ||
| 19 | src/libsystemd/sd-journal/journal-send.c | 2 +- | ||
| 20 | 6 files changed, 338 insertions(+), 2 deletions(-) | ||
| 21 | create mode 100644 src/basic/parse-printf-format.c | ||
| 22 | create mode 100644 src/basic/parse-printf-format.h | ||
| 23 | |||
| 24 | diff --git a/meson.build b/meson.build | ||
| 25 | index 7419e2b0b0..01fd3ffc19 100644 | ||
| 26 | --- a/meson.build | ||
| 27 | +++ b/meson.build | ||
| 28 | @@ -725,6 +725,7 @@ endif | ||
| 29 | foreach header : ['crypt.h', | ||
| 30 | 'linux/memfd.h', | ||
| 31 | 'linux/vm_sockets.h', | ||
| 32 | + 'printf.h', | ||
| 33 | 'sys/auxv.h', | ||
| 34 | 'threads.h', | ||
| 35 | 'valgrind/memcheck.h', | ||
| 36 | diff --git a/src/basic/meson.build b/src/basic/meson.build | ||
| 37 | index d7450d8b44..c3e3daf4bd 100644 | ||
| 38 | --- a/src/basic/meson.build | ||
| 39 | +++ b/src/basic/meson.build | ||
| 40 | @@ -183,6 +183,11 @@ endforeach | ||
| 41 | |||
| 42 | basic_sources += generated_gperf_headers | ||
| 43 | |||
| 44 | +if conf.get('HAVE_PRINTF_H') != 1 | ||
| 45 | + basic_sources += [files('parse-printf-format.c')] | ||
| 46 | +endif | ||
| 47 | + | ||
| 48 | + | ||
| 49 | ############################################################ | ||
| 50 | |||
| 51 | arch_list = [ | ||
| 52 | diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c | ||
| 53 | new file mode 100644 | ||
| 54 | index 0000000000..49437e5445 | ||
| 55 | --- /dev/null | ||
| 56 | +++ b/src/basic/parse-printf-format.c | ||
| 57 | @@ -0,0 +1,273 @@ | ||
| 58 | +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ | ||
| 59 | + | ||
| 60 | +/*** | ||
| 61 | + This file is part of systemd. | ||
| 62 | + | ||
| 63 | + Copyright 2014 Emil Renner Berthing <systemd@esmil.dk> | ||
| 64 | + | ||
| 65 | + With parts from the musl C library | ||
| 66 | + Copyright 2005-2014 Rich Felker, et al. | ||
| 67 | + | ||
| 68 | + systemd is free software; you can redistribute it and/or modify it | ||
| 69 | + under the terms of the GNU Lesser General Public License as published by | ||
| 70 | + the Free Software Foundation; either version 2.1 of the License, or | ||
| 71 | + (at your option) any later version. | ||
| 72 | + | ||
| 73 | + systemd is distributed in the hope that it will be useful, but | ||
| 74 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 75 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 76 | + Lesser General Public License for more details. | ||
| 77 | + | ||
| 78 | + You should have received a copy of the GNU Lesser General Public License | ||
| 79 | + along with systemd; If not, see <http://www.gnu.org/licenses/>. | ||
| 80 | +***/ | ||
| 81 | + | ||
| 82 | +#include <stddef.h> | ||
| 83 | +#include <string.h> | ||
| 84 | + | ||
| 85 | +#include "parse-printf-format.h" | ||
| 86 | + | ||
| 87 | +static const char *consume_nonarg(const char *fmt) | ||
| 88 | +{ | ||
| 89 | + do { | ||
| 90 | + if (*fmt == '\0') | ||
| 91 | + return fmt; | ||
| 92 | + } while (*fmt++ != '%'); | ||
| 93 | + return fmt; | ||
| 94 | +} | ||
| 95 | + | ||
| 96 | +static const char *consume_num(const char *fmt) | ||
| 97 | +{ | ||
| 98 | + for (;*fmt >= '0' && *fmt <= '9'; fmt++) | ||
| 99 | + /* do nothing */; | ||
| 100 | + return fmt; | ||
| 101 | +} | ||
| 102 | + | ||
| 103 | +static const char *consume_argn(const char *fmt, size_t *arg) | ||
| 104 | +{ | ||
| 105 | + const char *p = fmt; | ||
| 106 | + size_t val = 0; | ||
| 107 | + | ||
| 108 | + if (*p < '1' || *p > '9') | ||
| 109 | + return fmt; | ||
| 110 | + do { | ||
| 111 | + val = 10*val + (*p++ - '0'); | ||
| 112 | + } while (*p >= '0' && *p <= '9'); | ||
| 113 | + | ||
| 114 | + if (*p != '$') | ||
| 115 | + return fmt; | ||
| 116 | + *arg = val; | ||
| 117 | + return p+1; | ||
| 118 | +} | ||
| 119 | + | ||
| 120 | +static const char *consume_flags(const char *fmt) | ||
| 121 | +{ | ||
| 122 | + while (1) { | ||
| 123 | + switch (*fmt) { | ||
| 124 | + case '#': | ||
| 125 | + case '0': | ||
| 126 | + case '-': | ||
| 127 | + case ' ': | ||
| 128 | + case '+': | ||
| 129 | + case '\'': | ||
| 130 | + case 'I': | ||
| 131 | + fmt++; | ||
| 132 | + continue; | ||
| 133 | + } | ||
| 134 | + return fmt; | ||
| 135 | + } | ||
| 136 | +} | ||
| 137 | + | ||
| 138 | +enum state { | ||
| 139 | + BARE, | ||
| 140 | + LPRE, | ||
| 141 | + LLPRE, | ||
| 142 | + HPRE, | ||
| 143 | + HHPRE, | ||
| 144 | + BIGLPRE, | ||
| 145 | + ZTPRE, | ||
| 146 | + JPRE, | ||
| 147 | + STOP | ||
| 148 | +}; | ||
| 149 | + | ||
| 150 | +enum type { | ||
| 151 | + NONE, | ||
| 152 | + PTR, | ||
| 153 | + INT, | ||
| 154 | + UINT, | ||
| 155 | + ULLONG, | ||
| 156 | + LONG, | ||
| 157 | + ULONG, | ||
| 158 | + SHORT, | ||
| 159 | + USHORT, | ||
| 160 | + CHAR, | ||
| 161 | + UCHAR, | ||
| 162 | + LLONG, | ||
| 163 | + SIZET, | ||
| 164 | + IMAX, | ||
| 165 | + UMAX, | ||
| 166 | + PDIFF, | ||
| 167 | + UIPTR, | ||
| 168 | + DBL, | ||
| 169 | + LDBL, | ||
| 170 | + MAXTYPE | ||
| 171 | +}; | ||
| 172 | + | ||
| 173 | +static const short pa_types[MAXTYPE] = { | ||
| 174 | + [NONE] = PA_INT, | ||
| 175 | + [PTR] = PA_POINTER, | ||
| 176 | + [INT] = PA_INT, | ||
| 177 | + [UINT] = PA_INT, | ||
| 178 | + [ULLONG] = PA_INT | PA_FLAG_LONG_LONG, | ||
| 179 | + [LONG] = PA_INT | PA_FLAG_LONG, | ||
| 180 | + [ULONG] = PA_INT | PA_FLAG_LONG, | ||
| 181 | + [SHORT] = PA_INT | PA_FLAG_SHORT, | ||
| 182 | + [USHORT] = PA_INT | PA_FLAG_SHORT, | ||
| 183 | + [CHAR] = PA_CHAR, | ||
| 184 | + [UCHAR] = PA_CHAR, | ||
| 185 | + [LLONG] = PA_INT | PA_FLAG_LONG_LONG, | ||
| 186 | + [SIZET] = PA_INT | PA_FLAG_LONG, | ||
| 187 | + [IMAX] = PA_INT | PA_FLAG_LONG_LONG, | ||
| 188 | + [UMAX] = PA_INT | PA_FLAG_LONG_LONG, | ||
| 189 | + [PDIFF] = PA_INT | PA_FLAG_LONG_LONG, | ||
| 190 | + [UIPTR] = PA_INT | PA_FLAG_LONG, | ||
| 191 | + [DBL] = PA_DOUBLE, | ||
| 192 | + [LDBL] = PA_DOUBLE | PA_FLAG_LONG_DOUBLE | ||
| 193 | +}; | ||
| 194 | + | ||
| 195 | +#define S(x) [(x)-'A'] | ||
| 196 | +#define E(x) (STOP + (x)) | ||
| 197 | + | ||
| 198 | +static const unsigned char states[]['z'-'A'+1] = { | ||
| 199 | + { /* 0: bare types */ | ||
| 200 | + S('d') = E(INT), S('i') = E(INT), | ||
| 201 | + S('o') = E(UINT),S('u') = E(UINT),S('x') = E(UINT), S('X') = E(UINT), | ||
| 202 | + S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL), | ||
| 203 | + S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL), | ||
| 204 | + S('c') = E(CHAR),S('C') = E(INT), | ||
| 205 | + S('s') = E(PTR), S('S') = E(PTR), S('p') = E(UIPTR),S('n') = E(PTR), | ||
| 206 | + S('m') = E(NONE), | ||
| 207 | + S('l') = LPRE, S('h') = HPRE, S('L') = BIGLPRE, | ||
| 208 | + S('z') = ZTPRE, S('j') = JPRE, S('t') = ZTPRE | ||
| 209 | + }, { /* 1: l-prefixed */ | ||
| 210 | + S('d') = E(LONG), S('i') = E(LONG), | ||
| 211 | + S('o') = E(ULONG),S('u') = E(ULONG),S('x') = E(ULONG),S('X') = E(ULONG), | ||
| 212 | + S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL), | ||
| 213 | + S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL), | ||
| 214 | + S('c') = E(INT), S('s') = E(PTR), S('n') = E(PTR), | ||
| 215 | + S('l') = LLPRE | ||
| 216 | + }, { /* 2: ll-prefixed */ | ||
| 217 | + S('d') = E(LLONG), S('i') = E(LLONG), | ||
| 218 | + S('o') = E(ULLONG),S('u') = E(ULLONG), | ||
| 219 | + S('x') = E(ULLONG),S('X') = E(ULLONG), | ||
| 220 | + S('n') = E(PTR) | ||
| 221 | + }, { /* 3: h-prefixed */ | ||
| 222 | + S('d') = E(SHORT), S('i') = E(SHORT), | ||
| 223 | + S('o') = E(USHORT),S('u') = E(USHORT), | ||
| 224 | + S('x') = E(USHORT),S('X') = E(USHORT), | ||
| 225 | + S('n') = E(PTR), | ||
| 226 | + S('h') = HHPRE | ||
| 227 | + }, { /* 4: hh-prefixed */ | ||
| 228 | + S('d') = E(CHAR), S('i') = E(CHAR), | ||
| 229 | + S('o') = E(UCHAR),S('u') = E(UCHAR), | ||
| 230 | + S('x') = E(UCHAR),S('X') = E(UCHAR), | ||
| 231 | + S('n') = E(PTR) | ||
| 232 | + }, { /* 5: L-prefixed */ | ||
| 233 | + S('e') = E(LDBL),S('f') = E(LDBL),S('g') = E(LDBL), S('a') = E(LDBL), | ||
| 234 | + S('E') = E(LDBL),S('F') = E(LDBL),S('G') = E(LDBL), S('A') = E(LDBL), | ||
| 235 | + S('n') = E(PTR) | ||
| 236 | + }, { /* 6: z- or t-prefixed (assumed to be same size) */ | ||
| 237 | + S('d') = E(PDIFF),S('i') = E(PDIFF), | ||
| 238 | + S('o') = E(SIZET),S('u') = E(SIZET), | ||
| 239 | + S('x') = E(SIZET),S('X') = E(SIZET), | ||
| 240 | + S('n') = E(PTR) | ||
| 241 | + }, { /* 7: j-prefixed */ | ||
| 242 | + S('d') = E(IMAX), S('i') = E(IMAX), | ||
| 243 | + S('o') = E(UMAX), S('u') = E(UMAX), | ||
| 244 | + S('x') = E(UMAX), S('X') = E(UMAX), | ||
| 245 | + S('n') = E(PTR) | ||
| 246 | + } | ||
| 247 | +}; | ||
| 248 | + | ||
| 249 | +size_t parse_printf_format(const char *fmt, size_t n, int *types) | ||
| 250 | +{ | ||
| 251 | + size_t i = 0; | ||
| 252 | + size_t last = 0; | ||
| 253 | + | ||
| 254 | + memset(types, 0, n); | ||
| 255 | + | ||
| 256 | + while (1) { | ||
| 257 | + size_t arg; | ||
| 258 | + unsigned int state; | ||
| 259 | + | ||
| 260 | + fmt = consume_nonarg(fmt); | ||
| 261 | + if (*fmt == '\0') | ||
| 262 | + break; | ||
| 263 | + if (*fmt == '%') { | ||
| 264 | + fmt++; | ||
| 265 | + continue; | ||
| 266 | + } | ||
| 267 | + arg = 0; | ||
| 268 | + fmt = consume_argn(fmt, &arg); | ||
| 269 | + /* flags */ | ||
| 270 | + fmt = consume_flags(fmt); | ||
| 271 | + /* width */ | ||
| 272 | + if (*fmt == '*') { | ||
| 273 | + size_t warg = 0; | ||
| 274 | + fmt = consume_argn(fmt+1, &warg); | ||
| 275 | + if (warg == 0) | ||
| 276 | + warg = ++i; | ||
| 277 | + if (warg > last) | ||
| 278 | + last = warg; | ||
| 279 | + if (warg <= n && types[warg-1] == NONE) | ||
| 280 | + types[warg-1] = INT; | ||
| 281 | + } else | ||
| 282 | + fmt = consume_num(fmt); | ||
| 283 | + /* precision */ | ||
| 284 | + if (*fmt == '.') { | ||
| 285 | + fmt++; | ||
| 286 | + if (*fmt == '*') { | ||
| 287 | + size_t parg = 0; | ||
| 288 | + fmt = consume_argn(fmt+1, &parg); | ||
| 289 | + if (parg == 0) | ||
| 290 | + parg = ++i; | ||
| 291 | + if (parg > last) | ||
| 292 | + last = parg; | ||
| 293 | + if (parg <= n && types[parg-1] == NONE) | ||
| 294 | + types[parg-1] = INT; | ||
| 295 | + } else { | ||
| 296 | + if (*fmt == '-') | ||
| 297 | + fmt++; | ||
| 298 | + fmt = consume_num(fmt); | ||
| 299 | + } | ||
| 300 | + } | ||
| 301 | + /* length modifier and conversion specifier */ | ||
| 302 | + state = BARE; | ||
| 303 | + do { | ||
| 304 | + unsigned char c = *fmt++; | ||
| 305 | + | ||
| 306 | + if (c < 'A' || c > 'z') | ||
| 307 | + continue; | ||
| 308 | + state = states[state]S(c); | ||
| 309 | + if (state == 0) | ||
| 310 | + continue; | ||
| 311 | + } while (state < STOP); | ||
| 312 | + | ||
| 313 | + if (state == E(NONE)) | ||
| 314 | + continue; | ||
| 315 | + | ||
| 316 | + if (arg == 0) | ||
| 317 | + arg = ++i; | ||
| 318 | + if (arg > last) | ||
| 319 | + last = arg; | ||
| 320 | + if (arg <= n) | ||
| 321 | + types[arg-1] = state - STOP; | ||
| 322 | + } | ||
| 323 | + | ||
| 324 | + if (last > n) | ||
| 325 | + last = n; | ||
| 326 | + for (i = 0; i < last; i++) | ||
| 327 | + types[i] = pa_types[types[i]]; | ||
| 328 | + | ||
| 329 | + return last; | ||
| 330 | +} | ||
| 331 | diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h | ||
| 332 | new file mode 100644 | ||
| 333 | index 0000000000..47be7522d7 | ||
| 334 | --- /dev/null | ||
| 335 | +++ b/src/basic/parse-printf-format.h | ||
| 336 | @@ -0,0 +1,57 @@ | ||
| 337 | +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ | ||
| 338 | + | ||
| 339 | +/*** | ||
| 340 | + This file is part of systemd. | ||
| 341 | + | ||
| 342 | + Copyright 2014 Emil Renner Berthing <systemd@esmil.dk> | ||
| 343 | + | ||
| 344 | + With parts from the GNU C Library | ||
| 345 | + Copyright 1991-2014 Free Software Foundation, Inc. | ||
| 346 | + | ||
| 347 | + systemd is free software; you can redistribute it and/or modify it | ||
| 348 | + under the terms of the GNU Lesser General Public License as published by | ||
| 349 | + the Free Software Foundation; either version 2.1 of the License, or | ||
| 350 | + (at your option) any later version. | ||
| 351 | + | ||
| 352 | + systemd is distributed in the hope that it will be useful, but | ||
| 353 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 354 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 355 | + Lesser General Public License for more details. | ||
| 356 | + | ||
| 357 | + You should have received a copy of the GNU Lesser General Public License | ||
| 358 | + along with systemd; If not, see <http://www.gnu.org/licenses/>. | ||
| 359 | +***/ | ||
| 360 | + | ||
| 361 | +#pragma once | ||
| 362 | + | ||
| 363 | +#include "config.h" | ||
| 364 | + | ||
| 365 | +#if HAVE_PRINTF_H | ||
| 366 | +#include <printf.h> | ||
| 367 | +#else | ||
| 368 | + | ||
| 369 | +#include <stddef.h> | ||
| 370 | + | ||
| 371 | +enum { /* C type: */ | ||
| 372 | + PA_INT, /* int */ | ||
| 373 | + PA_CHAR, /* int, cast to char */ | ||
| 374 | + PA_WCHAR, /* wide char */ | ||
| 375 | + PA_STRING, /* const char *, a '\0'-terminated string */ | ||
| 376 | + PA_WSTRING, /* const wchar_t *, wide character string */ | ||
| 377 | + PA_POINTER, /* void * */ | ||
| 378 | + PA_FLOAT, /* float */ | ||
| 379 | + PA_DOUBLE, /* double */ | ||
| 380 | + PA_LAST | ||
| 381 | +}; | ||
| 382 | + | ||
| 383 | +/* Flag bits that can be set in a type returned by `parse_printf_format'. */ | ||
| 384 | +#define PA_FLAG_MASK 0xff00 | ||
| 385 | +#define PA_FLAG_LONG_LONG (1 << 8) | ||
| 386 | +#define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG | ||
| 387 | +#define PA_FLAG_LONG (1 << 9) | ||
| 388 | +#define PA_FLAG_SHORT (1 << 10) | ||
| 389 | +#define PA_FLAG_PTR (1 << 11) | ||
| 390 | + | ||
| 391 | +size_t parse_printf_format(const char *fmt, size_t n, int *types); | ||
| 392 | + | ||
| 393 | +#endif /* HAVE_PRINTF_H */ | ||
| 394 | diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h | ||
| 395 | index 4e93ac90c9..f9deb6f662 100644 | ||
| 396 | --- a/src/basic/stdio-util.h | ||
| 397 | +++ b/src/basic/stdio-util.h | ||
| 398 | @@ -1,12 +1,12 @@ | ||
| 399 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 400 | #pragma once | ||
| 401 | |||
| 402 | -#include <printf.h> | ||
| 403 | #include <stdarg.h> | ||
| 404 | #include <stdio.h> | ||
| 405 | #include <sys/types.h> | ||
| 406 | |||
| 407 | #include "macro.h" | ||
| 408 | +#include "parse-printf-format.h" | ||
| 409 | |||
| 410 | _printf_(3, 4) | ||
| 411 | static inline char *snprintf_ok(char *buf, size_t len, const char *format, ...) { | ||
| 412 | diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c | ||
| 413 | index be23b2fe75..69a2eb6404 100644 | ||
| 414 | --- a/src/libsystemd/sd-journal/journal-send.c | ||
| 415 | +++ b/src/libsystemd/sd-journal/journal-send.c | ||
| 416 | @@ -2,7 +2,6 @@ | ||
| 417 | |||
| 418 | #include <errno.h> | ||
| 419 | #include <fcntl.h> | ||
| 420 | -#include <printf.h> | ||
| 421 | #include <stddef.h> | ||
| 422 | #include <sys/un.h> | ||
| 423 | #include <unistd.h> | ||
| 424 | @@ -28,6 +27,7 @@ | ||
| 425 | #include "stdio-util.h" | ||
| 426 | #include "string-util.h" | ||
| 427 | #include "tmpfile-util.h" | ||
| 428 | +#include "parse-printf-format.h" | ||
| 429 | |||
| 430 | #define SNDBUF_SIZE (8*1024*1024) | ||
| 431 | |||
| 432 | -- | ||
| 433 | 2.34.1 | ||
| 434 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch deleted file mode 100644 index be231cf6b2..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch +++ /dev/null | |||
| @@ -1,79 +0,0 @@ | |||
| 1 | From 29a58009a172e369ad7166e16dab2f4945c6b0d2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Thu, 21 Feb 2019 16:23:24 +0800 | ||
| 4 | Subject: [PATCH 1/2] binfmt: Don't install dependency links at install time | ||
| 5 | for the binfmt services | ||
| 6 | |||
| 7 | use [Install] blocks so that they get created when the service is enabled | ||
| 8 | like a traditional service. | ||
| 9 | |||
| 10 | The [Install] blocks were rejected upstream as they don't have a way to | ||
| 11 | "enable" it on install without static symlinks which can't be disabled, | ||
| 12 | only masked. We however can do that in a postinst. | ||
| 13 | |||
| 14 | Upstream-Status: Denied | ||
| 15 | |||
| 16 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 18 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 19 | [rebased for systemd 243] | ||
| 20 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 21 | --- | ||
| 22 | units/meson.build | 2 -- | ||
| 23 | units/proc-sys-fs-binfmt_misc.automount | 3 +++ | ||
| 24 | units/systemd-binfmt.service.in | 4 ++++ | ||
| 25 | 3 files changed, 7 insertions(+), 2 deletions(-) | ||
| 26 | |||
| 27 | diff --git a/units/meson.build b/units/meson.build | ||
| 28 | index e7bfb7f838..1d5ec4b178 100644 | ||
| 29 | --- a/units/meson.build | ||
| 30 | +++ b/units/meson.build | ||
| 31 | @@ -154,7 +154,6 @@ units = [ | ||
| 32 | { | ||
| 33 | 'file' : 'proc-sys-fs-binfmt_misc.automount', | ||
| 34 | 'conditions' : ['ENABLE_BINFMT'], | ||
| 35 | - 'symlinks' : ['sysinit.target.wants/'], | ||
| 36 | }, | ||
| 37 | { | ||
| 38 | 'file' : 'proc-sys-fs-binfmt_misc.mount', | ||
| 39 | @@ -251,7 +250,6 @@ units = [ | ||
| 40 | { | ||
| 41 | 'file' : 'systemd-binfmt.service.in', | ||
| 42 | 'conditions' : ['ENABLE_BINFMT'], | ||
| 43 | - 'symlinks' : ['sysinit.target.wants/'], | ||
| 44 | }, | ||
| 45 | { | ||
| 46 | 'file' : 'systemd-bless-boot.service.in', | ||
| 47 | diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount | ||
| 48 | index 5d212015a5..6c2900ca77 100644 | ||
| 49 | --- a/units/proc-sys-fs-binfmt_misc.automount | ||
| 50 | +++ b/units/proc-sys-fs-binfmt_misc.automount | ||
| 51 | @@ -22,3 +22,6 @@ Before=shutdown.target | ||
| 52 | |||
| 53 | [Automount] | ||
| 54 | Where=/proc/sys/fs/binfmt_misc | ||
| 55 | + | ||
| 56 | +[Install] | ||
| 57 | +WantedBy=sysinit.target | ||
| 58 | diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in | ||
| 59 | index 6861c76674..531e9fbd90 100644 | ||
| 60 | --- a/units/systemd-binfmt.service.in | ||
| 61 | +++ b/units/systemd-binfmt.service.in | ||
| 62 | @@ -14,6 +14,7 @@ Documentation=https://docs.kernel.org/admin-guide/binfmt-misc.html | ||
| 63 | Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems | ||
| 64 | DefaultDependencies=no | ||
| 65 | Conflicts=shutdown.target | ||
| 66 | +Wants=proc-sys-fs-binfmt_misc.automount | ||
| 67 | After=proc-sys-fs-binfmt_misc.automount | ||
| 68 | After=proc-sys-fs-binfmt_misc.mount | ||
| 69 | After=local-fs.target | ||
| 70 | @@ -31,3 +32,6 @@ RemainAfterExit=yes | ||
| 71 | ExecStart={{LIBEXECDIR}}/systemd-binfmt | ||
| 72 | ExecStop={{LIBEXECDIR}}/systemd-binfmt --unregister | ||
| 73 | TimeoutSec=90s | ||
| 74 | + | ||
| 75 | +[Install] | ||
| 76 | +WantedBy=sysinit.target | ||
| 77 | -- | ||
| 78 | 2.34.1 | ||
| 79 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch deleted file mode 100644 index 5595b5bc23..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch +++ /dev/null | |||
| @@ -1,699 +0,0 @@ | |||
| 1 | From 87f1d38f40c5fe9cadf2b2de442473e4e5605788 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 14:18:21 +0800 | ||
| 4 | Subject: [PATCH 03/22] src/basic/missing.h: check for missing strndupa | ||
| 5 | |||
| 6 | include missing.h for definition of strndupa | ||
| 7 | |||
| 8 | Upstream-Status: Inappropriate [musl specific] | ||
| 9 | |||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 12 | [Rebased for v242] | ||
| 13 | Signed-off-by: Andrej Valek <andrej.valek@siemens.com> | ||
| 14 | [rebased for systemd 243] | ||
| 15 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 16 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
| 17 | [rebased for systemd 244] | ||
| 18 | [Rebased for v247] | ||
| 19 | Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> | ||
| 20 | [Rebased for v254] | ||
| 21 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 22 | [Rebased for v255.1] | ||
| 23 | --- | ||
| 24 | meson.build | 1 + | ||
| 25 | src/backlight/backlight.c | 1 + | ||
| 26 | src/basic/cgroup-util.c | 1 + | ||
| 27 | src/basic/env-util.c | 1 + | ||
| 28 | src/basic/log.c | 1 + | ||
| 29 | src/basic/missing_stdlib.h | 12 ++++++++++++ | ||
| 30 | src/basic/mkdir.c | 1 + | ||
| 31 | src/basic/mountpoint-util.c | 1 + | ||
| 32 | src/basic/parse-util.c | 1 + | ||
| 33 | src/basic/path-lookup.c | 1 + | ||
| 34 | src/basic/percent-util.c | 1 + | ||
| 35 | src/basic/proc-cmdline.c | 1 + | ||
| 36 | src/basic/procfs-util.c | 1 + | ||
| 37 | src/basic/time-util.c | 1 + | ||
| 38 | src/boot/bless-boot.c | 1 + | ||
| 39 | src/core/dbus-cgroup.c | 1 + | ||
| 40 | src/core/dbus-execute.c | 1 + | ||
| 41 | src/core/dbus-util.c | 1 + | ||
| 42 | src/core/execute.c | 1 + | ||
| 43 | src/core/kmod-setup.c | 1 + | ||
| 44 | src/core/service.c | 1 + | ||
| 45 | src/coredump/coredump-vacuum.c | 1 + | ||
| 46 | src/fstab-generator/fstab-generator.c | 1 + | ||
| 47 | src/journal-remote/journal-remote-main.c | 1 + | ||
| 48 | src/journal/journalctl.c | 1 + | ||
| 49 | src/libsystemd/sd-bus/bus-message.c | 1 + | ||
| 50 | src/libsystemd/sd-bus/bus-objects.c | 1 + | ||
| 51 | src/libsystemd/sd-bus/bus-socket.c | 1 + | ||
| 52 | src/libsystemd/sd-bus/sd-bus.c | 1 + | ||
| 53 | src/libsystemd/sd-bus/test-bus-benchmark.c | 1 + | ||
| 54 | src/libsystemd/sd-journal/sd-journal.c | 1 + | ||
| 55 | src/login/pam_systemd.c | 1 + | ||
| 56 | src/network/generator/network-generator.c | 1 + | ||
| 57 | src/nspawn/nspawn-settings.c | 1 + | ||
| 58 | src/nss-mymachines/nss-mymachines.c | 1 + | ||
| 59 | src/portable/portable.c | 1 + | ||
| 60 | src/resolve/resolvectl.c | 1 + | ||
| 61 | src/shared/bus-get-properties.c | 1 + | ||
| 62 | src/shared/bus-unit-procs.c | 1 + | ||
| 63 | src/shared/bus-unit-util.c | 1 + | ||
| 64 | src/shared/bus-util.c | 1 + | ||
| 65 | src/shared/dns-domain.c | 1 + | ||
| 66 | src/shared/journal-importer.c | 1 + | ||
| 67 | src/shared/logs-show.c | 1 + | ||
| 68 | src/shared/pager.c | 1 + | ||
| 69 | src/socket-proxy/socket-proxyd.c | 1 + | ||
| 70 | src/test/test-hexdecoct.c | 1 + | ||
| 71 | src/udev/udev-builtin-net_id.c | 1 + | ||
| 72 | src/udev/udev-builtin-path_id.c | 1 + | ||
| 73 | src/udev/udev-event.c | 1 + | ||
| 74 | src/udev/udev-rules.c | 1 + | ||
| 75 | 51 files changed, 62 insertions(+) | ||
| 76 | |||
| 77 | diff --git a/meson.build b/meson.build | ||
| 78 | index 01fd3ffc19..61a872b753 100644 | ||
| 79 | --- a/meson.build | ||
| 80 | +++ b/meson.build | ||
| 81 | @@ -567,6 +567,7 @@ foreach ident : ['secure_getenv', '__secure_getenv'] | ||
| 82 | endforeach | ||
| 83 | |||
| 84 | foreach ident : [ | ||
| 85 | + ['strndupa' , '''#include <string.h>'''], | ||
| 86 | ['memfd_create', '''#include <sys/mman.h>'''], | ||
| 87 | ['gettid', '''#include <sys/types.h> | ||
| 88 | #include <unistd.h>'''], | ||
| 89 | diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c | ||
| 90 | index 5ac9f904a9..99d5122dd7 100644 | ||
| 91 | --- a/src/backlight/backlight.c | ||
| 92 | +++ b/src/backlight/backlight.c | ||
| 93 | @@ -20,6 +20,7 @@ | ||
| 94 | #include "string-util.h" | ||
| 95 | #include "strv.h" | ||
| 96 | #include "terminal-util.h" | ||
| 97 | +#include "missing_stdlib.h" | ||
| 98 | |||
| 99 | #define PCI_CLASS_GRAPHICS_CARD 0x30000 | ||
| 100 | |||
| 101 | diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c | ||
| 102 | index 18b16ecc0e..d2be79622f 100644 | ||
| 103 | --- a/src/basic/cgroup-util.c | ||
| 104 | +++ b/src/basic/cgroup-util.c | ||
| 105 | @@ -38,6 +38,7 @@ | ||
| 106 | #include "unit-name.h" | ||
| 107 | #include "user-util.h" | ||
| 108 | #include "xattr-util.h" | ||
| 109 | +#include "missing_stdlib.h" | ||
| 110 | |||
| 111 | static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) { | ||
| 112 | _cleanup_free_ char *fs = NULL; | ||
| 113 | diff --git a/src/basic/env-util.c b/src/basic/env-util.c | ||
| 114 | index d3bf73385f..16b17358ca 100644 | ||
| 115 | --- a/src/basic/env-util.c | ||
| 116 | +++ b/src/basic/env-util.c | ||
| 117 | @@ -19,6 +19,7 @@ | ||
| 118 | #include "string-util.h" | ||
| 119 | #include "strv.h" | ||
| 120 | #include "utf8.h" | ||
| 121 | +#include "missing_stdlib.h" | ||
| 122 | |||
| 123 | /* We follow bash for the character set. Different shells have different rules. */ | ||
| 124 | #define VALID_BASH_ENV_NAME_CHARS \ | ||
| 125 | diff --git a/src/basic/log.c b/src/basic/log.c | ||
| 126 | index 1470611a75..9924ec2b9a 100644 | ||
| 127 | --- a/src/basic/log.c | ||
| 128 | +++ b/src/basic/log.c | ||
| 129 | @@ -40,6 +40,7 @@ | ||
| 130 | #include "terminal-util.h" | ||
| 131 | #include "time-util.h" | ||
| 132 | #include "utf8.h" | ||
| 133 | +#include "missing_stdlib.h" | ||
| 134 | |||
| 135 | #define SNDBUF_SIZE (8*1024*1024) | ||
| 136 | #define IOVEC_MAX 256U | ||
| 137 | diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h | ||
| 138 | index 8c76f93eb2..9068bfb4f0 100644 | ||
| 139 | --- a/src/basic/missing_stdlib.h | ||
| 140 | +++ b/src/basic/missing_stdlib.h | ||
| 141 | @@ -11,3 +11,15 @@ | ||
| 142 | # error "neither secure_getenv nor __secure_getenv are available" | ||
| 143 | # endif | ||
| 144 | #endif | ||
| 145 | + | ||
| 146 | +/* string.h */ | ||
| 147 | +#if ! HAVE_STRNDUPA | ||
| 148 | +#define strndupa(s, n) \ | ||
| 149 | + ({ \ | ||
| 150 | + const char *__old = (s); \ | ||
| 151 | + size_t __len = strnlen(__old, (n)); \ | ||
| 152 | + char *__new = (char *)alloca(__len + 1); \ | ||
| 153 | + __new[__len] = '\0'; \ | ||
| 154 | + (char *)memcpy(__new, __old, __len); \ | ||
| 155 | + }) | ||
| 156 | +#endif | ||
| 157 | diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c | ||
| 158 | index c770e5ed32..1fd8816cd0 100644 | ||
| 159 | --- a/src/basic/mkdir.c | ||
| 160 | +++ b/src/basic/mkdir.c | ||
| 161 | @@ -16,6 +16,7 @@ | ||
| 162 | #include "stat-util.h" | ||
| 163 | #include "stdio-util.h" | ||
| 164 | #include "user-util.h" | ||
| 165 | +#include "missing_stdlib.h" | ||
| 166 | |||
| 167 | int mkdirat_safe_internal( | ||
| 168 | int dir_fd, | ||
| 169 | diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c | ||
| 170 | index bf67f7e01a..409f8d8a73 100644 | ||
| 171 | --- a/src/basic/mountpoint-util.c | ||
| 172 | +++ b/src/basic/mountpoint-util.c | ||
| 173 | @@ -18,6 +18,7 @@ | ||
| 174 | #include "missing_stat.h" | ||
| 175 | #include "missing_syscall.h" | ||
| 176 | #include "mkdir.h" | ||
| 177 | +#include "missing_stdlib.h" | ||
| 178 | #include "mountpoint-util.h" | ||
| 179 | #include "nulstr-util.h" | ||
| 180 | #include "parse-util.h" | ||
| 181 | diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c | ||
| 182 | index 0430e33e40..f3728de026 100644 | ||
| 183 | --- a/src/basic/parse-util.c | ||
| 184 | +++ b/src/basic/parse-util.c | ||
| 185 | @@ -18,6 +18,7 @@ | ||
| 186 | #include "stat-util.h" | ||
| 187 | #include "string-util.h" | ||
| 188 | #include "strv.h" | ||
| 189 | +#include "missing_stdlib.h" | ||
| 190 | |||
| 191 | int parse_boolean(const char *v) { | ||
| 192 | if (!v) | ||
| 193 | diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c | ||
| 194 | index 4e3d59fc56..726e240df0 100644 | ||
| 195 | --- a/src/basic/path-lookup.c | ||
| 196 | +++ b/src/basic/path-lookup.c | ||
| 197 | @@ -16,6 +16,7 @@ | ||
| 198 | #include "strv.h" | ||
| 199 | #include "tmpfile-util.h" | ||
| 200 | #include "user-util.h" | ||
| 201 | +#include "missing_stdlib.h" | ||
| 202 | |||
| 203 | int xdg_user_runtime_dir(char **ret, const char *suffix) { | ||
| 204 | const char *e; | ||
| 205 | diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c | ||
| 206 | index cab9d0eaea..5f6ca258e9 100644 | ||
| 207 | --- a/src/basic/percent-util.c | ||
| 208 | +++ b/src/basic/percent-util.c | ||
| 209 | @@ -3,6 +3,7 @@ | ||
| 210 | #include "percent-util.h" | ||
| 211 | #include "string-util.h" | ||
| 212 | #include "parse-util.h" | ||
| 213 | +#include "missing_stdlib.h" | ||
| 214 | |||
| 215 | static int parse_parts_value_whole(const char *p, const char *symbol) { | ||
| 216 | const char *pc, *n; | ||
| 217 | diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c | ||
| 218 | index 522d8de1f4..7c129dc0fc 100644 | ||
| 219 | --- a/src/basic/proc-cmdline.c | ||
| 220 | +++ b/src/basic/proc-cmdline.c | ||
| 221 | @@ -16,6 +16,7 @@ | ||
| 222 | #include "string-util.h" | ||
| 223 | #include "strv.h" | ||
| 224 | #include "virt.h" | ||
| 225 | +#include "missing_stdlib.h" | ||
| 226 | |||
| 227 | int proc_cmdline_filter_pid1_args(char **argv, char ***ret) { | ||
| 228 | enum { | ||
| 229 | diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c | ||
| 230 | index d7cfcd9105..6cb0ddf575 100644 | ||
| 231 | --- a/src/basic/procfs-util.c | ||
| 232 | +++ b/src/basic/procfs-util.c | ||
| 233 | @@ -12,6 +12,7 @@ | ||
| 234 | #include "procfs-util.h" | ||
| 235 | #include "stdio-util.h" | ||
| 236 | #include "string-util.h" | ||
| 237 | +#include "missing_stdlib.h" | ||
| 238 | |||
| 239 | int procfs_get_pid_max(uint64_t *ret) { | ||
| 240 | _cleanup_free_ char *value = NULL; | ||
| 241 | diff --git a/src/basic/time-util.c b/src/basic/time-util.c | ||
| 242 | index f9014dc560..1d7840a5b5 100644 | ||
| 243 | --- a/src/basic/time-util.c | ||
| 244 | +++ b/src/basic/time-util.c | ||
| 245 | @@ -27,6 +27,7 @@ | ||
| 246 | #include "string-util.h" | ||
| 247 | #include "strv.h" | ||
| 248 | #include "time-util.h" | ||
| 249 | +#include "missing_stdlib.h" | ||
| 250 | |||
| 251 | static clockid_t map_clock_id(clockid_t c) { | ||
| 252 | |||
| 253 | diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c | ||
| 254 | index 0c0b4f23c7..68fe5ca509 100644 | ||
| 255 | --- a/src/boot/bless-boot.c | ||
| 256 | +++ b/src/boot/bless-boot.c | ||
| 257 | @@ -22,6 +22,7 @@ | ||
| 258 | #include "terminal-util.h" | ||
| 259 | #include "verbs.h" | ||
| 260 | #include "virt.h" | ||
| 261 | +#include "missing_stdlib.h" | ||
| 262 | |||
| 263 | static char **arg_path = NULL; | ||
| 264 | |||
| 265 | diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c | ||
| 266 | index 4237e694c0..05f9d9d9a9 100644 | ||
| 267 | --- a/src/core/dbus-cgroup.c | ||
| 268 | +++ b/src/core/dbus-cgroup.c | ||
| 269 | @@ -25,6 +25,7 @@ | ||
| 270 | #include "parse-util.h" | ||
| 271 | #include "path-util.h" | ||
| 272 | #include "percent-util.h" | ||
| 273 | +#include "missing_stdlib.h" | ||
| 274 | #include "socket-util.h" | ||
| 275 | |||
| 276 | BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve); | ||
| 277 | diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c | ||
| 278 | index 4daa1cefd3..2c77901471 100644 | ||
| 279 | --- a/src/core/dbus-execute.c | ||
| 280 | +++ b/src/core/dbus-execute.c | ||
| 281 | @@ -42,6 +42,7 @@ | ||
| 282 | #include "unit-printf.h" | ||
| 283 | #include "user-util.h" | ||
| 284 | #include "utf8.h" | ||
| 285 | +#include "missing_stdlib.h" | ||
| 286 | |||
| 287 | BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput); | ||
| 288 | static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput); | ||
| 289 | diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c | ||
| 290 | index d680a64268..e59f48103e 100644 | ||
| 291 | --- a/src/core/dbus-util.c | ||
| 292 | +++ b/src/core/dbus-util.c | ||
| 293 | @@ -9,6 +9,7 @@ | ||
| 294 | #include "unit-printf.h" | ||
| 295 | #include "user-util.h" | ||
| 296 | #include "unit.h" | ||
| 297 | +#include "missing_stdlib.h" | ||
| 298 | |||
| 299 | int bus_property_get_triggered_unit( | ||
| 300 | sd_bus *bus, | ||
| 301 | diff --git a/src/core/execute.c b/src/core/execute.c | ||
| 302 | index ef0bf88687..bd3da0c401 100644 | ||
| 303 | --- a/src/core/execute.c | ||
| 304 | +++ b/src/core/execute.c | ||
| 305 | @@ -72,6 +72,7 @@ | ||
| 306 | #include "unit-serialize.h" | ||
| 307 | #include "user-util.h" | ||
| 308 | #include "utmp-wtmp.h" | ||
| 309 | +#include "missing_stdlib.h" | ||
| 310 | |||
| 311 | static bool is_terminal_input(ExecInput i) { | ||
| 312 | return IN_SET(i, | ||
| 313 | diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c | ||
| 314 | index b8e3f7aadd..8ce8ca68d8 100644 | ||
| 315 | --- a/src/core/kmod-setup.c | ||
| 316 | +++ b/src/core/kmod-setup.c | ||
| 317 | @@ -13,6 +13,7 @@ | ||
| 318 | #include "string-util.h" | ||
| 319 | #include "strv.h" | ||
| 320 | #include "virt.h" | ||
| 321 | +#include "missing_stdlib.h" | ||
| 322 | |||
| 323 | #if HAVE_KMOD | ||
| 324 | #include "module-util.h" | ||
| 325 | diff --git a/src/core/service.c b/src/core/service.c | ||
| 326 | index b9eb40c555..268fe7573b 100644 | ||
| 327 | --- a/src/core/service.c | ||
| 328 | +++ b/src/core/service.c | ||
| 329 | @@ -45,6 +45,7 @@ | ||
| 330 | #include "unit-name.h" | ||
| 331 | #include "unit.h" | ||
| 332 | #include "utf8.h" | ||
| 333 | +#include "missing_stdlib.h" | ||
| 334 | |||
| 335 | #define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__) | ||
| 336 | |||
| 337 | diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c | ||
| 338 | index 7e0c98cb7d..978a7f5874 100644 | ||
| 339 | --- a/src/coredump/coredump-vacuum.c | ||
| 340 | +++ b/src/coredump/coredump-vacuum.c | ||
| 341 | @@ -17,6 +17,7 @@ | ||
| 342 | #include "string-util.h" | ||
| 343 | #include "time-util.h" | ||
| 344 | #include "user-util.h" | ||
| 345 | +#include "missing_stdlib.h" | ||
| 346 | |||
| 347 | #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */ | ||
| 348 | #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */ | ||
| 349 | diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c | ||
| 350 | index 016f3baa7f..b1def81313 100644 | ||
| 351 | --- a/src/fstab-generator/fstab-generator.c | ||
| 352 | +++ b/src/fstab-generator/fstab-generator.c | ||
| 353 | @@ -37,6 +37,7 @@ | ||
| 354 | #include "unit-name.h" | ||
| 355 | #include "virt.h" | ||
| 356 | #include "volatile-util.h" | ||
| 357 | +#include "missing_stdlib.h" | ||
| 358 | |||
| 359 | typedef enum MountPointFlags { | ||
| 360 | MOUNT_NOAUTO = 1 << 0, | ||
| 361 | diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c | ||
| 362 | index da0f20d3ce..f22ce41908 100644 | ||
| 363 | --- a/src/journal-remote/journal-remote-main.c | ||
| 364 | +++ b/src/journal-remote/journal-remote-main.c | ||
| 365 | @@ -27,6 +27,7 @@ | ||
| 366 | #include "stat-util.h" | ||
| 367 | #include "string-table.h" | ||
| 368 | #include "strv.h" | ||
| 369 | +#include "missing_stdlib.h" | ||
| 370 | |||
| 371 | #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem" | ||
| 372 | #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem" | ||
| 373 | diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c | ||
| 374 | index 7f3dcd56a4..41b7cbaaf1 100644 | ||
| 375 | --- a/src/journal/journalctl.c | ||
| 376 | +++ b/src/journal/journalctl.c | ||
| 377 | @@ -77,6 +77,7 @@ | ||
| 378 | #include "unit-name.h" | ||
| 379 | #include "user-util.h" | ||
| 380 | #include "varlink.h" | ||
| 381 | +#include "missing_stdlib.h" | ||
| 382 | |||
| 383 | #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) | ||
| 384 | #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */ | ||
| 385 | diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c | ||
| 386 | index ff0228081f..9066fcb133 100644 | ||
| 387 | --- a/src/libsystemd/sd-bus/bus-message.c | ||
| 388 | +++ b/src/libsystemd/sd-bus/bus-message.c | ||
| 389 | @@ -19,6 +19,7 @@ | ||
| 390 | #include "strv.h" | ||
| 391 | #include "time-util.h" | ||
| 392 | #include "utf8.h" | ||
| 393 | +#include "missing_stdlib.h" | ||
| 394 | |||
| 395 | static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored); | ||
| 396 | static int message_parse_fields(sd_bus_message *m); | ||
| 397 | diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c | ||
| 398 | index c25c40ff37..57a5da704f 100644 | ||
| 399 | --- a/src/libsystemd/sd-bus/bus-objects.c | ||
| 400 | +++ b/src/libsystemd/sd-bus/bus-objects.c | ||
| 401 | @@ -11,6 +11,7 @@ | ||
| 402 | #include "missing_capability.h" | ||
| 403 | #include "string-util.h" | ||
| 404 | #include "strv.h" | ||
| 405 | +#include "missing_stdlib.h" | ||
| 406 | |||
| 407 | static int node_vtable_get_userdata( | ||
| 408 | sd_bus *bus, | ||
| 409 | diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c | ||
| 410 | index 3c59d0d615..746922d46f 100644 | ||
| 411 | --- a/src/libsystemd/sd-bus/bus-socket.c | ||
| 412 | +++ b/src/libsystemd/sd-bus/bus-socket.c | ||
| 413 | @@ -29,6 +29,7 @@ | ||
| 414 | #include "string-util.h" | ||
| 415 | #include "user-util.h" | ||
| 416 | #include "utf8.h" | ||
| 417 | +#include "missing_stdlib.h" | ||
| 418 | |||
| 419 | #define SNDBUF_SIZE (8*1024*1024) | ||
| 420 | |||
| 421 | diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c | ||
| 422 | index 4a0259f8bb..aaa90d2223 100644 | ||
| 423 | --- a/src/libsystemd/sd-bus/sd-bus.c | ||
| 424 | +++ b/src/libsystemd/sd-bus/sd-bus.c | ||
| 425 | @@ -46,6 +46,7 @@ | ||
| 426 | #include "string-util.h" | ||
| 427 | #include "strv.h" | ||
| 428 | #include "user-util.h" | ||
| 429 | +#include "missing_stdlib.h" | ||
| 430 | |||
| 431 | #define log_debug_bus_message(m) \ | ||
| 432 | do { \ | ||
| 433 | diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c | ||
| 434 | index d988588de0..458df8df9a 100644 | ||
| 435 | --- a/src/libsystemd/sd-bus/test-bus-benchmark.c | ||
| 436 | +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c | ||
| 437 | @@ -14,6 +14,7 @@ | ||
| 438 | #include "string-util.h" | ||
| 439 | #include "tests.h" | ||
| 440 | #include "time-util.h" | ||
| 441 | +#include "missing_stdlib.h" | ||
| 442 | |||
| 443 | #define MAX_SIZE (2*1024*1024) | ||
| 444 | |||
| 445 | diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c | ||
| 446 | index 6b9ff0a4ed..4a5027ad0f 100644 | ||
| 447 | --- a/src/libsystemd/sd-journal/sd-journal.c | ||
| 448 | +++ b/src/libsystemd/sd-journal/sd-journal.c | ||
| 449 | @@ -44,6 +44,7 @@ | ||
| 450 | #include "strv.h" | ||
| 451 | #include "syslog-util.h" | ||
| 452 | #include "uid-alloc-range.h" | ||
| 453 | +#include "missing_stdlib.h" | ||
| 454 | |||
| 455 | #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC) | ||
| 456 | |||
| 457 | diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c | ||
| 458 | index b8da266e27..4bb8dd9496 100644 | ||
| 459 | --- a/src/login/pam_systemd.c | ||
| 460 | +++ b/src/login/pam_systemd.c | ||
| 461 | @@ -35,6 +35,7 @@ | ||
| 462 | #include "login-util.h" | ||
| 463 | #include "macro.h" | ||
| 464 | #include "missing_syscall.h" | ||
| 465 | +#include "missing_stdlib.h" | ||
| 466 | #include "pam-util.h" | ||
| 467 | #include "parse-util.h" | ||
| 468 | #include "path-util.h" | ||
| 469 | diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c | ||
| 470 | index 48527a2c73..9777fe0561 100644 | ||
| 471 | --- a/src/network/generator/network-generator.c | ||
| 472 | +++ b/src/network/generator/network-generator.c | ||
| 473 | @@ -14,6 +14,7 @@ | ||
| 474 | #include "string-table.h" | ||
| 475 | #include "string-util.h" | ||
| 476 | #include "strv.h" | ||
| 477 | +#include "missing_stdlib.h" | ||
| 478 | |||
| 479 | /* | ||
| 480 | # .network | ||
| 481 | diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c | ||
| 482 | index 161b1c1c70..ba1c459f78 100644 | ||
| 483 | --- a/src/nspawn/nspawn-settings.c | ||
| 484 | +++ b/src/nspawn/nspawn-settings.c | ||
| 485 | @@ -16,6 +16,7 @@ | ||
| 486 | #include "string-util.h" | ||
| 487 | #include "strv.h" | ||
| 488 | #include "user-util.h" | ||
| 489 | +#include "missing_stdlib.h" | ||
| 490 | |||
| 491 | Settings *settings_new(void) { | ||
| 492 | Settings *s; | ||
| 493 | diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c | ||
| 494 | index c64e79bdff..eda26b0b9a 100644 | ||
| 495 | --- a/src/nss-mymachines/nss-mymachines.c | ||
| 496 | +++ b/src/nss-mymachines/nss-mymachines.c | ||
| 497 | @@ -21,6 +21,7 @@ | ||
| 498 | #include "nss-util.h" | ||
| 499 | #include "signal-util.h" | ||
| 500 | #include "string-util.h" | ||
| 501 | +#include "missing_stdlib.h" | ||
| 502 | |||
| 503 | static void setup_logging_once(void) { | ||
| 504 | static pthread_once_t once = PTHREAD_ONCE_INIT; | ||
| 505 | diff --git a/src/portable/portable.c b/src/portable/portable.c | ||
| 506 | index d4b448a627..bb26623565 100644 | ||
| 507 | --- a/src/portable/portable.c | ||
| 508 | +++ b/src/portable/portable.c | ||
| 509 | @@ -40,6 +40,7 @@ | ||
| 510 | #include "strv.h" | ||
| 511 | #include "tmpfile-util.h" | ||
| 512 | #include "user-util.h" | ||
| 513 | +#include "missing_stdlib.h" | ||
| 514 | |||
| 515 | /* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was | ||
| 516 | * dropped there by the portable service logic and b) for which image it was dropped there. */ | ||
| 517 | diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c | ||
| 518 | index afa537f160..32ccee4ae5 100644 | ||
| 519 | --- a/src/resolve/resolvectl.c | ||
| 520 | +++ b/src/resolve/resolvectl.c | ||
| 521 | @@ -48,6 +48,7 @@ | ||
| 522 | #include "varlink.h" | ||
| 523 | #include "verb-log-control.h" | ||
| 524 | #include "verbs.h" | ||
| 525 | +#include "missing_stdlib.h" | ||
| 526 | |||
| 527 | static int arg_family = AF_UNSPEC; | ||
| 528 | static int arg_ifindex = 0; | ||
| 529 | diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c | ||
| 530 | index 53e5d6b99f..851ecd5644 100644 | ||
| 531 | --- a/src/shared/bus-get-properties.c | ||
| 532 | +++ b/src/shared/bus-get-properties.c | ||
| 533 | @@ -4,6 +4,7 @@ | ||
| 534 | #include "rlimit-util.h" | ||
| 535 | #include "stdio-util.h" | ||
| 536 | #include "string-util.h" | ||
| 537 | +#include "missing_stdlib.h" | ||
| 538 | |||
| 539 | int bus_property_get_bool( | ||
| 540 | sd_bus *bus, | ||
| 541 | diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c | ||
| 542 | index 8b462b5627..183ce1c18e 100644 | ||
| 543 | --- a/src/shared/bus-unit-procs.c | ||
| 544 | +++ b/src/shared/bus-unit-procs.c | ||
| 545 | @@ -11,6 +11,7 @@ | ||
| 546 | #include "sort-util.h" | ||
| 547 | #include "string-util.h" | ||
| 548 | #include "terminal-util.h" | ||
| 549 | +#include "missing_stdlib.h" | ||
| 550 | |||
| 551 | struct CGroupInfo { | ||
| 552 | char *cgroup_path; | ||
| 553 | diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c | ||
| 554 | index 4ee9706847..30c8084847 100644 | ||
| 555 | --- a/src/shared/bus-unit-util.c | ||
| 556 | +++ b/src/shared/bus-unit-util.c | ||
| 557 | @@ -50,6 +50,7 @@ | ||
| 558 | #include "unit-def.h" | ||
| 559 | #include "user-util.h" | ||
| 560 | #include "utf8.h" | ||
| 561 | +#include "missing_stdlib.h" | ||
| 562 | |||
| 563 | int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) { | ||
| 564 | assert(message); | ||
| 565 | diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c | ||
| 566 | index 4123152d93..74f148c8b4 100644 | ||
| 567 | --- a/src/shared/bus-util.c | ||
| 568 | +++ b/src/shared/bus-util.c | ||
| 569 | @@ -24,6 +24,7 @@ | ||
| 570 | #include "path-util.h" | ||
| 571 | #include "socket-util.h" | ||
| 572 | #include "stdio-util.h" | ||
| 573 | +#include "missing_stdlib.h" | ||
| 574 | |||
| 575 | static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { | ||
| 576 | sd_event *e = ASSERT_PTR(userdata); | ||
| 577 | diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c | ||
| 578 | index b41c9b06ca..e69050a507 100644 | ||
| 579 | --- a/src/shared/dns-domain.c | ||
| 580 | +++ b/src/shared/dns-domain.c | ||
| 581 | @@ -18,6 +18,7 @@ | ||
| 582 | #include "string-util.h" | ||
| 583 | #include "strv.h" | ||
| 584 | #include "utf8.h" | ||
| 585 | +#include "missing_stdlib.h" | ||
| 586 | |||
| 587 | int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) { | ||
| 588 | const char *n; | ||
| 589 | diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c | ||
| 590 | index 83e9834bbf..74eaae6f5e 100644 | ||
| 591 | --- a/src/shared/journal-importer.c | ||
| 592 | +++ b/src/shared/journal-importer.c | ||
| 593 | @@ -16,6 +16,7 @@ | ||
| 594 | #include "string-util.h" | ||
| 595 | #include "strv.h" | ||
| 596 | #include "unaligned.h" | ||
| 597 | +#include "missing_stdlib.h" | ||
| 598 | |||
| 599 | enum { | ||
| 600 | IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ | ||
| 601 | diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c | ||
| 602 | index a5d04003bd..10392c132d 100644 | ||
| 603 | --- a/src/shared/logs-show.c | ||
| 604 | +++ b/src/shared/logs-show.c | ||
| 605 | @@ -41,6 +41,7 @@ | ||
| 606 | #include "time-util.h" | ||
| 607 | #include "utf8.h" | ||
| 608 | #include "web-util.h" | ||
| 609 | +#include "missing_stdlib.h" | ||
| 610 | |||
| 611 | /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */ | ||
| 612 | #define PRINT_LINE_THRESHOLD 3 | ||
| 613 | diff --git a/src/shared/pager.c b/src/shared/pager.c | ||
| 614 | index 19deefab56..6b6d0af1a0 100644 | ||
| 615 | --- a/src/shared/pager.c | ||
| 616 | +++ b/src/shared/pager.c | ||
| 617 | @@ -25,6 +25,7 @@ | ||
| 618 | #include "string-util.h" | ||
| 619 | #include "strv.h" | ||
| 620 | #include "terminal-util.h" | ||
| 621 | +#include "missing_stdlib.h" | ||
| 622 | |||
| 623 | static pid_t pager_pid = 0; | ||
| 624 | |||
| 625 | diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c | ||
| 626 | index 287fd6c181..8f8d5493da 100644 | ||
| 627 | --- a/src/socket-proxy/socket-proxyd.c | ||
| 628 | +++ b/src/socket-proxy/socket-proxyd.c | ||
| 629 | @@ -27,6 +27,7 @@ | ||
| 630 | #include "set.h" | ||
| 631 | #include "socket-util.h" | ||
| 632 | #include "string-util.h" | ||
| 633 | +#include "missing_stdlib.h" | ||
| 634 | |||
| 635 | #define BUFFER_SIZE (256 * 1024) | ||
| 636 | |||
| 637 | diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c | ||
| 638 | index f884008660..987e180697 100644 | ||
| 639 | --- a/src/test/test-hexdecoct.c | ||
| 640 | +++ b/src/test/test-hexdecoct.c | ||
| 641 | @@ -7,6 +7,7 @@ | ||
| 642 | #include "macro.h" | ||
| 643 | #include "random-util.h" | ||
| 644 | #include "string-util.h" | ||
| 645 | +#include "missing_stdlib.h" | ||
| 646 | #include "tests.h" | ||
| 647 | |||
| 648 | TEST(hexchar) { | ||
| 649 | diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c | ||
| 650 | index 91b40088f4..f528a46b8e 100644 | ||
| 651 | --- a/src/udev/udev-builtin-net_id.c | ||
| 652 | +++ b/src/udev/udev-builtin-net_id.c | ||
| 653 | @@ -39,6 +39,7 @@ | ||
| 654 | #include "strv.h" | ||
| 655 | #include "strxcpyx.h" | ||
| 656 | #include "udev-builtin.h" | ||
| 657 | +#include "missing_stdlib.h" | ||
| 658 | |||
| 659 | #define ONBOARD_14BIT_INDEX_MAX ((1U << 14) - 1) | ||
| 660 | #define ONBOARD_16BIT_INDEX_MAX ((1U << 16) - 1) | ||
| 661 | diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c | ||
| 662 | index 467c9a6ad3..f74dae60af 100644 | ||
| 663 | --- a/src/udev/udev-builtin-path_id.c | ||
| 664 | +++ b/src/udev/udev-builtin-path_id.c | ||
| 665 | @@ -24,6 +24,7 @@ | ||
| 666 | #include "sysexits.h" | ||
| 667 | #include "udev-builtin.h" | ||
| 668 | #include "udev-util.h" | ||
| 669 | +#include "missing_stdlib.h" | ||
| 670 | |||
| 671 | _printf_(2,3) | ||
| 672 | static void path_prepend(char **path, const char *fmt, ...) { | ||
| 673 | diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c | ||
| 674 | index ed22c8b679..19ebe20237 100644 | ||
| 675 | --- a/src/udev/udev-event.c | ||
| 676 | +++ b/src/udev/udev-event.c | ||
| 677 | @@ -16,6 +16,7 @@ | ||
| 678 | #include "udev-util.h" | ||
| 679 | #include "udev-watch.h" | ||
| 680 | #include "user-util.h" | ||
| 681 | +#include "missing_stdlib.h" | ||
| 682 | |||
| 683 | UdevEvent *udev_event_new(sd_device *dev, usec_t exec_delay_usec, sd_netlink *rtnl, int log_level) { | ||
| 684 | UdevEvent *event; | ||
| 685 | diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c | ||
| 686 | index 5f12002394..febe345b4c 100644 | ||
| 687 | --- a/src/udev/udev-rules.c | ||
| 688 | +++ b/src/udev/udev-rules.c | ||
| 689 | @@ -41,6 +41,7 @@ | ||
| 690 | #include "udev-util.h" | ||
| 691 | #include "user-util.h" | ||
| 692 | #include "virt.h" | ||
| 693 | +#include "missing_stdlib.h" | ||
| 694 | |||
| 695 | #define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d")) | ||
| 696 | |||
| 697 | -- | ||
| 698 | 2.34.1 | ||
| 699 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch deleted file mode 100644 index 15877bea88..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch +++ /dev/null | |||
| @@ -1,156 +0,0 @@ | |||
| 1 | From 5325ab5813617f35f03806ec420829dde7104387 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 14:56:21 +0800 | ||
| 4 | Subject: [PATCH 04/22] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not | ||
| 5 | defined | ||
| 6 | |||
| 7 | If the standard library doesn't provide brace | ||
| 8 | expansion users just won't get it. | ||
| 9 | |||
| 10 | Dont use GNU GLOB extentions on non-glibc systems | ||
| 11 | |||
| 12 | Conditionalize use of GLOB_ALTDIRFUNC | ||
| 13 | |||
| 14 | Upstream-Status: Inappropriate [musl specific] | ||
| 15 | |||
| 16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 17 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 18 | [rebased for systemd 243] | ||
| 19 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 20 | --- | ||
| 21 | src/basic/glob-util.c | 12 ++++++++++++ | ||
| 22 | src/test/test-glob-util.c | 16 ++++++++++++++++ | ||
| 23 | src/tmpfiles/tmpfiles.c | 10 ++++++++++ | ||
| 24 | 3 files changed, 38 insertions(+) | ||
| 25 | |||
| 26 | diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c | ||
| 27 | index 802ca8c655..23818a67c6 100644 | ||
| 28 | --- a/src/basic/glob-util.c | ||
| 29 | +++ b/src/basic/glob-util.c | ||
| 30 | @@ -12,6 +12,12 @@ | ||
| 31 | #include "path-util.h" | ||
| 32 | #include "strv.h" | ||
| 33 | |||
| 34 | +/* Don't fail if the standard library | ||
| 35 | + * doesn't provide brace expansion */ | ||
| 36 | +#ifndef GLOB_BRACE | ||
| 37 | +#define GLOB_BRACE 0 | ||
| 38 | +#endif | ||
| 39 | + | ||
| 40 | static void closedir_wrapper(void* v) { | ||
| 41 | (void) closedir(v); | ||
| 42 | } | ||
| 43 | @@ -19,6 +25,7 @@ static void closedir_wrapper(void* v) { | ||
| 44 | int safe_glob(const char *path, int flags, glob_t *pglob) { | ||
| 45 | int k; | ||
| 46 | |||
| 47 | +#ifdef GLOB_ALTDIRFUNC | ||
| 48 | /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */ | ||
| 49 | assert(!(flags & GLOB_ALTDIRFUNC)); | ||
| 50 | |||
| 51 | @@ -32,9 +39,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) { | ||
| 52 | pglob->gl_lstat = lstat; | ||
| 53 | if (!pglob->gl_stat) | ||
| 54 | pglob->gl_stat = stat; | ||
| 55 | +#endif | ||
| 56 | |||
| 57 | errno = 0; | ||
| 58 | +#ifdef GLOB_ALTDIRFUNC | ||
| 59 | k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob); | ||
| 60 | +#else | ||
| 61 | + k = glob(path, flags, NULL, pglob); | ||
| 62 | +#endif | ||
| 63 | if (k == GLOB_NOMATCH) | ||
| 64 | return -ENOENT; | ||
| 65 | if (k == GLOB_NOSPACE) | ||
| 66 | diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c | ||
| 67 | index 9b3e73cce0..3790ba3be5 100644 | ||
| 68 | --- a/src/test/test-glob-util.c | ||
| 69 | +++ b/src/test/test-glob-util.c | ||
| 70 | @@ -34,6 +34,12 @@ TEST(glob_first) { | ||
| 71 | assert_se(first == NULL); | ||
| 72 | } | ||
| 73 | |||
| 74 | +/* Don't fail if the standard library | ||
| 75 | + * doesn't provide brace expansion */ | ||
| 76 | +#ifndef GLOB_BRACE | ||
| 77 | +#define GLOB_BRACE 0 | ||
| 78 | +#endif | ||
| 79 | + | ||
| 80 | TEST(glob_exists) { | ||
| 81 | char name[] = "/tmp/test-glob_exists.XXXXXX"; | ||
| 82 | int fd = -EBADF; | ||
| 83 | @@ -61,11 +67,13 @@ TEST(glob_no_dot) { | ||
| 84 | const char *fn; | ||
| 85 | |||
| 86 | _cleanup_globfree_ glob_t g = { | ||
| 87 | +#ifdef GLOB_ALTDIRFUNC | ||
| 88 | .gl_closedir = closedir_wrapper, | ||
| 89 | .gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot, | ||
| 90 | .gl_opendir = (void *(*)(const char *)) opendir, | ||
| 91 | .gl_lstat = lstat, | ||
| 92 | .gl_stat = stat, | ||
| 93 | +#endif | ||
| 94 | }; | ||
| 95 | |||
| 96 | int r; | ||
| 97 | @@ -73,11 +81,19 @@ TEST(glob_no_dot) { | ||
| 98 | assert_se(mkdtemp(template)); | ||
| 99 | |||
| 100 | fn = strjoina(template, "/*"); | ||
| 101 | +#ifdef GLOB_ALTDIRFUNC | ||
| 102 | r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g); | ||
| 103 | +#else | ||
| 104 | + r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g); | ||
| 105 | +#endif | ||
| 106 | assert_se(r == GLOB_NOMATCH); | ||
| 107 | |||
| 108 | fn = strjoina(template, "/.*"); | ||
| 109 | +#ifdef GLOB_ALTDIRFUNC | ||
| 110 | r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g); | ||
| 111 | +#else | ||
| 112 | + r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g); | ||
| 113 | +#endif | ||
| 114 | assert_se(r == GLOB_NOMATCH); | ||
| 115 | |||
| 116 | (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); | ||
| 117 | diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c | ||
| 118 | index 230ec09b97..2cc5f391d7 100644 | ||
| 119 | --- a/src/tmpfiles/tmpfiles.c | ||
| 120 | +++ b/src/tmpfiles/tmpfiles.c | ||
| 121 | @@ -73,6 +73,12 @@ | ||
| 122 | #include "user-util.h" | ||
| 123 | #include "virt.h" | ||
| 124 | |||
| 125 | +/* Don't fail if the standard library | ||
| 126 | + * doesn't provide brace expansion */ | ||
| 127 | +#ifndef GLOB_BRACE | ||
| 128 | +#define GLOB_BRACE 0 | ||
| 129 | +#endif | ||
| 130 | + | ||
| 131 | /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates | ||
| 132 | * them in the file system. This is intended to be used to create | ||
| 133 | * properly owned directories beneath /tmp, /var/tmp, /run, which are | ||
| 134 | @@ -2434,7 +2440,9 @@ finish: | ||
| 135 | |||
| 136 | static int glob_item(Context *c, Item *i, action_t action) { | ||
| 137 | _cleanup_globfree_ glob_t g = { | ||
| 138 | +#ifdef GLOB_ALTDIRFUNC | ||
| 139 | .gl_opendir = (void *(*)(const char *)) opendir_nomod, | ||
| 140 | +#endif | ||
| 141 | }; | ||
| 142 | int r = 0, k; | ||
| 143 | |||
| 144 | @@ -2461,7 +2469,9 @@ static int glob_item_recursively( | ||
| 145 | fdaction_t action) { | ||
| 146 | |||
| 147 | _cleanup_globfree_ glob_t g = { | ||
| 148 | +#ifdef GLOB_ALTDIRFUNC | ||
| 149 | .gl_opendir = (void *(*)(const char *)) opendir_nomod, | ||
| 150 | +#endif | ||
| 151 | }; | ||
| 152 | int r = 0, k; | ||
| 153 | |||
| 154 | -- | ||
| 155 | 2.34.1 | ||
| 156 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch deleted file mode 100644 index a1dfca22cd..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | From dad7f897c0de654fa5592fda3e90f874639849f9 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 15:00:06 +0800 | ||
| 4 | Subject: [PATCH 05/22] add missing FTW_ macros for musl | ||
| 5 | |||
| 6 | This is to avoid build failures like below for musl. | ||
| 7 | |||
| 8 | locale-util.c:296:24: error: 'FTW_STOP' undeclared | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [musl specific] | ||
| 11 | |||
| 12 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 13 | --- | ||
| 14 | src/basic/missing_type.h | 4 ++++ | ||
| 15 | src/test/test-recurse-dir.c | 1 + | ||
| 16 | 2 files changed, 5 insertions(+) | ||
| 17 | |||
| 18 | diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h | ||
| 19 | index 6c0456349d..73a5b90e3c 100644 | ||
| 20 | --- a/src/basic/missing_type.h | ||
| 21 | +++ b/src/basic/missing_type.h | ||
| 22 | @@ -14,3 +14,7 @@ | ||
| 23 | #ifndef __GLIBC__ | ||
| 24 | typedef int (*comparison_fn_t)(const void *, const void *); | ||
| 25 | #endif | ||
| 26 | + | ||
| 27 | +#ifndef FTW_CONTINUE | ||
| 28 | +#define FTW_CONTINUE 0 | ||
| 29 | +#endif | ||
| 30 | diff --git a/src/test/test-recurse-dir.c b/src/test/test-recurse-dir.c | ||
| 31 | index 8684d064ec..70fc2b5376 100644 | ||
| 32 | --- a/src/test/test-recurse-dir.c | ||
| 33 | +++ b/src/test/test-recurse-dir.c | ||
| 34 | @@ -8,6 +8,7 @@ | ||
| 35 | #include "recurse-dir.h" | ||
| 36 | #include "strv.h" | ||
| 37 | #include "tests.h" | ||
| 38 | +#include "missing_type.h" | ||
| 39 | |||
| 40 | static char **list_nftw = NULL; | ||
| 41 | |||
| 42 | -- | ||
| 43 | 2.34.1 | ||
| 44 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-Use-uintmax_t-for-handling-rlim_t.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-Use-uintmax_t-for-handling-rlim_t.patch deleted file mode 100644 index 4be14b72ec..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-Use-uintmax_t-for-handling-rlim_t.patch +++ /dev/null | |||
| @@ -1,106 +0,0 @@ | |||
| 1 | From 96e975a2412a20e5f80bd3ab144057d275eb8597 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 15:12:41 +0800 | ||
| 4 | Subject: [PATCH 06/22] Use uintmax_t for handling rlim_t | ||
| 5 | |||
| 6 | PRIu{32,64} is not right format to represent rlim_t type | ||
| 7 | therefore use %ju and typecast the rlim_t variables to | ||
| 8 | uintmax_t. | ||
| 9 | |||
| 10 | Fixes portablility errors like | ||
| 11 | |||
| 12 | execute.c:3446:36: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'rlim_t {aka long long unsigned int}' [-Werror=format=] | ||
| 13 | | fprintf(f, "%s%s: " RLIM_FMT "\n", | ||
| 14 | | ^~~~~~~~ | ||
| 15 | | prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max); | ||
| 16 | | ~~~~~~~~~~~~~~~~~~~~~~ | ||
| 17 | |||
| 18 | Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199] | ||
| 19 | |||
| 20 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 21 | [Rebased for v241] | ||
| 22 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 23 | --- | ||
| 24 | src/basic/format-util.h | 8 +------- | ||
| 25 | src/basic/rlimit-util.c | 12 ++++++------ | ||
| 26 | src/core/execute.c | 4 ++-- | ||
| 27 | 3 files changed, 9 insertions(+), 15 deletions(-) | ||
| 28 | |||
| 29 | diff --git a/src/basic/format-util.h b/src/basic/format-util.h | ||
| 30 | index 8719df3e29..9becc96066 100644 | ||
| 31 | --- a/src/basic/format-util.h | ||
| 32 | +++ b/src/basic/format-util.h | ||
| 33 | @@ -34,13 +34,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t)); | ||
| 34 | # error Unknown timex member size | ||
| 35 | #endif | ||
| 36 | |||
| 37 | -#if SIZEOF_RLIM_T == 8 | ||
| 38 | -# define RLIM_FMT "%" PRIu64 | ||
| 39 | -#elif SIZEOF_RLIM_T == 4 | ||
| 40 | -# define RLIM_FMT "%" PRIu32 | ||
| 41 | -#else | ||
| 42 | -# error Unknown rlim_t size | ||
| 43 | -#endif | ||
| 44 | +#define RLIM_FMT "%ju" | ||
| 45 | |||
| 46 | #if SIZEOF_DEV_T == 8 | ||
| 47 | # define DEV_FMT "%" PRIu64 | ||
| 48 | diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c | ||
| 49 | index c1f0b2b974..61c5412582 100644 | ||
| 50 | --- a/src/basic/rlimit-util.c | ||
| 51 | +++ b/src/basic/rlimit-util.c | ||
| 52 | @@ -44,7 +44,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) { | ||
| 53 | fixed.rlim_max == highest.rlim_max) | ||
| 54 | return 0; | ||
| 55 | |||
| 56 | - log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", rlim->rlim_max, rlimit_to_string(resource), fixed.rlim_max); | ||
| 57 | + log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", (uintmax_t)rlim->rlim_max, rlimit_to_string(resource), (uintmax_t)fixed.rlim_max); | ||
| 58 | |||
| 59 | return RET_NERRNO(setrlimit(resource, &fixed)); | ||
| 60 | } | ||
| 61 | @@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { | ||
| 62 | if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) | ||
| 63 | r = free_and_strdup(&s, "infinity"); | ||
| 64 | else if (rl->rlim_cur >= RLIM_INFINITY) | ||
| 65 | - r = asprintf(&s, "infinity:" RLIM_FMT, rl->rlim_max); | ||
| 66 | + r = asprintf(&s, "infinity:" RLIM_FMT, (uintmax_t)rl->rlim_max); | ||
| 67 | else if (rl->rlim_max >= RLIM_INFINITY) | ||
| 68 | - r = asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur); | ||
| 69 | + r = asprintf(&s, RLIM_FMT ":infinity", (uintmax_t)rl->rlim_cur); | ||
| 70 | else if (rl->rlim_cur == rl->rlim_max) | ||
| 71 | - r = asprintf(&s, RLIM_FMT, rl->rlim_cur); | ||
| 72 | + r = asprintf(&s, RLIM_FMT, (uintmax_t)rl->rlim_cur); | ||
| 73 | else | ||
| 74 | - r = asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max); | ||
| 75 | + r = asprintf(&s, RLIM_FMT ":" RLIM_FMT, (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max); | ||
| 76 | if (r < 0) | ||
| 77 | return -ENOMEM; | ||
| 78 | |||
| 79 | @@ -422,7 +422,7 @@ int rlimit_nofile_safe(void) { | ||
| 80 | rl.rlim_max = MIN(rl.rlim_max, (rlim_t) read_nr_open()); | ||
| 81 | rl.rlim_cur = MIN((rlim_t) FD_SETSIZE, rl.rlim_max); | ||
| 82 | if (setrlimit(RLIMIT_NOFILE, &rl) < 0) | ||
| 83 | - return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur); | ||
| 84 | + return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur); | ||
| 85 | |||
| 86 | return 1; | ||
| 87 | } | ||
| 88 | diff --git a/src/core/execute.c b/src/core/execute.c | ||
| 89 | index bd3da0c401..df1870fd2f 100644 | ||
| 90 | --- a/src/core/execute.c | ||
| 91 | +++ b/src/core/execute.c | ||
| 92 | @@ -1045,9 +1045,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { | ||
| 93 | for (unsigned i = 0; i < RLIM_NLIMITS; i++) | ||
| 94 | if (c->rlimit[i]) { | ||
| 95 | fprintf(f, "%sLimit%s: " RLIM_FMT "\n", | ||
| 96 | - prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max); | ||
| 97 | + prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max); | ||
| 98 | fprintf(f, "%sLimit%sSoft: " RLIM_FMT "\n", | ||
| 99 | - prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur); | ||
| 100 | + prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur); | ||
| 101 | } | ||
| 102 | |||
| 103 | if (c->ioprio_set) { | ||
| 104 | -- | ||
| 105 | 2.34.1 | ||
| 106 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch deleted file mode 100644 index 8d6084239e..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch +++ /dev/null | |||
| @@ -1,99 +0,0 @@ | |||
| 1 | From 4842cff4f1329f0b5034b529d56f8ad1f234ac4c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andre McCurdy <armccurdy@gmail.com> | ||
| 3 | Date: Tue, 10 Oct 2017 14:33:30 -0700 | ||
| 4 | Subject: [PATCH 07/22] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() | ||
| 5 | |||
| 6 | Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right | ||
| 7 | thing to do and it's not portable (not supported by musl). See: | ||
| 8 | |||
| 9 | http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html | ||
| 10 | http://www.openwall.com/lists/musl/2015/02/05/2 | ||
| 11 | |||
| 12 | Note that laccess() is never passing AT_EACCESS so a lot of the | ||
| 13 | discussion in the links above doesn't apply. Note also that | ||
| 14 | (currently) all systemd callers of laccess() pass mode as F_OK, so | ||
| 15 | only check for existence of a file, not access permissions. | ||
| 16 | Therefore, in this case, the only distiction between faccessat() | ||
| 17 | with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour | ||
| 18 | for broken symlinks; laccess() on a broken symlink will succeed with | ||
| 19 | (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0). | ||
| 20 | |||
| 21 | The laccess() macros was added to systemd some time ago and it's not | ||
| 22 | clear if or why it needs to return success for broken symlinks. Maybe | ||
| 23 | just historical and not actually necessary or desired behaviour? | ||
| 24 | |||
| 25 | Upstream-Status: Inappropriate [musl specific] | ||
| 26 | |||
| 27 | Signed-off-by: Andre McCurdy <armccurdy@gmail.com> | ||
| 28 | --- | ||
| 29 | src/basic/fs-util.h | 21 ++++++++++++++++++++- | ||
| 30 | src/shared/base-filesystem.c | 6 +++--- | ||
| 31 | 2 files changed, 23 insertions(+), 4 deletions(-) | ||
| 32 | |||
| 33 | diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h | ||
| 34 | index 1023ab73ca..c78ff6f27f 100644 | ||
| 35 | --- a/src/basic/fs-util.h | ||
| 36 | +++ b/src/basic/fs-util.h | ||
| 37 | @@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); | ||
| 38 | int fd_warn_permissions(const char *path, int fd); | ||
| 39 | int stat_warn_permissions(const char *path, const struct stat *st); | ||
| 40 | |||
| 41 | +/* | ||
| 42 | + Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to | ||
| 43 | + do and it's not portable (not supported by musl). See: | ||
| 44 | + | ||
| 45 | + http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html | ||
| 46 | + http://www.openwall.com/lists/musl/2015/02/05/2 | ||
| 47 | + | ||
| 48 | + Note that laccess() is never passing AT_EACCESS so a lot of the discussion in | ||
| 49 | + the links above doesn't apply. Note also that (currently) all systemd callers | ||
| 50 | + of laccess() pass mode as F_OK, so only check for existence of a file, not | ||
| 51 | + access permissions. Therefore, in this case, the only distiction between | ||
| 52 | + faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the | ||
| 53 | + behaviour for broken symlinks; laccess() on a broken symlink will succeed | ||
| 54 | + with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0). | ||
| 55 | + | ||
| 56 | + The laccess() macros was added to systemd some time ago and it's not clear if | ||
| 57 | + or why it needs to return success for broken symlinks. Maybe just historical | ||
| 58 | + and not actually necessary or desired behaviour? | ||
| 59 | +*/ | ||
| 60 | #define laccess(path, mode) \ | ||
| 61 | - RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)) | ||
| 62 | + RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), 0)) | ||
| 63 | |||
| 64 | int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode); | ||
| 65 | |||
| 66 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c | ||
| 67 | index 569ef466c3..7ae921a113 100644 | ||
| 68 | --- a/src/shared/base-filesystem.c | ||
| 69 | +++ b/src/shared/base-filesystem.c | ||
| 70 | @@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { | ||
| 71 | /* The "root" parameter is decoration only – it's only used as part of log messages */ | ||
| 72 | |||
| 73 | for (size_t i = 0; i < ELEMENTSOF(table); i++) { | ||
| 74 | - if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0) | ||
| 75 | + if (faccessat(fd, table[i].dir, F_OK, 0) >= 0) | ||
| 76 | continue; | ||
| 77 | |||
| 78 | if (table[i].target) { /* Create as symlink? */ | ||
| 79 | @@ -153,7 +153,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { | ||
| 80 | |||
| 81 | /* check if one of the targets exists */ | ||
| 82 | NULSTR_FOREACH(s, table[i].target) { | ||
| 83 | - if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0) | ||
| 84 | + if (faccessat(fd, s, F_OK, 0) < 0) | ||
| 85 | continue; | ||
| 86 | |||
| 87 | /* check if a specific file exists at the target path */ | ||
| 88 | @@ -164,7 +164,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { | ||
| 89 | if (!p) | ||
| 90 | return log_oom(); | ||
| 91 | |||
| 92 | - if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0) | ||
| 93 | + if (faccessat(fd, p, F_OK, 0) < 0) | ||
| 94 | continue; | ||
| 95 | } | ||
| 96 | |||
| 97 | -- | ||
| 98 | 2.34.1 | ||
| 99 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch deleted file mode 100644 index c1a8bb19fe..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | From bab07e779ff23d5593bb118efaaa31b60a6dce87 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sun, 27 May 2018 08:36:44 -0700 | ||
| 4 | Subject: [PATCH 08/22] Define glibc compatible basename() for non-glibc | ||
| 5 | systems | ||
| 6 | |||
| 7 | Fixes builds with musl, even though systemd is adamant about | ||
| 8 | using non-posix basename implementation, we have a way out | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [musl specific] | ||
| 11 | |||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | src/basic/string-util.h | 4 ++++ | ||
| 15 | 1 file changed, 4 insertions(+) | ||
| 16 | |||
| 17 | diff --git a/src/basic/string-util.h b/src/basic/string-util.h | ||
| 18 | index b6d8be3083..0a29036c4c 100644 | ||
| 19 | --- a/src/basic/string-util.h | ||
| 20 | +++ b/src/basic/string-util.h | ||
| 21 | @@ -26,6 +26,10 @@ | ||
| 22 | #define URI_UNRESERVED ALPHANUMERICAL "-._~" /* [RFC3986] */ | ||
| 23 | #define URI_VALID URI_RESERVED URI_UNRESERVED /* [RFC3986] */ | ||
| 24 | |||
| 25 | +#if !defined(__GLIBC__) | ||
| 26 | +#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src) | ||
| 27 | +#endif | ||
| 28 | + | ||
| 29 | static inline char* strstr_ptr(const char *haystack, const char *needle) { | ||
| 30 | if (!haystack || !needle) | ||
| 31 | return NULL; | ||
| 32 | -- | ||
| 33 | 2.34.1 | ||
| 34 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch deleted file mode 100644 index acff18dc43..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | From 5712d56f1cd654d2e5d2e9117ff77fe4c299f76b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sat, 5 Sep 2015 06:31:47 +0000 | ||
| 4 | Subject: [PATCH] implment systemd-sysv-install for OE | ||
| 5 | |||
| 6 | Use update-rc.d for enabling/disabling and status command | ||
| 7 | to check the status of the sysv service | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [OE-Specific] | ||
| 10 | |||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | src/systemctl/systemd-sysv-install.SKELETON | 6 +++--- | ||
| 14 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/src/systemctl/systemd-sysv-install.SKELETON b/src/systemctl/systemd-sysv-install.SKELETON | ||
| 17 | index cb58d8243b..000bdf6165 100755 | ||
| 18 | --- a/src/systemctl/systemd-sysv-install.SKELETON | ||
| 19 | +++ b/src/systemctl/systemd-sysv-install.SKELETON | ||
| 20 | @@ -34,17 +34,17 @@ case "$1" in | ||
| 21 | enable) | ||
| 22 | # call the command to enable SysV init script $NAME here | ||
| 23 | # (consider optional $ROOT) | ||
| 24 | - echo "IMPLEMENT ME: enabling SysV init.d script $NAME" | ||
| 25 | + update-rc.d -f $NAME defaults | ||
| 26 | ;; | ||
| 27 | disable) | ||
| 28 | # call the command to disable SysV init script $NAME here | ||
| 29 | # (consider optional $ROOT) | ||
| 30 | - echo "IMPLEMENT ME: disabling SysV init.d script $NAME" | ||
| 31 | + update-rc.d -f $NAME remove | ||
| 32 | ;; | ||
| 33 | is-enabled) | ||
| 34 | # exit with 0 if $NAME is enabled, non-zero if it is disabled | ||
| 35 | # (consider optional $ROOT) | ||
| 36 | - echo "IMPLEMENT ME: checking SysV init.d script $NAME" | ||
| 37 | + /etc/init.d/$NAME status | ||
| 38 | ;; | ||
| 39 | *) | ||
| 40 | usage ;; | ||
| 41 | -- | ||
| 42 | 2.39.2 | ||
| 43 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch deleted file mode 100644 index 3ff0177ae3..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | From 25093c5017725b8577c444dfea0f42ad85b43522 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Wed, 4 Jul 2018 15:00:44 +0800 | ||
| 4 | Subject: [PATCH 09/22] Do not disable buffering when writing to oom_score_adj | ||
| 5 | |||
| 6 | On musl, disabling buffering when writing to oom_score_adj will | ||
| 7 | cause the following error. | ||
| 8 | |||
| 9 | Failed to adjust OOM setting: Invalid argument | ||
| 10 | |||
| 11 | This error appears for systemd-udevd.service and dbus.service. | ||
| 12 | This is because kernel receives '-' instead of the whole '-900' | ||
| 13 | if buffering is disabled. | ||
| 14 | |||
| 15 | This is libc implementation specific, as glibc does not have this issue. | ||
| 16 | |||
| 17 | Upstream-Status: Inappropriate [musl specific] | ||
| 18 | |||
| 19 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 20 | [rebased for systemd 243] | ||
| 21 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 22 | --- | ||
| 23 | src/basic/process-util.c | 2 +- | ||
| 24 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 25 | |||
| 26 | diff --git a/src/basic/process-util.c b/src/basic/process-util.c | ||
| 27 | index 201c5596ae..ea51595b6c 100644 | ||
| 28 | --- a/src/basic/process-util.c | ||
| 29 | +++ b/src/basic/process-util.c | ||
| 30 | @@ -1716,7 +1716,7 @@ int set_oom_score_adjust(int value) { | ||
| 31 | xsprintf(t, "%i", value); | ||
| 32 | |||
| 33 | return write_string_file("/proc/self/oom_score_adj", t, | ||
| 34 | - WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 35 | + WRITE_STRING_FILE_VERIFY_ON_FAILURE); | ||
| 36 | } | ||
| 37 | |||
| 38 | int get_oom_score_adjust(int *ret) { | ||
| 39 | -- | ||
| 40 | 2.34.1 | ||
| 41 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch deleted file mode 100644 index cf59ac7d06..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch +++ /dev/null | |||
| @@ -1,76 +0,0 @@ | |||
| 1 | From 2adbe9773cd65c48eec9df96868d4a738927c8d9 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Tue, 10 Jul 2018 15:40:17 +0800 | ||
| 4 | Subject: [PATCH 10/22] distinguish XSI-compliant strerror_r from GNU-specifi | ||
| 5 | strerror_r | ||
| 6 | |||
| 7 | XSI-compliant strerror_r and GNU-specifi strerror_r are different. | ||
| 8 | |||
| 9 | int strerror_r(int errnum, char *buf, size_t buflen); | ||
| 10 | /* XSI-compliant */ | ||
| 11 | |||
| 12 | char *strerror_r(int errnum, char *buf, size_t buflen); | ||
| 13 | /* GNU-specific */ | ||
| 14 | |||
| 15 | We need to distinguish between them. Otherwise, we'll get an int value | ||
| 16 | assigned to (char *) variable, resulting in segment fault. | ||
| 17 | |||
| 18 | Upstream-Status: Inappropriate [musl specific] | ||
| 19 | |||
| 20 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 21 | --- | ||
| 22 | src/libsystemd/sd-bus/bus-error.c | 11 ++++++++++- | ||
| 23 | src/libsystemd/sd-journal/journal-send.c | 5 +++++ | ||
| 24 | 2 files changed, 15 insertions(+), 1 deletion(-) | ||
| 25 | |||
| 26 | diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c | ||
| 27 | index 77b2e1a0fd..fdba0e0142 100644 | ||
| 28 | --- a/src/libsystemd/sd-bus/bus-error.c | ||
| 29 | +++ b/src/libsystemd/sd-bus/bus-error.c | ||
| 30 | @@ -408,7 +408,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { | ||
| 31 | return; | ||
| 32 | |||
| 33 | errno = 0; | ||
| 34 | +#ifndef __GLIBC__ | ||
| 35 | + strerror_r(error, m, k); | ||
| 36 | + x = m; | ||
| 37 | +#else | ||
| 38 | x = strerror_r(error, m, k); | ||
| 39 | +#endif | ||
| 40 | if (errno == ERANGE || strlen(x) >= k - 1) { | ||
| 41 | free(m); | ||
| 42 | k *= 2; | ||
| 43 | @@ -593,8 +598,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static | ||
| 44 | |||
| 45 | if (e && e->message) | ||
| 46 | return e->message; | ||
| 47 | - | ||
| 48 | +#ifndef __GLIBC__ | ||
| 49 | + strerror_r(abs(error), buf, ERRNO_BUF_LEN); | ||
| 50 | + return buf; | ||
| 51 | +#else | ||
| 52 | return strerror_r(abs(error), buf, ERRNO_BUF_LEN); | ||
| 53 | +#endif | ||
| 54 | } | ||
| 55 | |||
| 56 | static bool map_ok(const sd_bus_error_map *map) { | ||
| 57 | diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c | ||
| 58 | index 69a2eb6404..1561859650 100644 | ||
| 59 | --- a/src/libsystemd/sd-journal/journal-send.c | ||
| 60 | +++ b/src/libsystemd/sd-journal/journal-send.c | ||
| 61 | @@ -361,7 +361,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove | ||
| 62 | char* j; | ||
| 63 | |||
| 64 | errno = 0; | ||
| 65 | +#ifndef __GLIBC__ | ||
| 66 | + strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); | ||
| 67 | + j = buffer + 8 + k; | ||
| 68 | +#else | ||
| 69 | j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); | ||
| 70 | +#endif | ||
| 71 | if (errno == 0) { | ||
| 72 | char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1]; | ||
| 73 | |||
| 74 | -- | ||
| 75 | 2.34.1 | ||
| 76 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch deleted file mode 100644 index e481b2e2e4..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch +++ /dev/null | |||
| @@ -1,32 +0,0 @@ | |||
| 1 | From 49c446cfb78cf74a909bed8c3798b77a5469866a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Mon, 25 Feb 2019 15:44:54 +0800 | ||
| 4 | Subject: [PATCH 11/22] avoid redefinition of prctl_mm_map structure | ||
| 5 | |||
| 6 | Fix the following compile failure: | ||
| 7 | error: redefinition of 'struct prctl_mm_map' | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [musl specific] | ||
| 10 | |||
| 11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 12 | --- | ||
| 13 | src/basic/missing_prctl.h | 2 ++ | ||
| 14 | 1 file changed, 2 insertions(+) | ||
| 15 | |||
| 16 | diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h | ||
| 17 | index 7d9e395c92..88c2d7dfac 100644 | ||
| 18 | --- a/src/basic/missing_prctl.h | ||
| 19 | +++ b/src/basic/missing_prctl.h | ||
| 20 | @@ -1,7 +1,9 @@ | ||
| 21 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 22 | #pragma once | ||
| 23 | |||
| 24 | +#ifdef __GLIBC__ | ||
| 25 | #include <linux/prctl.h> | ||
| 26 | +#endif | ||
| 27 | |||
| 28 | /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ | ||
| 29 | #ifndef PR_CAP_AMBIENT | ||
| 30 | -- | ||
| 31 | 2.34.1 | ||
| 32 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-do-not-disable-buffer-in-writing-files.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-do-not-disable-buffer-in-writing-files.patch deleted file mode 100644 index c23d9b7551..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-do-not-disable-buffer-in-writing-files.patch +++ /dev/null | |||
| @@ -1,515 +0,0 @@ | |||
| 1 | From e4885a8e60f883d9217e26e1db3754c2906aca31 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Fri, 1 Mar 2019 15:22:15 +0800 | ||
| 4 | Subject: [PATCH 12/22] do not disable buffer in writing files | ||
| 5 | |||
| 6 | Do not disable buffer in writing files, otherwise we get | ||
| 7 | failure at boot for musl like below. | ||
| 8 | |||
| 9 | [!!!!!!] Failed to allocate manager object. | ||
| 10 | |||
| 11 | And there will be other failures, critical or not critical. | ||
| 12 | This is specific to musl. | ||
| 13 | |||
| 14 | Upstream-Status: Inappropriate [musl] | ||
| 15 | |||
| 16 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 17 | [Rebased for v242] | ||
| 18 | Signed-off-by: Andrej Valek <andrej.valek@siemens.com> | ||
| 19 | [rebased for systemd 243] | ||
| 20 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 21 | [rebased for systemd 254] | ||
| 22 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 23 | [rebased for systemd 255.1] | ||
| 24 | --- | ||
| 25 | src/basic/cgroup-util.c | 12 ++++++------ | ||
| 26 | src/basic/namespace-util.c | 4 ++-- | ||
| 27 | src/basic/procfs-util.c | 4 ++-- | ||
| 28 | src/basic/sysctl-util.c | 2 +- | ||
| 29 | src/binfmt/binfmt.c | 6 +++--- | ||
| 30 | src/core/cgroup.c | 2 +- | ||
| 31 | src/core/main.c | 2 +- | ||
| 32 | src/core/smack-setup.c | 8 ++++---- | ||
| 33 | src/home/homework.c | 2 +- | ||
| 34 | src/libsystemd/sd-device/sd-device.c | 2 +- | ||
| 35 | src/nspawn/nspawn-cgroup.c | 2 +- | ||
| 36 | src/nspawn/nspawn.c | 6 +++--- | ||
| 37 | src/shared/binfmt-util.c | 2 +- | ||
| 38 | src/shared/cgroup-setup.c | 4 ++-- | ||
| 39 | src/shared/coredump-util.c | 4 ++-- | ||
| 40 | src/shared/hibernate-util.c | 4 ++-- | ||
| 41 | src/shared/smack-util.c | 2 +- | ||
| 42 | src/shared/watchdog.c | 2 +- | ||
| 43 | src/sleep/sleep.c | 4 ++-- | ||
| 44 | src/storagetm/storagetm.c | 24 ++++++++++++------------ | ||
| 45 | src/udev/udev-rules.c | 1 - | ||
| 46 | src/vconsole/vconsole-setup.c | 2 +- | ||
| 47 | 22 files changed, 50 insertions(+), 51 deletions(-) | ||
| 48 | |||
| 49 | --- a/src/basic/cgroup-util.c | ||
| 50 | +++ b/src/basic/cgroup-util.c | ||
| 51 | @@ -417,7 +417,7 @@ int cg_kill_kernel_sigkill(const char *p | ||
| 52 | if (r < 0) | ||
| 53 | return r; | ||
| 54 | |||
| 55 | - r = write_string_file(killfile, "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 56 | + r = write_string_file(killfile, "1", 0); | ||
| 57 | if (r < 0) | ||
| 58 | return r; | ||
| 59 | |||
| 60 | @@ -843,7 +843,7 @@ int cg_install_release_agent(const char | ||
| 61 | |||
| 62 | sc = strstrip(contents); | ||
| 63 | if (isempty(sc)) { | ||
| 64 | - r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 65 | + r = write_string_file(fs, agent, 0); | ||
| 66 | if (r < 0) | ||
| 67 | return r; | ||
| 68 | } else if (!path_equal(sc, agent)) | ||
| 69 | @@ -861,7 +861,7 @@ int cg_install_release_agent(const char | ||
| 70 | |||
| 71 | sc = strstrip(contents); | ||
| 72 | if (streq(sc, "0")) { | ||
| 73 | - r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 74 | + r = write_string_file(fs, "1", 0); | ||
| 75 | if (r < 0) | ||
| 76 | return r; | ||
| 77 | |||
| 78 | @@ -888,7 +888,7 @@ int cg_uninstall_release_agent(const cha | ||
| 79 | if (r < 0) | ||
| 80 | return r; | ||
| 81 | |||
| 82 | - r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 83 | + r = write_string_file(fs, "0", 0); | ||
| 84 | if (r < 0) | ||
| 85 | return r; | ||
| 86 | |||
| 87 | @@ -898,7 +898,7 @@ int cg_uninstall_release_agent(const cha | ||
| 88 | if (r < 0) | ||
| 89 | return r; | ||
| 90 | |||
| 91 | - r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 92 | + r = write_string_file(fs, "", 0); | ||
| 93 | if (r < 0) | ||
| 94 | return r; | ||
| 95 | |||
| 96 | @@ -1814,7 +1814,7 @@ int cg_set_attribute(const char *control | ||
| 97 | if (r < 0) | ||
| 98 | return r; | ||
| 99 | |||
| 100 | - return write_string_file(p, value, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 101 | + return write_string_file(p, value, 0); | ||
| 102 | } | ||
| 103 | |||
| 104 | int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { | ||
| 105 | --- a/src/basic/namespace-util.c | ||
| 106 | +++ b/src/basic/namespace-util.c | ||
| 107 | @@ -227,12 +227,12 @@ int userns_acquire(const char *uid_map, | ||
| 108 | freeze(); | ||
| 109 | |||
| 110 | xsprintf(path, "/proc/" PID_FMT "/uid_map", pid); | ||
| 111 | - r = write_string_file(path, uid_map, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 112 | + r = write_string_file(path, uid_map, 0); | ||
| 113 | if (r < 0) | ||
| 114 | return log_error_errno(r, "Failed to write UID map: %m"); | ||
| 115 | |||
| 116 | xsprintf(path, "/proc/" PID_FMT "/gid_map", pid); | ||
| 117 | - r = write_string_file(path, gid_map, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 118 | + r = write_string_file(path, gid_map, 0); | ||
| 119 | if (r < 0) | ||
| 120 | return log_error_errno(r, "Failed to write GID map: %m"); | ||
| 121 | |||
| 122 | --- a/src/basic/procfs-util.c | ||
| 123 | +++ b/src/basic/procfs-util.c | ||
| 124 | @@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limi | ||
| 125 | * decrease it, as threads-max is the much more relevant sysctl. */ | ||
| 126 | if (limit > pid_max-1) { | ||
| 127 | sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */ | ||
| 128 | - r = write_string_file("/proc/sys/kernel/pid_max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 129 | + r = write_string_file("/proc/sys/kernel/pid_max", buffer, 0); | ||
| 130 | if (r < 0) | ||
| 131 | return r; | ||
| 132 | } | ||
| 133 | |||
| 134 | sprintf(buffer, "%" PRIu64, limit); | ||
| 135 | - r = write_string_file("/proc/sys/kernel/threads-max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 136 | + r = write_string_file("/proc/sys/kernel/threads-max", buffer, 0); | ||
| 137 | if (r < 0) { | ||
| 138 | uint64_t threads_max; | ||
| 139 | |||
| 140 | --- a/src/basic/sysctl-util.c | ||
| 141 | +++ b/src/basic/sysctl-util.c | ||
| 142 | @@ -58,7 +58,7 @@ int sysctl_write(const char *property, c | ||
| 143 | |||
| 144 | log_debug("Setting '%s' to '%s'", p, value); | ||
| 145 | |||
| 146 | - return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL); | ||
| 147 | + return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL); | ||
| 148 | } | ||
| 149 | |||
| 150 | int sysctl_writef(const char *property, const char *format, ...) { | ||
| 151 | --- a/src/binfmt/binfmt.c | ||
| 152 | +++ b/src/binfmt/binfmt.c | ||
| 153 | @@ -30,7 +30,7 @@ static bool arg_unregister = false; | ||
| 154 | |||
| 155 | static int delete_rule(const char *rulename) { | ||
| 156 | const char *fn = strjoina("/proc/sys/fs/binfmt_misc/", rulename); | ||
| 157 | - return write_string_file(fn, "-1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 158 | + return write_string_file(fn, "-1", 0); | ||
| 159 | } | ||
| 160 | |||
| 161 | static int apply_rule(const char *filename, unsigned line, const char *rule) { | ||
| 162 | @@ -58,7 +58,7 @@ static int apply_rule(const char *filena | ||
| 163 | if (r >= 0) | ||
| 164 | log_debug("%s:%u: Rule '%s' deleted.", filename, line, rulename); | ||
| 165 | |||
| 166 | - r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 167 | + r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, 0); | ||
| 168 | if (r < 0) | ||
| 169 | return log_error_errno(r, "%s:%u: Failed to add binary format '%s': %m", | ||
| 170 | filename, line, rulename); | ||
| 171 | @@ -248,7 +248,7 @@ static int run(int argc, char *argv[]) { | ||
| 172 | return r; | ||
| 173 | |||
| 174 | /* Flush out all rules */ | ||
| 175 | - r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 176 | + r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0); | ||
| 177 | if (r < 0) | ||
| 178 | log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m"); | ||
| 179 | else | ||
| 180 | --- a/src/core/cgroup.c | ||
| 181 | +++ b/src/core/cgroup.c | ||
| 182 | @@ -4578,7 +4578,7 @@ int unit_cgroup_freezer_action(Unit *u, | ||
| 183 | u->freezer_state = FREEZER_THAWING; | ||
| 184 | } | ||
| 185 | |||
| 186 | - r = write_string_file(path, one_zero(action == FREEZER_FREEZE), WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 187 | + r = write_string_file(path, one_zero(action == FREEZER_FREEZE), 0); | ||
| 188 | if (r < 0) | ||
| 189 | return r; | ||
| 190 | |||
| 191 | --- a/src/core/main.c | ||
| 192 | +++ b/src/core/main.c | ||
| 193 | @@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool | ||
| 194 | if (getpid_cached() != 1) | ||
| 195 | return; | ||
| 196 | |||
| 197 | - r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 198 | + r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, 0); | ||
| 199 | if (r < 0) | ||
| 200 | log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", | ||
| 201 | arg_early_core_pattern); | ||
| 202 | --- a/src/core/smack-setup.c | ||
| 203 | +++ b/src/core/smack-setup.c | ||
| 204 | @@ -321,17 +321,17 @@ int mac_smack_setup(bool *loaded_policy) | ||
| 205 | } | ||
| 206 | |||
| 207 | #if HAVE_SMACK_RUN_LABEL | ||
| 208 | - r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 209 | + r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, 0); | ||
| 210 | if (r < 0) | ||
| 211 | log_warning_errno(r, "Failed to set SMACK label \"" SMACK_RUN_LABEL "\" on self: %m"); | ||
| 212 | - r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 213 | + r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, 0); | ||
| 214 | if (r < 0) | ||
| 215 | log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m"); | ||
| 216 | r = write_string_file("/sys/fs/smackfs/netlabel", | ||
| 217 | - "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 218 | + "0.0.0.0/0 " SMACK_RUN_LABEL, 0); | ||
| 219 | if (r < 0) | ||
| 220 | log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m"); | ||
| 221 | - r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 222 | + r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", 0); | ||
| 223 | if (r < 0) | ||
| 224 | log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); | ||
| 225 | #endif | ||
| 226 | --- a/src/home/homework.c | ||
| 227 | +++ b/src/home/homework.c | ||
| 228 | @@ -278,7 +278,7 @@ static void drop_caches_now(void) { | ||
| 229 | * for details. We write "2" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but | ||
| 230 | * not more. */ | ||
| 231 | |||
| 232 | - r = write_string_file("/proc/sys/vm/drop_caches", "2\n", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 233 | + r = write_string_file("/proc/sys/vm/drop_caches", "2\n", 0); | ||
| 234 | if (r < 0) | ||
| 235 | log_warning_errno(r, "Failed to drop caches, ignoring: %m"); | ||
| 236 | else | ||
| 237 | --- a/src/libsystemd/sd-device/sd-device.c | ||
| 238 | +++ b/src/libsystemd/sd-device/sd-device.c | ||
| 239 | @@ -2516,7 +2516,7 @@ _public_ int sd_device_set_sysattr_value | ||
| 240 | if (!value) | ||
| 241 | return -ENOMEM; | ||
| 242 | |||
| 243 | - r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW); | ||
| 244 | + r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW); | ||
| 245 | if (r < 0) { | ||
| 246 | /* On failure, clear cache entry, as we do not know how it fails. */ | ||
| 247 | device_remove_cached_sysattr_value(device, sysattr); | ||
| 248 | --- a/src/nspawn/nspawn-cgroup.c | ||
| 249 | +++ b/src/nspawn/nspawn-cgroup.c | ||
| 250 | @@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified | ||
| 251 | fn = strjoina(tree, cgroup, "/cgroup.procs"); | ||
| 252 | |||
| 253 | sprintf(pid_string, PID_FMT, pid); | ||
| 254 | - r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755); | ||
| 255 | + r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755); | ||
| 256 | if (r < 0) { | ||
| 257 | log_error_errno(r, "Failed to move process: %m"); | ||
| 258 | goto finish; | ||
| 259 | --- a/src/nspawn/nspawn.c | ||
| 260 | +++ b/src/nspawn/nspawn.c | ||
| 261 | @@ -2690,7 +2690,7 @@ static int reset_audit_loginuid(void) { | ||
| 262 | if (streq(p, "4294967295")) | ||
| 263 | return 0; | ||
| 264 | |||
| 265 | - r = write_string_file("/proc/self/loginuid", "4294967295", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 266 | + r = write_string_file("/proc/self/loginuid", "4294967295", 0); | ||
| 267 | if (r < 0) { | ||
| 268 | log_error_errno(r, | ||
| 269 | "Failed to reset audit login UID. This probably means that your kernel is too\n" | ||
| 270 | @@ -4143,7 +4143,7 @@ static int setup_uid_map( | ||
| 271 | return log_oom(); | ||
| 272 | |||
| 273 | xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); | ||
| 274 | - r = write_string_file(uid_map, s, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 275 | + r = write_string_file(uid_map, s, 0); | ||
| 276 | if (r < 0) | ||
| 277 | return log_error_errno(r, "Failed to write UID map: %m"); | ||
| 278 | |||
| 279 | @@ -4153,7 +4153,7 @@ static int setup_uid_map( | ||
| 280 | return log_oom(); | ||
| 281 | |||
| 282 | xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid); | ||
| 283 | - r = write_string_file(uid_map, s, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 284 | + r = write_string_file(uid_map, s, 0); | ||
| 285 | if (r < 0) | ||
| 286 | return log_error_errno(r, "Failed to write GID map: %m"); | ||
| 287 | |||
| 288 | --- a/src/shared/binfmt-util.c | ||
| 289 | +++ b/src/shared/binfmt-util.c | ||
| 290 | @@ -46,7 +46,7 @@ int disable_binfmt(void) { | ||
| 291 | return 0; | ||
| 292 | } | ||
| 293 | |||
| 294 | - r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 295 | + r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0); | ||
| 296 | if (r < 0) | ||
| 297 | return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m"); | ||
| 298 | |||
| 299 | --- a/src/shared/cgroup-setup.c | ||
| 300 | +++ b/src/shared/cgroup-setup.c | ||
| 301 | @@ -351,7 +351,7 @@ int cg_attach(const char *controller, co | ||
| 302 | |||
| 303 | xsprintf(c, PID_FMT "\n", pid); | ||
| 304 | |||
| 305 | - r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 306 | + r = write_string_file(fs, c, 0); | ||
| 307 | if (r == -EOPNOTSUPP && cg_is_threaded(path) > 0) | ||
| 308 | /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */ | ||
| 309 | return -EUCLEAN; | ||
| 310 | @@ -966,7 +966,7 @@ int cg_enable_everywhere( | ||
| 311 | return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p); | ||
| 312 | } | ||
| 313 | |||
| 314 | - r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 315 | + r = write_string_stream(f, s, 0); | ||
| 316 | if (r < 0) { | ||
| 317 | log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m", | ||
| 318 | FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs); | ||
| 319 | --- a/src/shared/coredump-util.c | ||
| 320 | +++ b/src/shared/coredump-util.c | ||
| 321 | @@ -163,7 +163,7 @@ int set_coredump_filter(uint64_t value) | ||
| 322 | xsprintf(t, "0x%"PRIx64, value); | ||
| 323 | |||
| 324 | return write_string_file("/proc/self/coredump_filter", t, | ||
| 325 | - WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 326 | + 0); | ||
| 327 | } | ||
| 328 | |||
| 329 | /* Turn off core dumps but only if we're running outside of a container. */ | ||
| 330 | @@ -173,7 +173,7 @@ void disable_coredumps(void) { | ||
| 331 | if (detect_container() > 0) | ||
| 332 | return; | ||
| 333 | |||
| 334 | - r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 335 | + r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0); | ||
| 336 | if (r < 0) | ||
| 337 | log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); | ||
| 338 | } | ||
| 339 | --- a/src/shared/hibernate-util.c | ||
| 340 | +++ b/src/shared/hibernate-util.c | ||
| 341 | @@ -501,7 +501,7 @@ int write_resume_config(dev_t devno, uin | ||
| 342 | |||
| 343 | /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so | ||
| 344 | * fail gracefully if it doesn't exist and we're only overwriting it with 0. */ | ||
| 345 | - r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 346 | + r = write_string_file("/sys/power/resume_offset", offset_str, 0); | ||
| 347 | if (r == -ENOENT) { | ||
| 348 | if (offset != 0) | ||
| 349 | return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), | ||
| 350 | @@ -517,7 +517,7 @@ int write_resume_config(dev_t devno, uin | ||
| 351 | log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.", | ||
| 352 | offset_str, device); | ||
| 353 | |||
| 354 | - r = write_string_file("/sys/power/resume", devno_str, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 355 | + r = write_string_file("/sys/power/resume", devno_str, 0); | ||
| 356 | if (r < 0) | ||
| 357 | return log_error_errno(r, | ||
| 358 | "Failed to write device '%s' (%s) to /sys/power/resume: %m", | ||
| 359 | --- a/src/shared/smack-util.c | ||
| 360 | +++ b/src/shared/smack-util.c | ||
| 361 | @@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const | ||
| 362 | return 0; | ||
| 363 | |||
| 364 | p = procfs_file_alloca(pid, "attr/current"); | ||
| 365 | - r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 366 | + r = write_string_file(p, label, 0); | ||
| 367 | if (r < 0) | ||
| 368 | return r; | ||
| 369 | |||
| 370 | --- a/src/shared/watchdog.c | ||
| 371 | +++ b/src/shared/watchdog.c | ||
| 372 | @@ -93,7 +93,7 @@ static int set_pretimeout_governor(const | ||
| 373 | |||
| 374 | r = write_string_file(sys_fn, | ||
| 375 | governor, | ||
| 376 | - WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | ||
| 377 | + WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | ||
| 378 | if (r < 0) | ||
| 379 | return log_error_errno(r, "Failed to set watchdog pretimeout_governor to '%s': %m", governor); | ||
| 380 | |||
| 381 | --- a/src/sleep/sleep.c | ||
| 382 | +++ b/src/sleep/sleep.c | ||
| 383 | @@ -137,7 +137,7 @@ static int write_state(int fd, char * co | ||
| 384 | if (k < 0) | ||
| 385 | return RET_GATHER(r, k); | ||
| 386 | |||
| 387 | - k = write_string_stream(f, *state, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 388 | + k = write_string_stream(f, *state, 0); | ||
| 389 | if (k >= 0) { | ||
| 390 | log_debug("Using sleep state '%s'.", *state); | ||
| 391 | return 0; | ||
| 392 | @@ -155,7 +155,7 @@ static int write_mode(char * const *mode | ||
| 393 | STRV_FOREACH(mode, modes) { | ||
| 394 | int k; | ||
| 395 | |||
| 396 | - k = write_string_file("/sys/power/disk", *mode, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 397 | + k = write_string_file("/sys/power/disk", *mode, 0); | ||
| 398 | if (k >= 0) { | ||
| 399 | log_debug("Using sleep disk mode '%s'.", *mode); | ||
| 400 | return 0; | ||
| 401 | --- a/src/storagetm/storagetm.c | ||
| 402 | +++ b/src/storagetm/storagetm.c | ||
| 403 | @@ -186,7 +186,7 @@ static int nvme_subsystem_unlink(NvmeSub | ||
| 404 | if (!enable_fn) | ||
| 405 | return log_oom(); | ||
| 406 | |||
| 407 | - r = write_string_file_at(namespaces_fd, enable_fn, "0", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 408 | + r = write_string_file_at(namespaces_fd, enable_fn, "0", 0); | ||
| 409 | if (r < 0) | ||
| 410 | log_warning_errno(r, "Failed to disable namespace '%s' of NVME subsystem '%s', ignoring: %m", e->d_name, s->name); | ||
| 411 | |||
| 412 | @@ -254,7 +254,7 @@ static int nvme_subsystem_write_metadata | ||
| 413 | _cleanup_free_ char *truncated = strndup(w, 40); /* kernel refuses more than 40 chars (as per nvme spec) */ | ||
| 414 | |||
| 415 | /* The default string stored in 'attr_model' is "Linux" btw. */ | ||
| 416 | - r = write_string_file_at(subsystem_fd, "attr_model", truncated, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 417 | + r = write_string_file_at(subsystem_fd, "attr_model", truncated, 0); | ||
| 418 | if (r < 0) | ||
| 419 | log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", w); | ||
| 420 | } | ||
| 421 | @@ -268,7 +268,7 @@ static int nvme_subsystem_write_metadata | ||
| 422 | return log_oom(); | ||
| 423 | |||
| 424 | /* The default string stored in 'attr_firmware' is `uname -r` btw, but truncated to 8 chars. */ | ||
| 425 | - r = write_string_file_at(subsystem_fd, "attr_firmware", truncated, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 426 | + r = write_string_file_at(subsystem_fd, "attr_firmware", truncated, 0); | ||
| 427 | if (r < 0) | ||
| 428 | log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", truncated); | ||
| 429 | } | ||
| 430 | @@ -295,7 +295,7 @@ static int nvme_subsystem_write_metadata | ||
| 431 | if (!truncated) | ||
| 432 | return log_oom(); | ||
| 433 | |||
| 434 | - r = write_string_file_at(subsystem_fd, "attr_serial", truncated, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 435 | + r = write_string_file_at(subsystem_fd, "attr_serial", truncated, 0); | ||
| 436 | if (r < 0) | ||
| 437 | log_warning_errno(r, "Failed to set serial of subsystem to '%s', ignoring: %m", truncated); | ||
| 438 | } | ||
| 439 | @@ -345,7 +345,7 @@ static int nvme_namespace_write_metadata | ||
| 440 | id = id128_digest(j, l); | ||
| 441 | } | ||
| 442 | |||
| 443 | - r = write_string_file_at(namespace_fd, "device_uuid", SD_ID128_TO_UUID_STRING(id), WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 444 | + r = write_string_file_at(namespace_fd, "device_uuid", SD_ID128_TO_UUID_STRING(id), 0); | ||
| 445 | if (r < 0) | ||
| 446 | log_warning_errno(r, "Failed to set uuid of namespace to '%s', ignoring: %m", SD_ID128_TO_UUID_STRING(id)); | ||
| 447 | |||
| 448 | @@ -408,7 +408,7 @@ static int nvme_subsystem_add(const char | ||
| 449 | if (subsystem_fd < 0) | ||
| 450 | return log_error_errno(subsystem_fd, "Failed to create NVME subsystem '%s': %m", j); | ||
| 451 | |||
| 452 | - r = write_string_file_at(subsystem_fd, "attr_allow_any_host", "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 453 | + r = write_string_file_at(subsystem_fd, "attr_allow_any_host", "1", 0); | ||
| 454 | if (r < 0) | ||
| 455 | return log_error_errno(r, "Failed to set 'attr_allow_any_host' flag: %m"); | ||
| 456 | |||
| 457 | @@ -423,11 +423,11 @@ static int nvme_subsystem_add(const char | ||
| 458 | |||
| 459 | /* We use /proc/$PID/fd/$FD rather than /proc/self/fd/$FD, because this string is visible to others | ||
| 460 | * via configfs, and by including the PID it's clear to who the stuff belongs. */ | ||
| 461 | - r = write_string_file_at(namespace_fd, "device_path", FORMAT_PROC_PID_FD_PATH(0, fd), WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 462 | + r = write_string_file_at(namespace_fd, "device_path", FORMAT_PROC_PID_FD_PATH(0, fd), 0); | ||
| 463 | if (r < 0) | ||
| 464 | return log_error_errno(r, "Failed to write 'device_path' attribute: %m"); | ||
| 465 | |||
| 466 | - r = write_string_file_at(namespace_fd, "enable", "1", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 467 | + r = write_string_file_at(namespace_fd, "enable", "1", 0); | ||
| 468 | if (r < 0) | ||
| 469 | return log_error_errno(r, "Failed to write 'enable' attribute: %m"); | ||
| 470 | |||
| 471 | @@ -557,19 +557,19 @@ static int nvme_port_add_portnr( | ||
| 472 | return 0; | ||
| 473 | } | ||
| 474 | |||
| 475 | - r = write_string_file_at(port_fd, "addr_adrfam", af_to_ipv4_ipv6(ip_family), WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 476 | + r = write_string_file_at(port_fd, "addr_adrfam", af_to_ipv4_ipv6(ip_family), 0); | ||
| 477 | if (r < 0) | ||
| 478 | return log_error_errno(r, "Failed to set address family on NVME port %" PRIu16 ": %m", portnr); | ||
| 479 | |||
| 480 | - r = write_string_file_at(port_fd, "addr_trtype", "tcp", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 481 | + r = write_string_file_at(port_fd, "addr_trtype", "tcp", 0); | ||
| 482 | if (r < 0) | ||
| 483 | return log_error_errno(r, "Failed to set transport type on NVME port %" PRIu16 ": %m", portnr); | ||
| 484 | |||
| 485 | - r = write_string_file_at(port_fd, "addr_trsvcid", fname, WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 486 | + r = write_string_file_at(port_fd, "addr_trsvcid", fname, 0); | ||
| 487 | if (r < 0) | ||
| 488 | return log_error_errno(r, "Failed to set IP port on NVME port %" PRIu16 ": %m", portnr); | ||
| 489 | |||
| 490 | - r = write_string_file_at(port_fd, "addr_traddr", ip_family == AF_INET6 ? "::" : "0.0.0.0", WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 491 | + r = write_string_file_at(port_fd, "addr_traddr", ip_family == AF_INET6 ? "::" : "0.0.0.0", 0); | ||
| 492 | if (r < 0) | ||
| 493 | return log_error_errno(r, "Failed to set IP address on NVME port %" PRIu16 ": %m", portnr); | ||
| 494 | |||
| 495 | --- a/src/udev/udev-rules.c | ||
| 496 | +++ b/src/udev/udev-rules.c | ||
| 497 | @@ -2711,7 +2711,6 @@ static int udev_rule_apply_token_to_even | ||
| 498 | log_event_debug(dev, token, "ATTR '%s' writing '%s'", buf, value); | ||
| 499 | r = write_string_file(buf, value, | ||
| 500 | WRITE_STRING_FILE_VERIFY_ON_FAILURE | | ||
| 501 | - WRITE_STRING_FILE_DISABLE_BUFFER | | ||
| 502 | WRITE_STRING_FILE_AVOID_NEWLINE | | ||
| 503 | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | ||
| 504 | if (r < 0) | ||
| 505 | --- a/src/vconsole/vconsole-setup.c | ||
| 506 | +++ b/src/vconsole/vconsole-setup.c | ||
| 507 | @@ -261,7 +261,7 @@ static int toggle_utf8_vc(const char *na | ||
| 508 | static int toggle_utf8_sysfs(bool utf8) { | ||
| 509 | int r; | ||
| 510 | |||
| 511 | - r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), WRITE_STRING_FILE_DISABLE_BUFFER); | ||
| 512 | + r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), 0); | ||
| 513 | if (r < 0) | ||
| 514 | return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8)); | ||
| 515 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Handle-__cpu_mask-usage.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Handle-__cpu_mask-usage.patch deleted file mode 100644 index 43f75373a6..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Handle-__cpu_mask-usage.patch +++ /dev/null | |||
| @@ -1,60 +0,0 @@ | |||
| 1 | From 2f90f8463423cfbb7e83fcef42f1071018c3b56e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Scott Murray <scott.murray@konsulko.com> | ||
| 3 | Date: Fri, 13 Sep 2019 19:26:27 -0400 | ||
| 4 | Subject: [PATCH 13/22] Handle __cpu_mask usage | ||
| 5 | |||
| 6 | Fixes errors: | ||
| 7 | |||
| 8 | src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function) | ||
| 9 | src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function) | ||
| 10 | |||
| 11 | __cpu_mask is an internal type of glibc's cpu_set implementation, not | ||
| 12 | part of the POSIX definition, which is problematic when building with | ||
| 13 | musl, which does not define a matching type. From inspection of musl's | ||
| 14 | sched.h, however, it is clear that the corresponding type would be | ||
| 15 | unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So, | ||
| 16 | add a typedef to cpu-set-util.h defining __cpu_mask appropriately. | ||
| 17 | |||
| 18 | Upstream-Status: Inappropriate [musl specific] | ||
| 19 | |||
| 20 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 21 | --- | ||
| 22 | src/shared/cpu-set-util.h | 2 ++ | ||
| 23 | src/test/test-sizeof.c | 2 +- | ||
| 24 | 2 files changed, 3 insertions(+), 1 deletion(-) | ||
| 25 | |||
| 26 | diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h | ||
| 27 | index 3c63a58826..4c2d4347fc 100644 | ||
| 28 | --- a/src/shared/cpu-set-util.h | ||
| 29 | +++ b/src/shared/cpu-set-util.h | ||
| 30 | @@ -6,6 +6,8 @@ | ||
| 31 | #include "macro.h" | ||
| 32 | #include "missing_syscall.h" | ||
| 33 | |||
| 34 | +typedef unsigned long __cpu_mask; | ||
| 35 | + | ||
| 36 | /* This wraps the libc interface with a variable to keep the allocated size. */ | ||
| 37 | typedef struct CPUSet { | ||
| 38 | cpu_set_t *set; | ||
| 39 | diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c | ||
| 40 | index ea0c58770e..b65c0bd370 100644 | ||
| 41 | --- a/src/test/test-sizeof.c | ||
| 42 | +++ b/src/test/test-sizeof.c | ||
| 43 | @@ -1,6 +1,5 @@ | ||
| 44 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 45 | |||
| 46 | -#include <sched.h> | ||
| 47 | #include <stdio.h> | ||
| 48 | #include <string.h> | ||
| 49 | #include <sys/resource.h> | ||
| 50 | @@ -12,6 +11,7 @@ | ||
| 51 | #include <float.h> | ||
| 52 | |||
| 53 | #include "time-util.h" | ||
| 54 | +#include "cpu-set-util.h" | ||
| 55 | |||
| 56 | /* Print information about various types. Useful when diagnosing | ||
| 57 | * gcc diagnostics on an unfamiliar architecture. */ | ||
| 58 | -- | ||
| 59 | 2.34.1 | ||
| 60 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch deleted file mode 100644 index a751e1ba6f..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch +++ /dev/null | |||
| @@ -1,173 +0,0 @@ | |||
| 1 | From b7c827bb44edbb6251c9fcdb80aa03982c0e7bf3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alex Kiernan <alex.kiernan@gmail.com> | ||
| 3 | Date: Tue, 10 Mar 2020 11:05:20 +0000 | ||
| 4 | Subject: [PATCH 14/22] Handle missing gshadow | ||
| 5 | |||
| 6 | gshadow usage is now present in the userdb code. Mask all uses of it to | ||
| 7 | allow compilation on musl | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [musl specific] | ||
| 10 | Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> | ||
| 11 | [Rebased for v247] | ||
| 12 | Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> | ||
| 13 | --- | ||
| 14 | src/shared/user-record-nss.c | 20 ++++++++++++++++++++ | ||
| 15 | src/shared/user-record-nss.h | 4 ++++ | ||
| 16 | src/shared/userdb.c | 7 ++++++- | ||
| 17 | 3 files changed, 30 insertions(+), 1 deletion(-) | ||
| 18 | |||
| 19 | diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c | ||
| 20 | index 414a49331b..1a4e1b628c 100644 | ||
| 21 | --- a/src/shared/user-record-nss.c | ||
| 22 | +++ b/src/shared/user-record-nss.c | ||
| 23 | @@ -329,8 +329,10 @@ int nss_group_to_group_record( | ||
| 24 | if (isempty(grp->gr_name)) | ||
| 25 | return -EINVAL; | ||
| 26 | |||
| 27 | +#if ENABLE_GSHADOW | ||
| 28 | if (sgrp && !streq_ptr(sgrp->sg_namp, grp->gr_name)) | ||
| 29 | return -EINVAL; | ||
| 30 | +#endif | ||
| 31 | |||
| 32 | g = group_record_new(); | ||
| 33 | if (!g) | ||
| 34 | @@ -346,6 +348,7 @@ int nss_group_to_group_record( | ||
| 35 | |||
| 36 | g->gid = grp->gr_gid; | ||
| 37 | |||
| 38 | +#if ENABLE_GSHADOW | ||
| 39 | if (sgrp) { | ||
| 40 | if (looks_like_hashed_password(utf8_only(sgrp->sg_passwd))) { | ||
| 41 | g->hashed_password = strv_new(sgrp->sg_passwd); | ||
| 42 | @@ -361,6 +364,7 @@ int nss_group_to_group_record( | ||
| 43 | if (r < 0) | ||
| 44 | return r; | ||
| 45 | } | ||
| 46 | +#endif | ||
| 47 | |||
| 48 | r = json_build(&g->json, JSON_BUILD_OBJECT( | ||
| 49 | JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)), | ||
| 50 | @@ -387,6 +391,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re | ||
| 51 | assert(ret_sgrp); | ||
| 52 | assert(ret_buffer); | ||
| 53 | |||
| 54 | +#if ENABLE_GSHADOW | ||
| 55 | for (;;) { | ||
| 56 | _cleanup_free_ char *buf = NULL; | ||
| 57 | struct sgrp sgrp, *result; | ||
| 58 | @@ -415,6 +420,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re | ||
| 59 | buflen *= 2; | ||
| 60 | buf = mfree(buf); | ||
| 61 | } | ||
| 62 | +#else | ||
| 63 | + return -ESRCH; | ||
| 64 | +#endif | ||
| 65 | } | ||
| 66 | |||
| 67 | int nss_group_record_by_name( | ||
| 68 | @@ -426,7 +434,9 @@ int nss_group_record_by_name( | ||
| 69 | struct group grp, *result; | ||
| 70 | bool incomplete = false; | ||
| 71 | size_t buflen = 4096; | ||
| 72 | +#if ENABLE_GSHADOW | ||
| 73 | struct sgrp sgrp, *sresult = NULL; | ||
| 74 | +#endif | ||
| 75 | int r; | ||
| 76 | |||
| 77 | assert(name); | ||
| 78 | @@ -455,6 +465,7 @@ int nss_group_record_by_name( | ||
| 79 | buf = mfree(buf); | ||
| 80 | } | ||
| 81 | |||
| 82 | +#if ENABLE_GSHADOW | ||
| 83 | if (with_shadow) { | ||
| 84 | r = nss_sgrp_for_group(result, &sgrp, &sbuf); | ||
| 85 | if (r < 0) { | ||
| 86 | @@ -466,6 +477,9 @@ int nss_group_record_by_name( | ||
| 87 | incomplete = true; | ||
| 88 | |||
| 89 | r = nss_group_to_group_record(result, sresult, ret); | ||
| 90 | +#else | ||
| 91 | + r = nss_group_to_group_record(result, NULL, ret); | ||
| 92 | +#endif | ||
| 93 | if (r < 0) | ||
| 94 | return r; | ||
| 95 | |||
| 96 | @@ -483,7 +497,9 @@ int nss_group_record_by_gid( | ||
| 97 | struct group grp, *result; | ||
| 98 | bool incomplete = false; | ||
| 99 | size_t buflen = 4096; | ||
| 100 | +#if ENABLE_GSHADOW | ||
| 101 | struct sgrp sgrp, *sresult = NULL; | ||
| 102 | +#endif | ||
| 103 | int r; | ||
| 104 | |||
| 105 | for (;;) { | ||
| 106 | @@ -509,6 +525,7 @@ int nss_group_record_by_gid( | ||
| 107 | buf = mfree(buf); | ||
| 108 | } | ||
| 109 | |||
| 110 | +#if ENABLE_GSHADOW | ||
| 111 | if (with_shadow) { | ||
| 112 | r = nss_sgrp_for_group(result, &sgrp, &sbuf); | ||
| 113 | if (r < 0) { | ||
| 114 | @@ -520,6 +537,9 @@ int nss_group_record_by_gid( | ||
| 115 | incomplete = true; | ||
| 116 | |||
| 117 | r = nss_group_to_group_record(result, sresult, ret); | ||
| 118 | +#else | ||
| 119 | + r = nss_group_to_group_record(result, NULL, ret); | ||
| 120 | +#endif | ||
| 121 | if (r < 0) | ||
| 122 | return r; | ||
| 123 | |||
| 124 | diff --git a/src/shared/user-record-nss.h b/src/shared/user-record-nss.h | ||
| 125 | index 22ab04d6ee..4e52e7a911 100644 | ||
| 126 | --- a/src/shared/user-record-nss.h | ||
| 127 | +++ b/src/shared/user-record-nss.h | ||
| 128 | @@ -2,7 +2,11 @@ | ||
| 129 | #pragma once | ||
| 130 | |||
| 131 | #include <grp.h> | ||
| 132 | +#if ENABLE_GSHADOW | ||
| 133 | #include <gshadow.h> | ||
| 134 | +#else | ||
| 135 | +struct sgrp; | ||
| 136 | +#endif | ||
| 137 | #include <pwd.h> | ||
| 138 | #include <shadow.h> | ||
| 139 | |||
| 140 | diff --git a/src/shared/userdb.c b/src/shared/userdb.c | ||
| 141 | index f60d48ace4..e878199a28 100644 | ||
| 142 | --- a/src/shared/userdb.c | ||
| 143 | +++ b/src/shared/userdb.c | ||
| 144 | @@ -1038,13 +1038,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { | ||
| 145 | if (gr) { | ||
| 146 | _cleanup_free_ char *buffer = NULL; | ||
| 147 | bool incomplete = false; | ||
| 148 | +#if ENABLE_GSHADOW | ||
| 149 | struct sgrp sgrp; | ||
| 150 | - | ||
| 151 | +#endif | ||
| 152 | if (streq_ptr(gr->gr_name, "root")) | ||
| 153 | iterator->synthesize_root = false; | ||
| 154 | if (gr->gr_gid == GID_NOBODY) | ||
| 155 | iterator->synthesize_nobody = false; | ||
| 156 | |||
| 157 | +#if ENABLE_GSHADOW | ||
| 158 | if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) { | ||
| 159 | r = nss_sgrp_for_group(gr, &sgrp, &buffer); | ||
| 160 | if (r < 0) { | ||
| 161 | @@ -1057,6 +1059,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { | ||
| 162 | } | ||
| 163 | |||
| 164 | r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); | ||
| 165 | +#else | ||
| 166 | + r = nss_group_to_group_record(gr, NULL, ret); | ||
| 167 | +#endif | ||
| 168 | if (r < 0) | ||
| 169 | return r; | ||
| 170 | |||
| 171 | -- | ||
| 172 | 2.34.1 | ||
| 173 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch deleted file mode 100644 index e112766a9b..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | From 3dc9d9d410bcce54fddfd94f43f7f77f3aa8e281 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 12 Apr 2021 23:44:53 -0700 | ||
| 4 | Subject: [PATCH 15/22] missing_syscall.h: Define MIPS ABI defines for musl | ||
| 5 | |||
| 6 | musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64 | ||
| 7 | unlike glibc where these are provided by libc headers, therefore define | ||
| 8 | them here in case they are undefined | ||
| 9 | |||
| 10 | Upstream-Status: Pending | ||
| 11 | |||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | src/basic/missing_syscall.h | 6 ++++++ | ||
| 15 | src/shared/base-filesystem.c | 1 + | ||
| 16 | 2 files changed, 7 insertions(+) | ||
| 17 | |||
| 18 | diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h | ||
| 19 | index d795efd8f2..d6729d3c1d 100644 | ||
| 20 | --- a/src/basic/missing_syscall.h | ||
| 21 | +++ b/src/basic/missing_syscall.h | ||
| 22 | @@ -20,6 +20,12 @@ | ||
| 23 | #include <asm/sgidefs.h> | ||
| 24 | #endif | ||
| 25 | |||
| 26 | +#ifndef _MIPS_SIM_ABI32 | ||
| 27 | +#define _MIPS_SIM_ABI32 1 | ||
| 28 | +#define _MIPS_SIM_NABI32 2 | ||
| 29 | +#define _MIPS_SIM_ABI64 3 | ||
| 30 | +#endif | ||
| 31 | + | ||
| 32 | #include "macro.h" | ||
| 33 | #include "missing_keyctl.h" | ||
| 34 | #include "missing_stat.h" | ||
| 35 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c | ||
| 36 | index 7ae921a113..0ef9d1fd39 100644 | ||
| 37 | --- a/src/shared/base-filesystem.c | ||
| 38 | +++ b/src/shared/base-filesystem.c | ||
| 39 | @@ -20,6 +20,7 @@ | ||
| 40 | #include "string-util.h" | ||
| 41 | #include "umask-util.h" | ||
| 42 | #include "user-util.h" | ||
| 43 | +#include "missing_syscall.h" | ||
| 44 | |||
| 45 | typedef struct BaseFilesystem { | ||
| 46 | const char *dir; /* directory or symlink to create */ | ||
| 47 | -- | ||
| 48 | 2.34.1 | ||
| 49 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch deleted file mode 100644 index 0be817e62d..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch +++ /dev/null | |||
| @@ -1,37 +0,0 @@ | |||
| 1 | From 0994b59dba9f248ad31cb7087046dc00b72cb4ea Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 21 Jan 2022 15:15:11 -0800 | ||
| 4 | Subject: [PATCH 16/22] pass correct parameters to getdents64 | ||
| 5 | |||
| 6 | Fixes | ||
| 7 | ../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] | ||
| 8 | n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size); | ||
| 9 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 10 | |||
| 11 | ../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] | ||
| 12 | n = getdents64(fd, &buffer, sizeof(buffer)); | ||
| 13 | ^~~~~~~ | ||
| 14 | |||
| 15 | Upstream-Status: Inappropriate [musl specific] | ||
| 16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 17 | Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com> | ||
| 18 | --- | ||
| 19 | src/basic/recurse-dir.c | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c | ||
| 23 | index 5e98b7a5d8..aef065047b 100644 | ||
| 24 | --- a/src/basic/recurse-dir.c | ||
| 25 | +++ b/src/basic/recurse-dir.c | ||
| 26 | @@ -55,7 +55,7 @@ int readdir_all(int dir_fd, | ||
| 27 | bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX); | ||
| 28 | assert(bs > de->buffer_size); | ||
| 29 | |||
| 30 | - n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size); | ||
| 31 | + n = getdents64(dir_fd, (struct dirent*)((uint8_t*) de->buffer + de->buffer_size), bs - de->buffer_size); | ||
| 32 | if (n < 0) | ||
| 33 | return -errno; | ||
| 34 | if (n == 0) | ||
| 35 | -- | ||
| 36 | 2.34.1 | ||
| 37 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch deleted file mode 100644 index 4176522a1c..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch +++ /dev/null | |||
| @@ -1,572 +0,0 @@ | |||
| 1 | From 3c094d443ca30f19114392fd8ef274af6eabc12d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 21 Jan 2022 22:19:37 -0800 | ||
| 4 | Subject: [PATCH 17/22] Adjust for musl headers | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [musl specific] | ||
| 7 | |||
| 8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 9 | |||
| 10 | [Rebased for v255.1] | ||
| 11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 12 | --- | ||
| 13 | src/libsystemd-network/sd-dhcp6-client.c | 2 +- | ||
| 14 | src/network/netdev/bareudp.c | 2 +- | ||
| 15 | src/network/netdev/batadv.c | 2 +- | ||
| 16 | src/network/netdev/bond.c | 2 +- | ||
| 17 | src/network/netdev/bridge.c | 2 +- | ||
| 18 | src/network/netdev/dummy.c | 2 +- | ||
| 19 | src/network/netdev/geneve.c | 2 +- | ||
| 20 | src/network/netdev/ifb.c | 2 +- | ||
| 21 | src/network/netdev/ipoib.c | 2 +- | ||
| 22 | src/network/netdev/ipvlan.c | 2 +- | ||
| 23 | src/network/netdev/macsec.c | 2 +- | ||
| 24 | src/network/netdev/macvlan.c | 2 +- | ||
| 25 | src/network/netdev/netdev.c | 2 +- | ||
| 26 | src/network/netdev/netdevsim.c | 2 +- | ||
| 27 | src/network/netdev/nlmon.c | 2 +- | ||
| 28 | src/network/netdev/tunnel.c | 2 +- | ||
| 29 | src/network/netdev/vcan.c | 2 +- | ||
| 30 | src/network/netdev/veth.c | 2 +- | ||
| 31 | src/network/netdev/vlan.c | 2 +- | ||
| 32 | src/network/netdev/vrf.c | 2 +- | ||
| 33 | src/network/netdev/vxcan.c | 2 +- | ||
| 34 | src/network/netdev/vxlan.c | 2 +- | ||
| 35 | src/network/netdev/wireguard.c | 2 +- | ||
| 36 | src/network/netdev/xfrm.c | 2 +- | ||
| 37 | src/network/networkd-bridge-mdb.c | 4 ++-- | ||
| 38 | src/network/networkd-dhcp-common.c | 3 ++- | ||
| 39 | src/network/networkd-dhcp-prefix-delegation.c | 3 ++- | ||
| 40 | src/network/networkd-dhcp-server.c | 2 +- | ||
| 41 | src/network/networkd-dhcp4.c | 2 +- | ||
| 42 | src/network/networkd-ipv6ll.c | 2 +- | ||
| 43 | src/network/networkd-link.c | 2 +- | ||
| 44 | src/network/networkd-ndisc.c | 2 +- | ||
| 45 | src/network/networkd-route.c | 8 ++++---- | ||
| 46 | src/network/networkd-setlink.c | 2 +- | ||
| 47 | src/network/networkd-sysctl.c | 2 +- | ||
| 48 | src/shared/linux/ethtool.h | 3 ++- | ||
| 49 | src/shared/netif-util.c | 2 +- | ||
| 50 | src/udev/udev-builtin-net_id.c | 2 +- | ||
| 51 | 38 files changed, 45 insertions(+), 42 deletions(-) | ||
| 52 | |||
| 53 | diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c | ||
| 54 | index c20367dfc9..b8d4cd8c2a 100644 | ||
| 55 | --- a/src/libsystemd-network/sd-dhcp6-client.c | ||
| 56 | +++ b/src/libsystemd-network/sd-dhcp6-client.c | ||
| 57 | @@ -5,7 +5,7 @@ | ||
| 58 | |||
| 59 | #include <errno.h> | ||
| 60 | #include <sys/ioctl.h> | ||
| 61 | -#include <linux/if_arp.h> | ||
| 62 | +//#include <linux/if_arp.h> | ||
| 63 | #include <linux/if_infiniband.h> | ||
| 64 | |||
| 65 | #include "sd-dhcp6-client.h" | ||
| 66 | diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c | ||
| 67 | index 1df886573b..c8b6714726 100644 | ||
| 68 | --- a/src/network/netdev/bareudp.c | ||
| 69 | +++ b/src/network/netdev/bareudp.c | ||
| 70 | @@ -2,7 +2,7 @@ | ||
| 71 | * Copyright © 2020 VMware, Inc. */ | ||
| 72 | |||
| 73 | #include <netinet/in.h> | ||
| 74 | -#include <linux/if_arp.h> | ||
| 75 | +//#include <linux/if_arp.h> | ||
| 76 | |||
| 77 | #include "bareudp.h" | ||
| 78 | #include "netlink-util.h" | ||
| 79 | diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c | ||
| 80 | index 26da0231d4..2e8002af8c 100644 | ||
| 81 | --- a/src/network/netdev/batadv.c | ||
| 82 | +++ b/src/network/netdev/batadv.c | ||
| 83 | @@ -3,7 +3,7 @@ | ||
| 84 | #include <inttypes.h> | ||
| 85 | #include <netinet/in.h> | ||
| 86 | #include <linux/genetlink.h> | ||
| 87 | -#include <linux/if_arp.h> | ||
| 88 | +//#include <linux/if_arp.h> | ||
| 89 | |||
| 90 | #include "batadv.h" | ||
| 91 | #include "fileio.h" | ||
| 92 | diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c | ||
| 93 | index 4d75a0d6bf..985b3197e0 100644 | ||
| 94 | --- a/src/network/netdev/bond.c | ||
| 95 | +++ b/src/network/netdev/bond.c | ||
| 96 | @@ -1,7 +1,7 @@ | ||
| 97 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 98 | |||
| 99 | #include <netinet/in.h> | ||
| 100 | -#include <linux/if_arp.h> | ||
| 101 | +//#include <linux/if_arp.h> | ||
| 102 | |||
| 103 | #include "alloc-util.h" | ||
| 104 | #include "bond.h" | ||
| 105 | diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c | ||
| 106 | index 3e394edadf..f12f667687 100644 | ||
| 107 | --- a/src/network/netdev/bridge.c | ||
| 108 | +++ b/src/network/netdev/bridge.c | ||
| 109 | @@ -2,7 +2,7 @@ | ||
| 110 | |||
| 111 | #include <net/if.h> | ||
| 112 | #include <netinet/in.h> | ||
| 113 | -#include <linux/if_arp.h> | ||
| 114 | +//#include <linux/if_arp.h> | ||
| 115 | #include <linux/if_bridge.h> | ||
| 116 | |||
| 117 | #include "bridge.h" | ||
| 118 | diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c | ||
| 119 | index 00df1d2787..77b506b422 100644 | ||
| 120 | --- a/src/network/netdev/dummy.c | ||
| 121 | +++ b/src/network/netdev/dummy.c | ||
| 122 | @@ -1,6 +1,6 @@ | ||
| 123 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 124 | |||
| 125 | -#include <linux/if_arp.h> | ||
| 126 | +//#include <linux/if_arp.h> | ||
| 127 | |||
| 128 | #include "dummy.h" | ||
| 129 | |||
| 130 | diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c | ||
| 131 | index bc655ec7ff..a77e8e17e4 100644 | ||
| 132 | --- a/src/network/netdev/geneve.c | ||
| 133 | +++ b/src/network/netdev/geneve.c | ||
| 134 | @@ -2,7 +2,7 @@ | ||
| 135 | |||
| 136 | #include <net/if.h> | ||
| 137 | #include <netinet/in.h> | ||
| 138 | -#include <linux/if_arp.h> | ||
| 139 | +//#include <linux/if_arp.h> | ||
| 140 | |||
| 141 | #include "alloc-util.h" | ||
| 142 | #include "conf-parser.h" | ||
| 143 | diff --git a/src/network/netdev/ifb.c b/src/network/netdev/ifb.c | ||
| 144 | index d7ff44cb9e..e037629ae4 100644 | ||
| 145 | --- a/src/network/netdev/ifb.c | ||
| 146 | +++ b/src/network/netdev/ifb.c | ||
| 147 | @@ -1,7 +1,7 @@ | ||
| 148 | /* SPDX-License-Identifier: LGPL-2.1-or-later | ||
| 149 | * Copyright © 2019 VMware, Inc. */ | ||
| 150 | |||
| 151 | -#include <linux/if_arp.h> | ||
| 152 | +//#include <linux/if_arp.h> | ||
| 153 | |||
| 154 | #include "ifb.h" | ||
| 155 | |||
| 156 | diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c | ||
| 157 | index d5fe299b7b..c9c8002eac 100644 | ||
| 158 | --- a/src/network/netdev/ipoib.c | ||
| 159 | +++ b/src/network/netdev/ipoib.c | ||
| 160 | @@ -1,6 +1,6 @@ | ||
| 161 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 162 | |||
| 163 | -#include <linux/if_arp.h> | ||
| 164 | +//#include <linux/if_arp.h> | ||
| 165 | #include <linux/if_link.h> | ||
| 166 | |||
| 167 | #include "ipoib.h" | ||
| 168 | diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c | ||
| 169 | index 05d5d010f6..d440f49537 100644 | ||
| 170 | --- a/src/network/netdev/ipvlan.c | ||
| 171 | +++ b/src/network/netdev/ipvlan.c | ||
| 172 | @@ -2,7 +2,7 @@ | ||
| 173 | |||
| 174 | #include <net/if.h> | ||
| 175 | #include <netinet/in.h> | ||
| 176 | -#include <linux/if_arp.h> | ||
| 177 | +//#include <linux/if_arp.h> | ||
| 178 | |||
| 179 | #include "conf-parser.h" | ||
| 180 | #include "ipvlan.h" | ||
| 181 | diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c | ||
| 182 | index 17d6acefb6..679d0984f9 100644 | ||
| 183 | --- a/src/network/netdev/macsec.c | ||
| 184 | +++ b/src/network/netdev/macsec.c | ||
| 185 | @@ -1,7 +1,7 @@ | ||
| 186 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 187 | |||
| 188 | #include <netinet/in.h> | ||
| 189 | -#include <linux/if_arp.h> | ||
| 190 | +//#include <linux/if_arp.h> | ||
| 191 | #include <linux/if_ether.h> | ||
| 192 | #include <linux/if_macsec.h> | ||
| 193 | #include <linux/genetlink.h> | ||
| 194 | diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c | ||
| 195 | index 203807e3a5..8ab09a387e 100644 | ||
| 196 | --- a/src/network/netdev/macvlan.c | ||
| 197 | +++ b/src/network/netdev/macvlan.c | ||
| 198 | @@ -2,7 +2,7 @@ | ||
| 199 | |||
| 200 | #include <net/if.h> | ||
| 201 | #include <netinet/in.h> | ||
| 202 | -#include <linux/if_arp.h> | ||
| 203 | +//#include <linux/if_arp.h> | ||
| 204 | |||
| 205 | #include "conf-parser.h" | ||
| 206 | #include "macvlan.h" | ||
| 207 | diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c | ||
| 208 | index 57127a861a..7f787d0b9f 100644 | ||
| 209 | --- a/src/network/netdev/netdev.c | ||
| 210 | +++ b/src/network/netdev/netdev.c | ||
| 211 | @@ -2,7 +2,7 @@ | ||
| 212 | |||
| 213 | #include <net/if.h> | ||
| 214 | #include <netinet/in.h> | ||
| 215 | -#include <linux/if_arp.h> | ||
| 216 | +//#include <linux/if_arp.h> | ||
| 217 | #include <unistd.h> | ||
| 218 | |||
| 219 | #include "alloc-util.h" | ||
| 220 | diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c | ||
| 221 | index 15d5c132f9..a3ffa48b15 100644 | ||
| 222 | --- a/src/network/netdev/netdevsim.c | ||
| 223 | +++ b/src/network/netdev/netdevsim.c | ||
| 224 | @@ -1,6 +1,6 @@ | ||
| 225 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 226 | |||
| 227 | -#include <linux/if_arp.h> | ||
| 228 | +//#include <linux/if_arp.h> | ||
| 229 | |||
| 230 | #include "netdevsim.h" | ||
| 231 | |||
| 232 | diff --git a/src/network/netdev/nlmon.c b/src/network/netdev/nlmon.c | ||
| 233 | index ff372092e6..eef66811f4 100644 | ||
| 234 | --- a/src/network/netdev/nlmon.c | ||
| 235 | +++ b/src/network/netdev/nlmon.c | ||
| 236 | @@ -1,6 +1,6 @@ | ||
| 237 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 238 | |||
| 239 | -#include <linux/if_arp.h> | ||
| 240 | +//#include <linux/if_arp.h> | ||
| 241 | |||
| 242 | #include "nlmon.h" | ||
| 243 | |||
| 244 | diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c | ||
| 245 | index db84e7cf6e..93d5642962 100644 | ||
| 246 | --- a/src/network/netdev/tunnel.c | ||
| 247 | +++ b/src/network/netdev/tunnel.c | ||
| 248 | @@ -2,7 +2,7 @@ | ||
| 249 | |||
| 250 | #include <netinet/in.h> | ||
| 251 | #include <linux/fou.h> | ||
| 252 | -#include <linux/if_arp.h> | ||
| 253 | +//#include <linux/if_arp.h> | ||
| 254 | #include <linux/if_tunnel.h> | ||
| 255 | #include <linux/ip.h> | ||
| 256 | #include <linux/ip6_tunnel.h> | ||
| 257 | diff --git a/src/network/netdev/vcan.c b/src/network/netdev/vcan.c | ||
| 258 | index 380547ee1e..137c1adf8a 100644 | ||
| 259 | --- a/src/network/netdev/vcan.c | ||
| 260 | +++ b/src/network/netdev/vcan.c | ||
| 261 | @@ -1,6 +1,6 @@ | ||
| 262 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 263 | |||
| 264 | -#include <linux/if_arp.h> | ||
| 265 | +//#include <linux/if_arp.h> | ||
| 266 | |||
| 267 | #include "vcan.h" | ||
| 268 | |||
| 269 | diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c | ||
| 270 | index e0f5b4ebb1..8a424ed03d 100644 | ||
| 271 | --- a/src/network/netdev/veth.c | ||
| 272 | +++ b/src/network/netdev/veth.c | ||
| 273 | @@ -3,7 +3,7 @@ | ||
| 274 | #include <errno.h> | ||
| 275 | #include <net/if.h> | ||
| 276 | #include <netinet/in.h> | ||
| 277 | -#include <linux/if_arp.h> | ||
| 278 | +//#include <linux/if_arp.h> | ||
| 279 | #include <linux/veth.h> | ||
| 280 | |||
| 281 | #include "netlink-util.h" | ||
| 282 | diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c | ||
| 283 | index 2390206993..efec630e30 100644 | ||
| 284 | --- a/src/network/netdev/vlan.c | ||
| 285 | +++ b/src/network/netdev/vlan.c | ||
| 286 | @@ -2,7 +2,7 @@ | ||
| 287 | |||
| 288 | #include <errno.h> | ||
| 289 | #include <net/if.h> | ||
| 290 | -#include <linux/if_arp.h> | ||
| 291 | +//#include <linux/if_arp.h> | ||
| 292 | #include <linux/if_vlan.h> | ||
| 293 | |||
| 294 | #include "parse-util.h" | ||
| 295 | diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c | ||
| 296 | index b75ec2bcc6..6aeeea640b 100644 | ||
| 297 | --- a/src/network/netdev/vrf.c | ||
| 298 | +++ b/src/network/netdev/vrf.c | ||
| 299 | @@ -2,7 +2,7 @@ | ||
| 300 | |||
| 301 | #include <net/if.h> | ||
| 302 | #include <netinet/in.h> | ||
| 303 | -#include <linux/if_arp.h> | ||
| 304 | +//#include <linux/if_arp.h> | ||
| 305 | |||
| 306 | #include "vrf.h" | ||
| 307 | |||
| 308 | diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c | ||
| 309 | index c0343f45b6..f9e718f40b 100644 | ||
| 310 | --- a/src/network/netdev/vxcan.c | ||
| 311 | +++ b/src/network/netdev/vxcan.c | ||
| 312 | @@ -1,7 +1,7 @@ | ||
| 313 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 314 | |||
| 315 | #include <linux/can/vxcan.h> | ||
| 316 | -#include <linux/if_arp.h> | ||
| 317 | +//#include <linux/if_arp.h> | ||
| 318 | |||
| 319 | #include "vxcan.h" | ||
| 320 | |||
| 321 | diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c | ||
| 322 | index b11fdbbd0d..a971a917f0 100644 | ||
| 323 | --- a/src/network/netdev/vxlan.c | ||
| 324 | +++ b/src/network/netdev/vxlan.c | ||
| 325 | @@ -2,7 +2,7 @@ | ||
| 326 | |||
| 327 | #include <net/if.h> | ||
| 328 | #include <netinet/in.h> | ||
| 329 | -#include <linux/if_arp.h> | ||
| 330 | +//#include <linux/if_arp.h> | ||
| 331 | |||
| 332 | #include "conf-parser.h" | ||
| 333 | #include "alloc-util.h" | ||
| 334 | diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c | ||
| 335 | index 4c7d837c41..6df6dfb816 100644 | ||
| 336 | --- a/src/network/netdev/wireguard.c | ||
| 337 | +++ b/src/network/netdev/wireguard.c | ||
| 338 | @@ -6,7 +6,7 @@ | ||
| 339 | #include <sys/ioctl.h> | ||
| 340 | #include <net/if.h> | ||
| 341 | #include <netinet/in.h> | ||
| 342 | -#include <linux/if_arp.h> | ||
| 343 | +//#include <linux/if_arp.h> | ||
| 344 | #include <linux/ipv6_route.h> | ||
| 345 | |||
| 346 | #include "sd-resolve.h" | ||
| 347 | diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c | ||
| 348 | index 905bfc0bdf..39e34dbb3b 100644 | ||
| 349 | --- a/src/network/netdev/xfrm.c | ||
| 350 | +++ b/src/network/netdev/xfrm.c | ||
| 351 | @@ -1,6 +1,6 @@ | ||
| 352 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 353 | |||
| 354 | -#include <linux/if_arp.h> | ||
| 355 | +//#include <linux/if_arp.h> | ||
| 356 | |||
| 357 | #include "missing_network.h" | ||
| 358 | #include "xfrm.h" | ||
| 359 | diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c | ||
| 360 | index bd1a9745dc..949d3da029 100644 | ||
| 361 | --- a/src/network/networkd-bridge-mdb.c | ||
| 362 | +++ b/src/network/networkd-bridge-mdb.c | ||
| 363 | @@ -1,7 +1,5 @@ | ||
| 364 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 365 | |||
| 366 | -#include <net/if.h> | ||
| 367 | -#include <linux/if_bridge.h> | ||
| 368 | |||
| 369 | #include "netlink-util.h" | ||
| 370 | #include "networkd-bridge-mdb.h" | ||
| 371 | @@ -11,6 +9,8 @@ | ||
| 372 | #include "networkd-queue.h" | ||
| 373 | #include "string-util.h" | ||
| 374 | #include "vlan-util.h" | ||
| 375 | +#include <net/if.h> | ||
| 376 | +#include <linux/if_bridge.h> | ||
| 377 | |||
| 378 | #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U | ||
| 379 | |||
| 380 | diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c | ||
| 381 | index 080b15387c..efe8283957 100644 | ||
| 382 | --- a/src/network/networkd-dhcp-common.c | ||
| 383 | +++ b/src/network/networkd-dhcp-common.c | ||
| 384 | @@ -1,7 +1,8 @@ | ||
| 385 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 386 | |||
| 387 | #include <netinet/in.h> | ||
| 388 | -#include <linux/if_arp.h> | ||
| 389 | +//#include <linux/if_arp.h> | ||
| 390 | +#include <net/if.h> | ||
| 391 | |||
| 392 | #include "bus-error.h" | ||
| 393 | #include "bus-locator.h" | ||
| 394 | diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c | ||
| 395 | index af2fe9efcd..511565700f 100644 | ||
| 396 | --- a/src/network/networkd-dhcp-prefix-delegation.c | ||
| 397 | +++ b/src/network/networkd-dhcp-prefix-delegation.c | ||
| 398 | @@ -1,6 +1,5 @@ | ||
| 399 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 400 | |||
| 401 | -#include <linux/ipv6_route.h> | ||
| 402 | |||
| 403 | #include "dhcp6-lease-internal.h" | ||
| 404 | #include "hashmap.h" | ||
| 405 | @@ -20,6 +19,8 @@ | ||
| 406 | #include "strv.h" | ||
| 407 | #include "tunnel.h" | ||
| 408 | |||
| 409 | +#include <linux/ipv6_route.h> | ||
| 410 | + | ||
| 411 | bool link_dhcp_pd_is_enabled(Link *link) { | ||
| 412 | assert(link); | ||
| 413 | |||
| 414 | diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c | ||
| 415 | index 607fe0053c..9ce4005874 100644 | ||
| 416 | --- a/src/network/networkd-dhcp-server.c | ||
| 417 | +++ b/src/network/networkd-dhcp-server.c | ||
| 418 | @@ -1,7 +1,7 @@ | ||
| 419 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 420 | |||
| 421 | #include <netinet/in.h> | ||
| 422 | -#include <linux/if_arp.h> | ||
| 423 | +//#include <linux/if_arp.h> | ||
| 424 | #include <linux/if.h> | ||
| 425 | |||
| 426 | #include "sd-dhcp-server.h" | ||
| 427 | diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c | ||
| 428 | index efbae6d868..1ea2151d50 100644 | ||
| 429 | --- a/src/network/networkd-dhcp4.c | ||
| 430 | +++ b/src/network/networkd-dhcp4.c | ||
| 431 | @@ -3,7 +3,7 @@ | ||
| 432 | #include <netinet/in.h> | ||
| 433 | #include <netinet/ip.h> | ||
| 434 | #include <linux/if.h> | ||
| 435 | -#include <linux/if_arp.h> | ||
| 436 | +//#include <linux/if_arp.h> | ||
| 437 | |||
| 438 | #include "alloc-util.h" | ||
| 439 | #include "dhcp-client-internal.h" | ||
| 440 | diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c | ||
| 441 | index 32229a3fc7..662a345d6e 100644 | ||
| 442 | --- a/src/network/networkd-ipv6ll.c | ||
| 443 | +++ b/src/network/networkd-ipv6ll.c | ||
| 444 | @@ -1,7 +1,7 @@ | ||
| 445 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 446 | |||
| 447 | #include <linux/if.h> | ||
| 448 | -#include <linux/if_arp.h> | ||
| 449 | +//#include <linux/if_arp.h> | ||
| 450 | |||
| 451 | #include "in-addr-util.h" | ||
| 452 | #include "networkd-address.h" | ||
| 453 | diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c | ||
| 454 | index ee5f0f2c0a..ea5269a2de 100644 | ||
| 455 | --- a/src/network/networkd-link.c | ||
| 456 | +++ b/src/network/networkd-link.c | ||
| 457 | @@ -3,7 +3,7 @@ | ||
| 458 | #include <net/if.h> | ||
| 459 | #include <netinet/in.h> | ||
| 460 | #include <linux/if.h> | ||
| 461 | -#include <linux/if_arp.h> | ||
| 462 | +//#include <linux/if_arp.h> | ||
| 463 | #include <linux/if_link.h> | ||
| 464 | #include <linux/netdevice.h> | ||
| 465 | #include <sys/socket.h> | ||
| 466 | diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c | ||
| 467 | index ab9eeb13a5..dd96fe7483 100644 | ||
| 468 | --- a/src/network/networkd-ndisc.c | ||
| 469 | +++ b/src/network/networkd-ndisc.c | ||
| 470 | @@ -6,7 +6,7 @@ | ||
| 471 | #include <arpa/inet.h> | ||
| 472 | #include <netinet/icmp6.h> | ||
| 473 | #include <linux/if.h> | ||
| 474 | -#include <linux/if_arp.h> | ||
| 475 | +//#include <linux/if_arp.h> | ||
| 476 | |||
| 477 | #include "sd-ndisc.h" | ||
| 478 | |||
| 479 | diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c | ||
| 480 | index 7218d799fc..30d5574eae 100644 | ||
| 481 | --- a/src/network/networkd-route.c | ||
| 482 | +++ b/src/network/networkd-route.c | ||
| 483 | @@ -1,9 +1,5 @@ | ||
| 484 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 485 | |||
| 486 | -#include <linux/icmpv6.h> | ||
| 487 | -#include <linux/ipv6_route.h> | ||
| 488 | -#include <linux/nexthop.h> | ||
| 489 | - | ||
| 490 | #include "alloc-util.h" | ||
| 491 | #include "event-util.h" | ||
| 492 | #include "netlink-util.h" | ||
| 493 | @@ -21,6 +17,10 @@ | ||
| 494 | #include "vrf.h" | ||
| 495 | #include "wireguard.h" | ||
| 496 | |||
| 497 | +#include <linux/icmpv6.h> | ||
| 498 | +#include <linux/ipv6_route.h> | ||
| 499 | +#include <linux/nexthop.h> | ||
| 500 | + | ||
| 501 | int route_new(Route **ret) { | ||
| 502 | _cleanup_(route_freep) Route *route = NULL; | ||
| 503 | |||
| 504 | diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c | ||
| 505 | index 2298f9ea3a..7d5f87de53 100644 | ||
| 506 | --- a/src/network/networkd-setlink.c | ||
| 507 | +++ b/src/network/networkd-setlink.c | ||
| 508 | @@ -2,7 +2,7 @@ | ||
| 509 | |||
| 510 | #include <netinet/in.h> | ||
| 511 | #include <linux/if.h> | ||
| 512 | -#include <linux/if_arp.h> | ||
| 513 | +//#include <linux/if_arp.h> | ||
| 514 | #include <linux/if_bridge.h> | ||
| 515 | |||
| 516 | #include "missing_network.h" | ||
| 517 | diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c | ||
| 518 | index 2b226b2e2a..f12a474e2f 100644 | ||
| 519 | --- a/src/network/networkd-sysctl.c | ||
| 520 | +++ b/src/network/networkd-sysctl.c | ||
| 521 | @@ -2,7 +2,7 @@ | ||
| 522 | |||
| 523 | #include <netinet/in.h> | ||
| 524 | #include <linux/if.h> | ||
| 525 | -#include <linux/if_arp.h> | ||
| 526 | +//#include <linux/if_arp.h> | ||
| 527 | |||
| 528 | #include "missing_network.h" | ||
| 529 | #include "networkd-link.h" | ||
| 530 | diff --git a/src/shared/linux/ethtool.h b/src/shared/linux/ethtool.h | ||
| 531 | index 3d1da515c0..3fca9a4faf 100644 | ||
| 532 | --- a/src/shared/linux/ethtool.h | ||
| 533 | +++ b/src/shared/linux/ethtool.h | ||
| 534 | @@ -16,7 +16,8 @@ | ||
| 535 | |||
| 536 | #include <linux/const.h> | ||
| 537 | #include <linux/types.h> | ||
| 538 | -#include <linux/if_ether.h> | ||
| 539 | +#include <netinet/if_ether.h> | ||
| 540 | +//#include <linux/if_ether.h> | ||
| 541 | |||
| 542 | #include <limits.h> /* for INT_MAX */ | ||
| 543 | |||
| 544 | diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c | ||
| 545 | index f56c5646c1..5af28ff119 100644 | ||
| 546 | --- a/src/shared/netif-util.c | ||
| 547 | +++ b/src/shared/netif-util.c | ||
| 548 | @@ -1,7 +1,7 @@ | ||
| 549 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | ||
| 550 | |||
| 551 | #include <linux/if.h> | ||
| 552 | -#include <linux/if_arp.h> | ||
| 553 | +//#include <linux/if_arp.h> | ||
| 554 | |||
| 555 | #include "arphrd-util.h" | ||
| 556 | #include "device-util.h" | ||
| 557 | diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c | ||
| 558 | index f528a46b8e..830318cda5 100644 | ||
| 559 | --- a/src/udev/udev-builtin-net_id.c | ||
| 560 | +++ b/src/udev/udev-builtin-net_id.c | ||
| 561 | @@ -18,7 +18,7 @@ | ||
| 562 | #include <stdarg.h> | ||
| 563 | #include <unistd.h> | ||
| 564 | #include <linux/if.h> | ||
| 565 | -#include <linux/if_arp.h> | ||
| 566 | +//#include <linux/if_arp.h> | ||
| 567 | #include <linux/netdevice.h> | ||
| 568 | #include <linux/pci_regs.h> | ||
| 569 | |||
| 570 | -- | ||
| 571 | 2.34.1 | ||
| 572 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch deleted file mode 100644 index 75f6b9094a..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch +++ /dev/null | |||
| @@ -1,52 +0,0 @@ | |||
| 1 | From be02bd0876a061728661535a709d313e39fe1ac3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Tue, 8 Nov 2022 13:31:34 -0800 | ||
| 4 | Subject: [PATCH 18/22] test-bus-error: strerror() is assumed to be GNU | ||
| 5 | specific version mark it so | ||
| 6 | |||
| 7 | Upstream-Status: Inappropriate [Upstream systemd only supports glibc] | ||
| 8 | |||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | src/libsystemd/sd-bus/test-bus-error.c | 2 ++ | ||
| 12 | src/test/test-errno-util.c | 3 ++- | ||
| 13 | 2 files changed, 4 insertions(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/src/libsystemd/sd-bus/test-bus-error.c b/src/libsystemd/sd-bus/test-bus-error.c | ||
| 16 | index a55f3f9856..4123bf3da0 100644 | ||
| 17 | --- a/src/libsystemd/sd-bus/test-bus-error.c | ||
| 18 | +++ b/src/libsystemd/sd-bus/test-bus-error.c | ||
| 19 | @@ -99,7 +99,9 @@ TEST(error) { | ||
| 20 | assert_se(!sd_bus_error_is_set(&error)); | ||
| 21 | assert_se(sd_bus_error_set_errno(&error, EBUSY) == -EBUSY); | ||
| 22 | assert_se(streq(error.name, "System.Error.EBUSY")); | ||
| 23 | +#ifdef __GLIBC__ | ||
| 24 | assert_se(streq(error.message, STRERROR(EBUSY))); | ||
| 25 | +#endif | ||
| 26 | assert_se(sd_bus_error_has_name(&error, "System.Error.EBUSY")); | ||
| 27 | assert_se(sd_bus_error_get_errno(&error) == EBUSY); | ||
| 28 | assert_se(sd_bus_error_is_set(&error)); | ||
| 29 | diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c | ||
| 30 | index 376d532281..967cfd4d67 100644 | ||
| 31 | --- a/src/test/test-errno-util.c | ||
| 32 | +++ b/src/test/test-errno-util.c | ||
| 33 | @@ -4,7 +4,7 @@ | ||
| 34 | #include "stdio-util.h" | ||
| 35 | #include "string-util.h" | ||
| 36 | #include "tests.h" | ||
| 37 | - | ||
| 38 | +#ifdef __GLIBC__ | ||
| 39 | TEST(strerror_not_threadsafe) { | ||
| 40 | /* Just check that strerror really is not thread-safe. */ | ||
| 41 | log_info("strerror(%d) → %s", 200, strerror(200)); | ||
| 42 | @@ -46,6 +46,7 @@ TEST(STRERROR_OR_ELSE) { | ||
| 43 | log_info("STRERROR_OR_ELSE(EPERM, \"EOF\") → %s", STRERROR_OR_EOF(EPERM)); | ||
| 44 | log_info("STRERROR_OR_ELSE(-EPERM, \"EOF\") → %s", STRERROR_OR_EOF(-EPERM)); | ||
| 45 | } | ||
| 46 | +#endif /* __GLIBC__ */ | ||
| 47 | |||
| 48 | TEST(PROTECT_ERRNO) { | ||
| 49 | errno = 12; | ||
| 50 | -- | ||
| 51 | 2.34.1 | ||
| 52 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch deleted file mode 100644 index e038b73678..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch +++ /dev/null | |||
| @@ -1,42 +0,0 @@ | |||
| 1 | From 46d80840bfe37e67d4f18c37a77751ea1fe63a07 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 23 Jan 2023 23:39:46 -0800 | ||
| 4 | Subject: [PATCH 19/22] errno-util: Make STRERROR portable for musl | ||
| 5 | |||
| 6 | Sadly, systemd has decided to use yet another GNU extention in a macro | ||
| 7 | lets make this such that we can use XSI compliant strerror_r() for | ||
| 8 | non-glibc hosts | ||
| 9 | |||
| 10 | Upstream-Status: Inappropriate [musl specific] | ||
| 11 | |||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | src/basic/errno-util.h | 12 ++++++++++-- | ||
| 15 | 1 file changed, 10 insertions(+), 2 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h | ||
| 18 | index 27804e6382..274c1c6ef1 100644 | ||
| 19 | --- a/src/basic/errno-util.h | ||
| 20 | +++ b/src/basic/errno-util.h | ||
| 21 | @@ -15,8 +15,16 @@ | ||
| 22 | * https://stackoverflow.com/questions/34880638/compound-literal-lifetime-and-if-blocks | ||
| 23 | * | ||
| 24 | * Note that we use the GNU variant of strerror_r() here. */ | ||
| 25 | -#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN) | ||
| 26 | - | ||
| 27 | +static inline const char * STRERROR(int errnum); | ||
| 28 | + | ||
| 29 | +static inline const char * STRERROR(int errnum) { | ||
| 30 | +#ifdef __GLIBC__ | ||
| 31 | + return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN); | ||
| 32 | +#else | ||
| 33 | + static __thread char buf[ERRNO_BUF_LEN]; | ||
| 34 | + return strerror_r(abs(errnum), buf, ERRNO_BUF_LEN) ? "unknown error" : buf; | ||
| 35 | +#endif | ||
| 36 | +} | ||
| 37 | /* A helper to print an error message or message for functions that return 0 on EOF. | ||
| 38 | * Note that we can't use ({ … }) to define a temporary variable, so errnum is | ||
| 39 | * evaluated twice. */ | ||
| 40 | -- | ||
| 41 | 2.34.1 | ||
| 42 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch deleted file mode 100644 index b83fffe793..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch +++ /dev/null | |||
| @@ -1,39 +0,0 @@ | |||
| 1 | From 9eb4867b4e2dbdb2484ae854022aff97e2f0feb3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Wed, 2 Aug 2023 12:06:27 -0700 | ||
| 4 | Subject: [PATCH 20/22] sd-event: Make malloc_trim() conditional on glibc | ||
| 5 | |||
| 6 | musl does not have this API | ||
| 7 | |||
| 8 | Upstream-Status: Inappropriate [musl-specific] | ||
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 10 | --- | ||
| 11 | src/libsystemd/sd-event/sd-event.c | 4 +++- | ||
| 12 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
| 13 | |||
| 14 | diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c | ||
| 15 | index 288798a0dc..6419a7f216 100644 | ||
| 16 | --- a/src/libsystemd/sd-event/sd-event.c | ||
| 17 | +++ b/src/libsystemd/sd-event/sd-event.c | ||
| 18 | @@ -1874,7 +1874,7 @@ _public_ int sd_event_add_exit( | ||
| 19 | } | ||
| 20 | |||
| 21 | _public_ int sd_event_trim_memory(void) { | ||
| 22 | - int r; | ||
| 23 | + int r = 0; | ||
| 24 | |||
| 25 | /* A default implementation of a memory pressure callback. Simply releases our own allocation caches | ||
| 26 | * and glibc's. This is automatically used when people call sd_event_add_memory_pressure() with a | ||
| 27 | @@ -1888,7 +1888,9 @@ _public_ int sd_event_trim_memory(void) { | ||
| 28 | |||
| 29 | usec_t before_timestamp = now(CLOCK_MONOTONIC); | ||
| 30 | hashmap_trim_pools(); | ||
| 31 | +#ifdef __GLIBC__ | ||
| 32 | r = malloc_trim(0); | ||
| 33 | +#endif | ||
| 34 | usec_t after_timestamp = now(CLOCK_MONOTONIC); | ||
| 35 | |||
| 36 | if (r > 0) | ||
| 37 | -- | ||
| 38 | 2.34.1 | ||
| 39 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-shared-Do-not-use-malloc_info-on-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-shared-Do-not-use-malloc_info-on-musl.patch deleted file mode 100644 index 7eff069bb7..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-shared-Do-not-use-malloc_info-on-musl.patch +++ /dev/null | |||
| @@ -1,57 +0,0 @@ | |||
| 1 | From 502597b9ddd6b145541b23fadca0b1d3ca9f6367 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Wed, 2 Aug 2023 12:20:40 -0700 | ||
| 4 | Subject: [PATCH 21/22] shared: Do not use malloc_info on musl | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [musl-specific] | ||
| 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 8 | --- | ||
| 9 | src/shared/bus-util.c | 5 +++-- | ||
| 10 | src/shared/common-signal.c | 4 ++-- | ||
| 11 | 2 files changed, 5 insertions(+), 4 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c | ||
| 14 | index 74f148c8b4..2d862a123d 100644 | ||
| 15 | --- a/src/shared/bus-util.c | ||
| 16 | +++ b/src/shared/bus-util.c | ||
| 17 | @@ -611,15 +611,16 @@ static int method_dump_memory_state_by_fd(sd_bus_message *message, void *userdat | ||
| 18 | _cleanup_close_ int fd = -EBADF; | ||
| 19 | size_t dump_size; | ||
| 20 | FILE *f; | ||
| 21 | - int r; | ||
| 22 | + int r = 0; | ||
| 23 | |||
| 24 | assert(message); | ||
| 25 | |||
| 26 | f = memstream_init(&m); | ||
| 27 | if (!f) | ||
| 28 | return -ENOMEM; | ||
| 29 | - | ||
| 30 | +#ifdef __GLIBC__ | ||
| 31 | r = RET_NERRNO(malloc_info(/* options= */ 0, f)); | ||
| 32 | +#endif | ||
| 33 | if (r < 0) | ||
| 34 | return r; | ||
| 35 | |||
| 36 | diff --git a/src/shared/common-signal.c b/src/shared/common-signal.c | ||
| 37 | index 8e70e365dd..9e782caec9 100644 | ||
| 38 | --- a/src/shared/common-signal.c | ||
| 39 | +++ b/src/shared/common-signal.c | ||
| 40 | @@ -65,12 +65,12 @@ int sigrtmin18_handler(sd_event_source *s, const struct signalfd_siginfo *si, vo | ||
| 41 | log_oom(); | ||
| 42 | break; | ||
| 43 | } | ||
| 44 | - | ||
| 45 | +#ifdef __GLIBC__ | ||
| 46 | if (malloc_info(0, f) < 0) { | ||
| 47 | log_error_errno(errno, "Failed to invoke malloc_info(): %m"); | ||
| 48 | break; | ||
| 49 | } | ||
| 50 | - | ||
| 51 | +#endif | ||
| 52 | (void) memstream_dump(LOG_INFO, &m); | ||
| 53 | break; | ||
| 54 | } | ||
| 55 | -- | ||
| 56 | 2.34.1 | ||
| 57 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch deleted file mode 100644 index 56755ac559..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch +++ /dev/null | |||
| @@ -1,36 +0,0 @@ | |||
| 1 | From 97d3ed7834bd86615ba4acdbef984c677b7e7791 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
| 3 | Date: Tue, 2 Jan 2024 11:03:27 +0800 | ||
| 4 | Subject: [PATCH] avoid missing LOCK_EX declaration | ||
| 5 | |||
| 6 | This only happens on MUSL. Include sys/file.h to avoid compilation | ||
| 7 | error about missing LOCK_EX declaration. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [musl specific] | ||
| 10 | |||
| 11 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
| 12 | --- | ||
| 13 | src/core/exec-invoke.c | 1 + | ||
| 14 | src/shared/dev-setup.h | 1 + | ||
| 15 | 2 files changed, 2 insertions(+) | ||
| 16 | |||
| 17 | --- a/src/core/exec-invoke.c | ||
| 18 | +++ b/src/core/exec-invoke.c | ||
| 19 | @@ -4,6 +4,7 @@ | ||
| 20 | #include <sys/ioctl.h> | ||
| 21 | #include <sys/mount.h> | ||
| 22 | #include <sys/prctl.h> | ||
| 23 | +#include <sys/file.h> | ||
| 24 | |||
| 25 | #if HAVE_PAM | ||
| 26 | #include <security/pam_appl.h> | ||
| 27 | --- a/src/shared/dev-setup.h | ||
| 28 | +++ b/src/shared/dev-setup.h | ||
| 29 | @@ -2,6 +2,7 @@ | ||
| 30 | #pragma once | ||
| 31 | |||
| 32 | #include <sys/types.h> | ||
| 33 | +#include <sys/file.h> | ||
| 34 | |||
| 35 | int lock_dev_console(void); | ||
| 36 | |||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.6.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.6.bb deleted file mode 100644 index 9c39d40d23..0000000000 --- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.6.bb +++ /dev/null | |||
| @@ -1,76 +0,0 @@ | |||
| 1 | SUMMARY = "libsystemd static library" | ||
| 2 | DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++" | ||
| 3 | |||
| 4 | SECTION = "libs" | ||
| 5 | |||
| 6 | LICENSE = "LGPL-2.1-or-later" | ||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" | ||
| 8 | |||
| 9 | inherit meson pkgconfig | ||
| 10 | |||
| 11 | DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native" | ||
| 12 | |||
| 13 | SRCREV = "5810c25792d4268282dd3892af1a253b690423c9" | ||
| 14 | SRCBRANCH = "v255-stable" | ||
| 15 | SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \ | ||
| 16 | file://static-libsystemd-pkgconfig.patch \ | ||
| 17 | " | ||
| 18 | |||
| 19 | # patches needed by musl | ||
| 20 | SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}" | ||
| 21 | |||
| 22 | SRC_URI_MUSL = "\ | ||
| 23 | file://0001-missing_type.h-add-comparison_fn_t.patch \ | ||
| 24 | file://0002-add-fallback-parse_printf_format-implementation.patch \ | ||
| 25 | file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ | ||
| 26 | file://0003-src-basic-missing.h-check-for-missing-strndupa.patch \ | ||
| 27 | file://0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \ | ||
| 28 | file://0005-add-missing-FTW_-macros-for-musl.patch \ | ||
| 29 | file://0006-Use-uintmax_t-for-handling-rlim_t.patch \ | ||
| 30 | file://0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ | ||
| 31 | file://0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ | ||
| 32 | file://0008-implment-systemd-sysv-install-for-OE.patch \ | ||
| 33 | file://0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \ | ||
| 34 | file://0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \ | ||
| 35 | file://0011-avoid-redefinition-of-prctl_mm_map-structure.patch \ | ||
| 36 | file://0012-do-not-disable-buffer-in-writing-files.patch \ | ||
| 37 | file://0013-Handle-__cpu_mask-usage.patch \ | ||
| 38 | file://0014-Handle-missing-gshadow.patch \ | ||
| 39 | file://0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \ | ||
| 40 | file://0016-pass-correct-parameters-to-getdents64.patch \ | ||
| 41 | file://0017-Adjust-for-musl-headers.patch \ | ||
| 42 | file://0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \ | ||
| 43 | file://0019-errno-util-Make-STRERROR-portable-for-musl.patch \ | ||
| 44 | file://0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch \ | ||
| 45 | file://0021-shared-Do-not-use-malloc_info-on-musl.patch \ | ||
| 46 | file://0022-avoid-missing-LOCK_EX-declaration.patch \ | ||
| 47 | " | ||
| 48 | |||
| 49 | PACKAGECONFIG ??= "gshadow idn" | ||
| 50 | PACKAGECONFIG:remove:libc-musl = " gshadow idn" | ||
| 51 | PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" | ||
| 52 | PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" | ||
| 53 | |||
| 54 | CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 " | ||
| 55 | |||
| 56 | EXTRA_OEMESON += "-Dstatic-libsystemd=pic" | ||
| 57 | |||
| 58 | |||
| 59 | RDEPENDS:${PN}-dev = "" | ||
| 60 | |||
| 61 | do_compile() { | ||
| 62 | ninja -v ${PARALLEL_MAKE} version.h | ||
| 63 | ninja -v ${PARALLEL_MAKE} libsystemd.a | ||
| 64 | ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc | ||
| 65 | } | ||
| 66 | |||
| 67 | do_install () { | ||
| 68 | install -d ${D}${libdir} | ||
| 69 | install ${B}/libsystemd.a ${D}${libdir} | ||
| 70 | |||
| 71 | install -d ${D}${includedir}/systemd | ||
| 72 | install ${S}/src/systemd/*.h ${D}${includedir}/systemd | ||
| 73 | |||
| 74 | install -d ${D}${libdir}/pkgconfig | ||
| 75 | install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig | ||
| 76 | } | ||
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_259.5.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_259.5.bb new file mode 100644 index 0000000000..63a7bc7c27 --- /dev/null +++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_259.5.bb | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | SUMMARY = "libsystemd static library" | ||
| 2 | DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++" | ||
| 3 | |||
| 4 | SECTION = "libs" | ||
| 5 | |||
| 6 | LICENSE = "LGPL-2.1-or-later" | ||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=be0aaf4a380f73f7e00b420a007368f2" | ||
| 8 | |||
| 9 | inherit meson pkgconfig | ||
| 10 | |||
| 11 | DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native" | ||
| 12 | |||
| 13 | SRCREV = "b3d8fc43e9cb531d958c17ef2cd93b374bc14e8a" | ||
| 14 | SRCBRANCH = "v259-stable" | ||
| 15 | SRC_URI = "git://github.com/systemd/systemd;protocol=https;branch=${SRCBRANCH};tag=v${PV} \ | ||
| 16 | file://static-libsystemd-pkgconfig.patch \ | ||
| 17 | " | ||
| 18 | |||
| 19 | PACKAGECONFIG ??= "gshadow idn" | ||
| 20 | PACKAGECONFIG:remove:libc-musl = " gshadow idn" | ||
| 21 | PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false" | ||
| 22 | PACKAGECONFIG[idn] = "-Didn=true,-Didn=false" | ||
| 23 | |||
| 24 | CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 " | ||
| 25 | |||
| 26 | EXTRA_OEMESON += "-Dstatic-libsystemd=pic" | ||
| 27 | |||
| 28 | |||
| 29 | RDEPENDS:${PN}-dev = "" | ||
| 30 | |||
| 31 | do_compile() { | ||
| 32 | ninja -v ${PARALLEL_MAKE} libsystemd.a | ||
| 33 | ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc | ||
| 34 | } | ||
| 35 | |||
| 36 | do_install () { | ||
| 37 | install -d ${D}${libdir} | ||
| 38 | install ${B}/libsystemd.a ${D}${libdir} | ||
| 39 | |||
| 40 | install -d ${D}${includedir}/systemd | ||
| 41 | install ${S}/src/systemd/*.h ${D}${includedir}/systemd | ||
| 42 | |||
| 43 | install -d ${D}${libdir}/pkgconfig | ||
| 44 | install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig | ||
| 45 | } | ||
diff --git a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc index 0e842a9c91..0118cc3f32 100644 --- a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc +++ b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc | |||
| @@ -7,9 +7,9 @@ SRC_URI += " \ | |||
| 7 | crate://crates.io/allocator-api2/0.2.21 \ | 7 | crate://crates.io/allocator-api2/0.2.21 \ |
| 8 | crate://crates.io/android_system_properties/0.1.5 \ | 8 | crate://crates.io/android_system_properties/0.1.5 \ |
| 9 | crate://crates.io/ansi-width/0.1.0 \ | 9 | crate://crates.io/ansi-width/0.1.0 \ |
| 10 | crate://crates.io/anstream/0.6.21 \ | 10 | crate://crates.io/anstream/1.0.0 \ |
| 11 | crate://crates.io/anstyle/1.0.13 \ | 11 | crate://crates.io/anstyle/1.0.13 \ |
| 12 | crate://crates.io/anstyle-parse/0.2.7 \ | 12 | crate://crates.io/anstyle-parse/1.0.0 \ |
| 13 | crate://crates.io/anstyle-query/1.1.5 \ | 13 | crate://crates.io/anstyle-query/1.1.5 \ |
| 14 | crate://crates.io/anstyle-wincon/3.0.11 \ | 14 | crate://crates.io/anstyle-wincon/3.0.11 \ |
| 15 | crate://crates.io/anyhow/1.0.101 \ | 15 | crate://crates.io/anyhow/1.0.101 \ |
| @@ -22,43 +22,47 @@ SRC_URI += " \ | |||
| 22 | crate://crates.io/binary-heap-plus/0.5.0 \ | 22 | crate://crates.io/binary-heap-plus/0.5.0 \ |
| 23 | crate://crates.io/bindgen/0.72.1 \ | 23 | crate://crates.io/bindgen/0.72.1 \ |
| 24 | crate://crates.io/bitflags/1.3.2 \ | 24 | crate://crates.io/bitflags/1.3.2 \ |
| 25 | crate://crates.io/bitflags/2.10.0 \ | 25 | crate://crates.io/bitflags/2.11.0 \ |
| 26 | crate://crates.io/bitvec/1.0.1 \ | 26 | crate://crates.io/bitvec/1.0.1 \ |
| 27 | crate://crates.io/blake2b_simd/1.0.4 \ | 27 | crate://crates.io/blake2b_simd/1.0.4 \ |
| 28 | crate://crates.io/blake3/1.8.3 \ | 28 | crate://crates.io/blake3/1.8.4 \ |
| 29 | crate://crates.io/block-buffer/0.10.4 \ | 29 | crate://crates.io/block-buffer/0.10.4 \ |
| 30 | crate://crates.io/block-buffer/0.12.0 \ | ||
| 30 | crate://crates.io/block2/0.6.2 \ | 31 | crate://crates.io/block2/0.6.2 \ |
| 31 | crate://crates.io/bstr/1.12.1 \ | 32 | crate://crates.io/bstr/1.12.1 \ |
| 32 | crate://crates.io/bumpalo/3.19.1 \ | 33 | crate://crates.io/bumpalo/3.19.1 \ |
| 33 | crate://crates.io/bytecount/0.6.9 \ | 34 | crate://crates.io/bytecount/0.6.9 \ |
| 34 | crate://crates.io/byteorder/1.5.0 \ | 35 | crate://crates.io/byteorder/1.5.0 \ |
| 35 | crate://crates.io/calendrical_calculations/0.2.3 \ | 36 | crate://crates.io/calendrical_calculations/0.2.4 \ |
| 36 | crate://crates.io/cc/1.2.55 \ | 37 | crate://crates.io/cc/1.2.55 \ |
| 37 | crate://crates.io/cexpr/0.6.0 \ | 38 | crate://crates.io/cexpr/0.6.0 \ |
| 38 | crate://crates.io/cfg-if/1.0.4 \ | 39 | crate://crates.io/cfg-if/1.0.4 \ |
| 39 | crate://crates.io/cfg_aliases/0.2.1 \ | 40 | crate://crates.io/cfg_aliases/0.2.1 \ |
| 41 | crate://crates.io/chacha20/0.10.0 \ | ||
| 40 | crate://crates.io/chrono/0.4.43 \ | 42 | crate://crates.io/chrono/0.4.43 \ |
| 41 | crate://crates.io/clang-sys/1.8.1 \ | 43 | crate://crates.io/clang-sys/1.8.1 \ |
| 42 | crate://crates.io/clap/4.5.60 \ | 44 | crate://crates.io/clap/4.6.0 \ |
| 43 | crate://crates.io/clap_builder/4.5.60 \ | 45 | crate://crates.io/clap_builder/4.6.0 \ |
| 44 | crate://crates.io/clap_complete/4.5.66 \ | 46 | crate://crates.io/clap_complete/4.6.0 \ |
| 45 | crate://crates.io/clap_lex/1.0.0 \ | 47 | crate://crates.io/clap_lex/1.0.0 \ |
| 46 | crate://crates.io/clap_mangen/0.2.31 \ | 48 | crate://crates.io/clap_mangen/0.3.0 \ |
| 47 | crate://crates.io/codspeed/4.3.0 \ | 49 | crate://crates.io/codspeed/4.4.1 \ |
| 48 | crate://crates.io/codspeed-divan-compat/4.3.0 \ | 50 | crate://crates.io/codspeed-divan-compat/4.4.1 \ |
| 49 | crate://crates.io/codspeed-divan-compat-macros/4.3.0 \ | 51 | crate://crates.io/codspeed-divan-compat-macros/4.4.1 \ |
| 50 | crate://crates.io/codspeed-divan-compat-walltime/4.3.0 \ | 52 | crate://crates.io/codspeed-divan-compat-walltime/4.4.1 \ |
| 51 | crate://crates.io/colorchoice/1.0.4 \ | 53 | crate://crates.io/colorchoice/1.0.4 \ |
| 52 | crate://crates.io/colored/2.2.0 \ | 54 | crate://crates.io/colored/2.2.0 \ |
| 53 | crate://crates.io/compare/0.1.0 \ | 55 | crate://crates.io/compare/0.1.0 \ |
| 54 | crate://crates.io/condtype/1.3.0 \ | 56 | crate://crates.io/condtype/1.3.0 \ |
| 55 | crate://crates.io/console/0.16.2 \ | 57 | crate://crates.io/console/0.16.3 \ |
| 58 | crate://crates.io/const-oid/0.10.2 \ | ||
| 56 | crate://crates.io/const-random/0.1.18 \ | 59 | crate://crates.io/const-random/0.1.18 \ |
| 57 | crate://crates.io/const-random-macro/0.1.16 \ | 60 | crate://crates.io/const-random-macro/0.1.16 \ |
| 58 | crate://crates.io/constant_time_eq/0.4.2 \ | 61 | crate://crates.io/constant_time_eq/0.4.2 \ |
| 59 | crate://crates.io/core-foundation-sys/0.8.7 \ | 62 | crate://crates.io/core-foundation-sys/0.8.7 \ |
| 60 | crate://crates.io/core_maths/0.1.1 \ | 63 | crate://crates.io/core_maths/0.1.1 \ |
| 61 | crate://crates.io/cpufeatures/0.2.17 \ | 64 | crate://crates.io/cpufeatures/0.2.17 \ |
| 65 | crate://crates.io/cpufeatures/0.3.0 \ | ||
| 62 | crate://crates.io/crc/3.3.0 \ | 66 | crate://crates.io/crc/3.3.0 \ |
| 63 | crate://crates.io/crc-catalog/2.4.0 \ | 67 | crate://crates.io/crc-catalog/2.4.0 \ |
| 64 | crate://crates.io/crc-fast/1.9.0 \ | 68 | crate://crates.io/crc-fast/1.9.0 \ |
| @@ -70,22 +74,24 @@ SRC_URI += " \ | |||
| 70 | crate://crates.io/crossterm_winapi/0.9.1 \ | 74 | crate://crates.io/crossterm_winapi/0.9.1 \ |
| 71 | crate://crates.io/crunchy/0.2.4 \ | 75 | crate://crates.io/crunchy/0.2.4 \ |
| 72 | crate://crates.io/crypto-common/0.1.7 \ | 76 | crate://crates.io/crypto-common/0.1.7 \ |
| 73 | crate://crates.io/ctor/0.6.3 \ | 77 | crate://crates.io/crypto-common/0.2.1 \ |
| 78 | crate://crates.io/ctor/0.8.0 \ | ||
| 74 | crate://crates.io/ctor-proc-macro/0.0.7 \ | 79 | crate://crates.io/ctor-proc-macro/0.0.7 \ |
| 75 | crate://crates.io/ctrlc/3.5.1 \ | 80 | crate://crates.io/ctrlc/3.5.2 \ |
| 76 | crate://crates.io/data-encoding/2.10.0 \ | 81 | crate://crates.io/data-encoding/2.10.0 \ |
| 77 | crate://crates.io/data-encoding-macro/0.1.19 \ | 82 | crate://crates.io/data-encoding-macro/0.1.19 \ |
| 78 | crate://crates.io/data-encoding-macro-internal/0.1.17 \ | 83 | crate://crates.io/data-encoding-macro-internal/0.1.17 \ |
| 79 | crate://crates.io/deranged/0.5.5 \ | 84 | crate://crates.io/deranged/0.5.5 \ |
| 80 | crate://crates.io/diff/0.1.13 \ | 85 | crate://crates.io/diff/0.1.13 \ |
| 81 | crate://crates.io/digest/0.10.7 \ | 86 | crate://crates.io/digest/0.10.7 \ |
| 87 | crate://crates.io/digest/0.11.2 \ | ||
| 82 | crate://crates.io/dispatch2/0.3.0 \ | 88 | crate://crates.io/dispatch2/0.3.0 \ |
| 83 | crate://crates.io/displaydoc/0.2.5 \ | 89 | crate://crates.io/displaydoc/0.2.5 \ |
| 84 | crate://crates.io/divan-macros/0.1.17 \ | 90 | crate://crates.io/divan-macros/0.1.17 \ |
| 85 | crate://crates.io/dlv-list/0.5.2 \ | 91 | crate://crates.io/dlv-list/0.5.2 \ |
| 86 | crate://crates.io/dns-lookup/3.0.1 \ | 92 | crate://crates.io/dns-lookup/3.0.1 \ |
| 87 | crate://crates.io/document-features/0.2.12 \ | 93 | crate://crates.io/document-features/0.2.12 \ |
| 88 | crate://crates.io/dtor/0.1.1 \ | 94 | crate://crates.io/dtor/0.3.0 \ |
| 89 | crate://crates.io/dtor-proc-macro/0.0.6 \ | 95 | crate://crates.io/dtor-proc-macro/0.0.6 \ |
| 90 | crate://crates.io/dunce/1.0.5 \ | 96 | crate://crates.io/dunce/1.0.5 \ |
| 91 | crate://crates.io/either/1.15.0 \ | 97 | crate://crates.io/either/1.15.0 \ |
| @@ -98,7 +104,7 @@ SRC_URI += " \ | |||
| 98 | crate://crates.io/filedescriptor/0.8.3 \ | 104 | crate://crates.io/filedescriptor/0.8.3 \ |
| 99 | crate://crates.io/filetime/0.2.27 \ | 105 | crate://crates.io/filetime/0.2.27 \ |
| 100 | crate://crates.io/find-msvc-tools/0.1.9 \ | 106 | crate://crates.io/find-msvc-tools/0.1.9 \ |
| 101 | crate://crates.io/fixed_decimal/0.7.1 \ | 107 | crate://crates.io/fixed_decimal/0.7.2 \ |
| 102 | crate://crates.io/flate2/1.1.9 \ | 108 | crate://crates.io/flate2/1.1.9 \ |
| 103 | crate://crates.io/fluent/0.17.0 \ | 109 | crate://crates.io/fluent/0.17.0 \ |
| 104 | crate://crates.io/fluent-bundle/0.16.0 \ | 110 | crate://crates.io/fluent-bundle/0.16.0 \ |
| @@ -118,39 +124,42 @@ SRC_URI += " \ | |||
| 118 | crate://crates.io/gcd/2.3.0 \ | 124 | crate://crates.io/gcd/2.3.0 \ |
| 119 | crate://crates.io/generic-array/0.14.7 \ | 125 | crate://crates.io/generic-array/0.14.7 \ |
| 120 | crate://crates.io/getrandom/0.2.17 \ | 126 | crate://crates.io/getrandom/0.2.17 \ |
| 121 | crate://crates.io/getrandom/0.3.4 \ | 127 | crate://crates.io/getrandom/0.4.2 \ |
| 122 | crate://crates.io/glob/0.3.3 \ | 128 | crate://crates.io/glob/0.3.3 \ |
| 123 | crate://crates.io/half/2.7.1 \ | 129 | crate://crates.io/half/2.7.1 \ |
| 124 | crate://crates.io/hashbrown/0.14.5 \ | 130 | crate://crates.io/hashbrown/0.14.5 \ |
| 125 | crate://crates.io/hashbrown/0.15.5 \ | 131 | crate://crates.io/hashbrown/0.15.5 \ |
| 126 | crate://crates.io/hashbrown/0.16.1 \ | 132 | crate://crates.io/hashbrown/0.16.1 \ |
| 133 | crate://crates.io/heck/0.5.0 \ | ||
| 127 | crate://crates.io/hex/0.4.3 \ | 134 | crate://crates.io/hex/0.4.3 \ |
| 128 | crate://crates.io/hex-literal/1.1.0 \ | 135 | crate://crates.io/hex-literal/1.1.0 \ |
| 129 | crate://crates.io/hostname/0.4.2 \ | 136 | crate://crates.io/hostname/0.4.2 \ |
| 137 | crate://crates.io/hybrid-array/0.4.8 \ | ||
| 130 | crate://crates.io/iana-time-zone/0.1.65 \ | 138 | crate://crates.io/iana-time-zone/0.1.65 \ |
| 131 | crate://crates.io/iana-time-zone-haiku/0.1.2 \ | 139 | crate://crates.io/iana-time-zone-haiku/0.1.2 \ |
| 132 | crate://crates.io/icu_calendar/2.1.1 \ | 140 | crate://crates.io/icu_calendar/2.2.1 \ |
| 133 | crate://crates.io/icu_calendar_data/2.1.1 \ | 141 | crate://crates.io/icu_calendar_data/2.2.0 \ |
| 134 | crate://crates.io/icu_collator/2.1.1 \ | 142 | crate://crates.io/icu_collator/2.2.0 \ |
| 135 | crate://crates.io/icu_collator_data/2.1.1 \ | 143 | crate://crates.io/icu_collator_data/2.2.0 \ |
| 136 | crate://crates.io/icu_collections/2.1.1 \ | 144 | crate://crates.io/icu_collections/2.2.0 \ |
| 137 | crate://crates.io/icu_datetime/2.1.1 \ | 145 | crate://crates.io/icu_datetime/2.2.0 \ |
| 138 | crate://crates.io/icu_datetime_data/2.1.2 \ | 146 | crate://crates.io/icu_datetime_data/2.2.0 \ |
| 139 | crate://crates.io/icu_decimal/2.1.1 \ | 147 | crate://crates.io/icu_decimal/2.2.0 \ |
| 140 | crate://crates.io/icu_decimal_data/2.1.1 \ | 148 | crate://crates.io/icu_decimal_data/2.2.0 \ |
| 141 | crate://crates.io/icu_locale/2.1.1 \ | 149 | crate://crates.io/icu_locale/2.2.0 \ |
| 142 | crate://crates.io/icu_locale_core/2.1.1 \ | 150 | crate://crates.io/icu_locale_core/2.2.0 \ |
| 143 | crate://crates.io/icu_locale_data/2.1.2 \ | 151 | crate://crates.io/icu_locale_data/2.2.0 \ |
| 144 | crate://crates.io/icu_normalizer/2.1.1 \ | 152 | crate://crates.io/icu_normalizer/2.2.0 \ |
| 145 | crate://crates.io/icu_normalizer_data/2.1.1 \ | 153 | crate://crates.io/icu_normalizer_data/2.2.0 \ |
| 146 | crate://crates.io/icu_pattern/0.4.1 \ | 154 | crate://crates.io/icu_pattern/0.4.2 \ |
| 147 | crate://crates.io/icu_plurals/2.1.1 \ | 155 | crate://crates.io/icu_plurals/2.2.0 \ |
| 148 | crate://crates.io/icu_plurals_data/2.1.1 \ | 156 | crate://crates.io/icu_plurals_data/2.2.0 \ |
| 149 | crate://crates.io/icu_properties/2.1.2 \ | 157 | crate://crates.io/icu_properties/2.2.0 \ |
| 150 | crate://crates.io/icu_properties_data/2.1.2 \ | 158 | crate://crates.io/icu_properties_data/2.2.0 \ |
| 151 | crate://crates.io/icu_provider/2.1.1 \ | 159 | crate://crates.io/icu_provider/2.2.0 \ |
| 152 | crate://crates.io/icu_time/2.1.1 \ | 160 | crate://crates.io/icu_time/2.2.0 \ |
| 153 | crate://crates.io/icu_time_data/2.1.1 \ | 161 | crate://crates.io/icu_time_data/2.2.0 \ |
| 162 | crate://crates.io/id-arena/2.3.0 \ | ||
| 154 | crate://crates.io/indexmap/2.13.0 \ | 163 | crate://crates.io/indexmap/2.13.0 \ |
| 155 | crate://crates.io/indicatif/0.18.4 \ | 164 | crate://crates.io/indicatif/0.18.4 \ |
| 156 | crate://crates.io/inotify/0.11.0 \ | 165 | crate://crates.io/inotify/0.11.0 \ |
| @@ -160,8 +169,7 @@ SRC_URI += " \ | |||
| 160 | crate://crates.io/is_terminal_polyfill/1.70.2 \ | 169 | crate://crates.io/is_terminal_polyfill/1.70.2 \ |
| 161 | crate://crates.io/itertools/0.13.0 \ | 170 | crate://crates.io/itertools/0.13.0 \ |
| 162 | crate://crates.io/itertools/0.14.0 \ | 171 | crate://crates.io/itertools/0.14.0 \ |
| 163 | crate://crates.io/itoa/1.0.17 \ | 172 | crate://crates.io/itoa/1.0.18 \ |
| 164 | crate://crates.io/ixdtf/0.6.4 \ | ||
| 165 | crate://crates.io/jiff/0.2.23 \ | 173 | crate://crates.io/jiff/0.2.23 \ |
| 166 | crate://crates.io/jiff-icu/0.2.2 \ | 174 | crate://crates.io/jiff-icu/0.2.2 \ |
| 167 | crate://crates.io/jiff-static/0.2.23 \ | 175 | crate://crates.io/jiff-static/0.2.23 \ |
| @@ -172,10 +180,11 @@ SRC_URI += " \ | |||
| 172 | crate://crates.io/kqueue/1.1.1 \ | 180 | crate://crates.io/kqueue/1.1.1 \ |
| 173 | crate://crates.io/kqueue-sys/1.0.4 \ | 181 | crate://crates.io/kqueue-sys/1.0.4 \ |
| 174 | crate://crates.io/lazy_static/1.5.0 \ | 182 | crate://crates.io/lazy_static/1.5.0 \ |
| 183 | crate://crates.io/leb128fmt/0.1.0 \ | ||
| 175 | crate://crates.io/libc/0.2.182 \ | 184 | crate://crates.io/libc/0.2.182 \ |
| 176 | crate://crates.io/libloading/0.8.9 \ | 185 | crate://crates.io/libloading/0.8.9 \ |
| 177 | crate://crates.io/libm/0.2.16 \ | 186 | crate://crates.io/libm/0.2.16 \ |
| 178 | crate://crates.io/libredox/0.1.12 \ | 187 | crate://crates.io/libredox/0.1.15 \ |
| 179 | crate://crates.io/linux-raw-sys/0.12.1 \ | 188 | crate://crates.io/linux-raw-sys/0.12.1 \ |
| 180 | crate://crates.io/litemap/0.8.1 \ | 189 | crate://crates.io/litemap/0.8.1 \ |
| 181 | crate://crates.io/litrs/1.0.0 \ | 190 | crate://crates.io/litrs/1.0.0 \ |
| @@ -190,7 +199,7 @@ SRC_URI += " \ | |||
| 190 | crate://crates.io/minimal-lexical/0.2.1 \ | 199 | crate://crates.io/minimal-lexical/0.2.1 \ |
| 191 | crate://crates.io/miniz_oxide/0.8.9 \ | 200 | crate://crates.io/miniz_oxide/0.8.9 \ |
| 192 | crate://crates.io/mio/1.1.1 \ | 201 | crate://crates.io/mio/1.1.1 \ |
| 193 | crate://crates.io/nix/0.30.1 \ | 202 | crate://crates.io/nix/0.31.2 \ |
| 194 | crate://crates.io/nom/7.1.3 \ | 203 | crate://crates.io/nom/7.1.3 \ |
| 195 | crate://crates.io/nom/8.0.0 \ | 204 | crate://crates.io/nom/8.0.0 \ |
| 196 | crate://crates.io/notify/8.2.0 \ | 205 | crate://crates.io/notify/8.2.0 \ |
| @@ -221,7 +230,8 @@ SRC_URI += " \ | |||
| 221 | crate://crates.io/phf_shared/0.13.1 \ | 230 | crate://crates.io/phf_shared/0.13.1 \ |
| 222 | crate://crates.io/pin-project-lite/0.2.16 \ | 231 | crate://crates.io/pin-project-lite/0.2.16 \ |
| 223 | crate://crates.io/pkg-config/0.3.32 \ | 232 | crate://crates.io/pkg-config/0.3.32 \ |
| 224 | crate://crates.io/platform-info/2.0.5 \ | 233 | crate://crates.io/plain/0.2.3 \ |
| 234 | crate://crates.io/platform-info/2.1.0 \ | ||
| 225 | crate://crates.io/portable-atomic/1.13.1 \ | 235 | crate://crates.io/portable-atomic/1.13.1 \ |
| 226 | crate://crates.io/portable-atomic-util/0.2.5 \ | 236 | crate://crates.io/portable-atomic-util/0.2.5 \ |
| 227 | crate://crates.io/potential_utf/0.1.4 \ | 237 | crate://crates.io/potential_utf/0.1.4 \ |
| @@ -234,14 +244,14 @@ SRC_URI += " \ | |||
| 234 | crate://crates.io/procfs/0.18.0 \ | 244 | crate://crates.io/procfs/0.18.0 \ |
| 235 | crate://crates.io/procfs-core/0.18.0 \ | 245 | crate://crates.io/procfs-core/0.18.0 \ |
| 236 | crate://crates.io/quote/1.0.45 \ | 246 | crate://crates.io/quote/1.0.45 \ |
| 237 | crate://crates.io/r-efi/5.3.0 \ | 247 | crate://crates.io/r-efi/6.0.0 \ |
| 238 | crate://crates.io/radium/0.7.0 \ | 248 | crate://crates.io/radium/0.7.0 \ |
| 239 | crate://crates.io/rand/0.8.5 \ | 249 | crate://crates.io/rand/0.8.5 \ |
| 240 | crate://crates.io/rand/0.9.2 \ | 250 | crate://crates.io/rand/0.10.0 \ |
| 241 | crate://crates.io/rand_chacha/0.3.1 \ | 251 | crate://crates.io/rand_chacha/0.3.1 \ |
| 242 | crate://crates.io/rand_chacha/0.9.0 \ | 252 | crate://crates.io/rand_chacha/0.10.0 \ |
| 243 | crate://crates.io/rand_core/0.6.4 \ | 253 | crate://crates.io/rand_core/0.6.4 \ |
| 244 | crate://crates.io/rand_core/0.9.5 \ | 254 | crate://crates.io/rand_core/0.10.0 \ |
| 245 | crate://crates.io/rayon/1.11.0 \ | 255 | crate://crates.io/rayon/1.11.0 \ |
| 246 | crate://crates.io/rayon-core/1.13.0 \ | 256 | crate://crates.io/rayon-core/1.13.0 \ |
| 247 | crate://crates.io/redox_syscall/0.5.18 \ | 257 | crate://crates.io/redox_syscall/0.5.18 \ |
| @@ -252,11 +262,12 @@ SRC_URI += " \ | |||
| 252 | crate://crates.io/regex-syntax/0.8.9 \ | 262 | crate://crates.io/regex-syntax/0.8.9 \ |
| 253 | crate://crates.io/relative-path/1.9.3 \ | 263 | crate://crates.io/relative-path/1.9.3 \ |
| 254 | crate://crates.io/rlimit/0.11.0 \ | 264 | crate://crates.io/rlimit/0.11.0 \ |
| 255 | crate://crates.io/roff/0.2.2 \ | 265 | crate://crates.io/roff/1.1.0 \ |
| 256 | crate://crates.io/rstest/0.26.1 \ | 266 | crate://crates.io/rstest/0.26.1 \ |
| 257 | crate://crates.io/rstest_macros/0.26.1 \ | 267 | crate://crates.io/rstest_macros/0.26.1 \ |
| 268 | crate://crates.io/rstest_reuse/0.7.0 \ | ||
| 258 | crate://crates.io/rust-ini/0.21.3 \ | 269 | crate://crates.io/rust-ini/0.21.3 \ |
| 259 | crate://crates.io/rustc-hash/2.1.1 \ | 270 | crate://crates.io/rustc-hash/2.1.2 \ |
| 260 | crate://crates.io/rustc_version/0.4.1 \ | 271 | crate://crates.io/rustc_version/0.4.1 \ |
| 261 | crate://crates.io/rustix/1.1.4 \ | 272 | crate://crates.io/rustix/1.1.4 \ |
| 262 | crate://crates.io/rustversion/1.0.22 \ | 273 | crate://crates.io/rustversion/1.0.22 \ |
| @@ -280,7 +291,7 @@ SRC_URI += " \ | |||
| 280 | crate://crates.io/simd-adler32/0.3.8 \ | 291 | crate://crates.io/simd-adler32/0.3.8 \ |
| 281 | crate://crates.io/siphasher/1.0.2 \ | 292 | crate://crates.io/siphasher/1.0.2 \ |
| 282 | crate://crates.io/slab/0.4.12 \ | 293 | crate://crates.io/slab/0.4.12 \ |
| 283 | crate://crates.io/sm3/0.4.2 \ | 294 | crate://crates.io/sm3/0.5.0 \ |
| 284 | crate://crates.io/smallvec/1.15.1 \ | 295 | crate://crates.io/smallvec/1.15.1 \ |
| 285 | crate://crates.io/smawk/0.3.2 \ | 296 | crate://crates.io/smawk/0.3.2 \ |
| 286 | crate://crates.io/socket2/0.6.2 \ | 297 | crate://crates.io/socket2/0.6.2 \ |
| @@ -292,8 +303,8 @@ SRC_URI += " \ | |||
| 292 | crate://crates.io/syn/2.0.114 \ | 303 | crate://crates.io/syn/2.0.114 \ |
| 293 | crate://crates.io/synstructure/0.13.2 \ | 304 | crate://crates.io/synstructure/0.13.2 \ |
| 294 | crate://crates.io/tap/1.0.1 \ | 305 | crate://crates.io/tap/1.0.1 \ |
| 295 | crate://crates.io/tempfile/3.26.0 \ | 306 | crate://crates.io/tempfile/3.27.0 \ |
| 296 | crate://crates.io/terminal_size/0.4.3 \ | 307 | crate://crates.io/terminal_size/0.4.4 \ |
| 297 | crate://crates.io/textwrap/0.16.2 \ | 308 | crate://crates.io/textwrap/0.16.2 \ |
| 298 | crate://crates.io/thiserror/1.0.69 \ | 309 | crate://crates.io/thiserror/1.0.69 \ |
| 299 | crate://crates.io/thiserror/2.0.18 \ | 310 | crate://crates.io/thiserror/2.0.18 \ |
| @@ -303,7 +314,7 @@ SRC_URI += " \ | |||
| 303 | crate://crates.io/time-core/0.1.8 \ | 314 | crate://crates.io/time-core/0.1.8 \ |
| 304 | crate://crates.io/time-macros/0.2.27 \ | 315 | crate://crates.io/time-macros/0.2.27 \ |
| 305 | crate://crates.io/tiny-keccak/2.0.2 \ | 316 | crate://crates.io/tiny-keccak/2.0.2 \ |
| 306 | crate://crates.io/tinystr/0.8.2 \ | 317 | crate://crates.io/tinystr/0.8.3 \ |
| 307 | crate://crates.io/toml_datetime/0.7.5+spec-1.1.0 \ | 318 | crate://crates.io/toml_datetime/0.7.5+spec-1.1.0 \ |
| 308 | crate://crates.io/toml_edit/0.23.10+spec-1.0.0 \ | 319 | crate://crates.io/toml_edit/0.23.10+spec-1.0.0 \ |
| 309 | crate://crates.io/toml_parser/1.0.6+spec-1.1.0 \ | 320 | crate://crates.io/toml_parser/1.0.6+spec-1.1.0 \ |
| @@ -316,6 +327,7 @@ SRC_URI += " \ | |||
| 316 | crate://crates.io/unicode-linebreak/0.1.5 \ | 327 | crate://crates.io/unicode-linebreak/0.1.5 \ |
| 317 | crate://crates.io/unicode-width/0.1.14 \ | 328 | crate://crates.io/unicode-width/0.1.14 \ |
| 318 | crate://crates.io/unicode-width/0.2.2 \ | 329 | crate://crates.io/unicode-width/0.2.2 \ |
| 330 | crate://crates.io/unicode-xid/0.2.6 \ | ||
| 319 | crate://crates.io/unindent/0.2.4 \ | 331 | crate://crates.io/unindent/0.2.4 \ |
| 320 | crate://crates.io/unit-prefix/0.5.2 \ | 332 | crate://crates.io/unit-prefix/0.5.2 \ |
| 321 | crate://crates.io/utf16_iter/1.0.5 \ | 333 | crate://crates.io/utf16_iter/1.0.5 \ |
| @@ -324,16 +336,20 @@ SRC_URI += " \ | |||
| 324 | crate://crates.io/utmp-classic/0.1.6 \ | 336 | crate://crates.io/utmp-classic/0.1.6 \ |
| 325 | crate://crates.io/utmp-classic-raw/0.1.3 \ | 337 | crate://crates.io/utmp-classic-raw/0.1.3 \ |
| 326 | crate://crates.io/uuid/1.20.0 \ | 338 | crate://crates.io/uuid/1.20.0 \ |
| 327 | crate://crates.io/uutils_term_grid/0.7.0 \ | 339 | crate://crates.io/uutils_term_grid/0.8.0 \ |
| 328 | crate://crates.io/version_check/0.9.5 \ | 340 | crate://crates.io/version_check/0.9.5 \ |
| 329 | crate://crates.io/vsimd/0.8.0 \ | 341 | crate://crates.io/vsimd/0.8.0 \ |
| 330 | crate://crates.io/walkdir/2.5.0 \ | 342 | crate://crates.io/walkdir/2.5.0 \ |
| 331 | crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ | 343 | crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ |
| 332 | crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ | 344 | crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ |
| 345 | crate://crates.io/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06 \ | ||
| 333 | crate://crates.io/wasm-bindgen/0.2.108 \ | 346 | crate://crates.io/wasm-bindgen/0.2.108 \ |
| 334 | crate://crates.io/wasm-bindgen-macro/0.2.108 \ | 347 | crate://crates.io/wasm-bindgen-macro/0.2.108 \ |
| 335 | crate://crates.io/wasm-bindgen-macro-support/0.2.108 \ | 348 | crate://crates.io/wasm-bindgen-macro-support/0.2.108 \ |
| 336 | crate://crates.io/wasm-bindgen-shared/0.2.108 \ | 349 | crate://crates.io/wasm-bindgen-shared/0.2.108 \ |
| 350 | crate://crates.io/wasm-encoder/0.244.0 \ | ||
| 351 | crate://crates.io/wasm-metadata/0.244.0 \ | ||
| 352 | crate://crates.io/wasmparser/0.244.0 \ | ||
| 337 | crate://crates.io/web-time/1.1.0 \ | 353 | crate://crates.io/web-time/1.1.0 \ |
| 338 | crate://crates.io/wild/2.2.1 \ | 354 | crate://crates.io/wild/2.2.1 \ |
| 339 | crate://crates.io/winapi/0.3.9 \ | 355 | crate://crates.io/winapi/0.3.9 \ |
| @@ -369,13 +385,18 @@ SRC_URI += " \ | |||
| 369 | crate://crates.io/windows_x86_64_msvc/0.53.1 \ | 385 | crate://crates.io/windows_x86_64_msvc/0.53.1 \ |
| 370 | crate://crates.io/winnow/0.7.14 \ | 386 | crate://crates.io/winnow/0.7.14 \ |
| 371 | crate://crates.io/wit-bindgen/0.51.0 \ | 387 | crate://crates.io/wit-bindgen/0.51.0 \ |
| 388 | crate://crates.io/wit-bindgen-core/0.51.0 \ | ||
| 389 | crate://crates.io/wit-bindgen-rust/0.51.0 \ | ||
| 390 | crate://crates.io/wit-bindgen-rust-macro/0.51.0 \ | ||
| 391 | crate://crates.io/wit-component/0.244.0 \ | ||
| 392 | crate://crates.io/wit-parser/0.244.0 \ | ||
| 372 | crate://crates.io/write16/1.0.0 \ | 393 | crate://crates.io/write16/1.0.0 \ |
| 373 | crate://crates.io/writeable/0.6.2 \ | 394 | crate://crates.io/writeable/0.6.2 \ |
| 374 | crate://crates.io/wyz/0.5.1 \ | 395 | crate://crates.io/wyz/0.5.1 \ |
| 375 | crate://crates.io/xattr/1.6.1 \ | 396 | crate://crates.io/xattr/1.6.1 \ |
| 376 | crate://crates.io/yansi/1.0.1 \ | 397 | crate://crates.io/yansi/1.0.1 \ |
| 377 | crate://crates.io/yoke/0.8.1 \ | 398 | crate://crates.io/yoke/0.8.2 \ |
| 378 | crate://crates.io/yoke-derive/0.8.1 \ | 399 | crate://crates.io/yoke-derive/0.8.2 \ |
| 379 | crate://crates.io/z85/3.0.7 \ | 400 | crate://crates.io/z85/3.0.7 \ |
| 380 | crate://crates.io/zerocopy/0.7.35 \ | 401 | crate://crates.io/zerocopy/0.7.35 \ |
| 381 | crate://crates.io/zerocopy/0.8.39 \ | 402 | crate://crates.io/zerocopy/0.8.39 \ |
| @@ -383,10 +404,10 @@ SRC_URI += " \ | |||
| 383 | crate://crates.io/zerocopy-derive/0.8.39 \ | 404 | crate://crates.io/zerocopy-derive/0.8.39 \ |
| 384 | crate://crates.io/zerofrom/0.1.6 \ | 405 | crate://crates.io/zerofrom/0.1.6 \ |
| 385 | crate://crates.io/zerofrom-derive/0.1.6 \ | 406 | crate://crates.io/zerofrom-derive/0.1.6 \ |
| 386 | crate://crates.io/zerotrie/0.2.3 \ | 407 | crate://crates.io/zerotrie/0.2.4 \ |
| 387 | crate://crates.io/zerovec/0.11.5 \ | 408 | crate://crates.io/zerovec/0.11.6 \ |
| 388 | crate://crates.io/zerovec-derive/0.11.2 \ | 409 | crate://crates.io/zerovec-derive/0.11.3 \ |
| 389 | crate://crates.io/zip/8.2.0 \ | 410 | crate://crates.io/zip/8.5.0 \ |
| 390 | crate://crates.io/zlib-rs/0.6.0 \ | 411 | crate://crates.io/zlib-rs/0.6.0 \ |
| 391 | crate://crates.io/zmij/1.0.19 \ | 412 | crate://crates.io/zmij/1.0.19 \ |
| 392 | crate://crates.io/zopfli/0.8.3 \ | 413 | crate://crates.io/zopfli/0.8.3 \ |
| @@ -397,9 +418,9 @@ SRC_URI[aho-corasick-1.1.4.sha256sum] = "ddd31a130427c27518df266943a5308ed92d4b2 | |||
| 397 | SRC_URI[allocator-api2-0.2.21.sha256sum] = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" | 418 | SRC_URI[allocator-api2-0.2.21.sha256sum] = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" |
| 398 | SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" | 419 | SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" |
| 399 | SRC_URI[ansi-width-0.1.0.sha256sum] = "219e3ce6f2611d83b51ec2098a12702112c29e57203a6b0a0929b2cddb486608" | 420 | SRC_URI[ansi-width-0.1.0.sha256sum] = "219e3ce6f2611d83b51ec2098a12702112c29e57203a6b0a0929b2cddb486608" |
| 400 | SRC_URI[anstream-0.6.21.sha256sum] = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" | 421 | SRC_URI[anstream-1.0.0.sha256sum] = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" |
| 401 | SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" | 422 | SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" |
| 402 | SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" | 423 | SRC_URI[anstyle-parse-1.0.0.sha256sum] = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" |
| 403 | SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" | 424 | SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" |
| 404 | SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" | 425 | SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" |
| 405 | SRC_URI[anyhow-1.0.101.sha256sum] = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" | 426 | SRC_URI[anyhow-1.0.101.sha256sum] = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea" |
| @@ -412,43 +433,47 @@ SRC_URI[bigdecimal-0.4.10.sha256sum] = "4d6867f1565b3aad85681f1015055b087fcfd840 | |||
| 412 | SRC_URI[binary-heap-plus-0.5.0.sha256sum] = "e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296" | 433 | SRC_URI[binary-heap-plus-0.5.0.sha256sum] = "e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296" |
| 413 | SRC_URI[bindgen-0.72.1.sha256sum] = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" | 434 | SRC_URI[bindgen-0.72.1.sha256sum] = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" |
| 414 | SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" | 435 | SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" |
| 415 | SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" | 436 | SRC_URI[bitflags-2.11.0.sha256sum] = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" |
| 416 | SRC_URI[bitvec-1.0.1.sha256sum] = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" | 437 | SRC_URI[bitvec-1.0.1.sha256sum] = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" |
| 417 | SRC_URI[blake2b_simd-1.0.4.sha256sum] = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" | 438 | SRC_URI[blake2b_simd-1.0.4.sha256sum] = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" |
| 418 | SRC_URI[blake3-1.8.3.sha256sum] = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" | 439 | SRC_URI[blake3-1.8.4.sha256sum] = "4d2d5991425dfd0785aed03aedcf0b321d61975c9b5b3689c774a2610ae0b51e" |
| 419 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" | 440 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" |
| 441 | SRC_URI[block-buffer-0.12.0.sha256sum] = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" | ||
| 420 | SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" | 442 | SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" |
| 421 | SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" | 443 | SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" |
| 422 | SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" | 444 | SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" |
| 423 | SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" | 445 | SRC_URI[bytecount-0.6.9.sha256sum] = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" |
| 424 | SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" | 446 | SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" |
| 425 | SRC_URI[calendrical_calculations-0.2.3.sha256sum] = "3a0b39595c6ee54a8d0900204ba4c401d0ab4eb45adaf07178e8d017541529e7" | 447 | SRC_URI[calendrical_calculations-0.2.4.sha256sum] = "5abbd6eeda6885048d357edc66748eea6e0268e3dd11f326fff5bd248d779c26" |
| 426 | SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" | 448 | SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" |
| 427 | SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" | 449 | SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" |
| 428 | SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" | 450 | SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" |
| 429 | SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" | 451 | SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" |
| 452 | SRC_URI[chacha20-0.10.0.sha256sum] = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" | ||
| 430 | SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" | 453 | SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" |
| 431 | SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" | 454 | SRC_URI[clang-sys-1.8.1.sha256sum] = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" |
| 432 | SRC_URI[clap-4.5.60.sha256sum] = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" | 455 | SRC_URI[clap-4.6.0.sha256sum] = "b193af5b67834b676abd72466a96c1024e6a6ad978a1f484bd90b85c94041351" |
| 433 | SRC_URI[clap_builder-4.5.60.sha256sum] = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" | 456 | SRC_URI[clap_builder-4.6.0.sha256sum] = "714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f" |
| 434 | SRC_URI[clap_complete-4.5.66.sha256sum] = "c757a3b7e39161a4e56f9365141ada2a6c915a8622c408ab6bb4b5d047371031" | 457 | SRC_URI[clap_complete-4.6.0.sha256sum] = "19c9f1dde76b736e3681f28cec9d5a61299cbaae0fce80a68e43724ad56031eb" |
| 435 | SRC_URI[clap_lex-1.0.0.sha256sum] = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" | 458 | SRC_URI[clap_lex-1.0.0.sha256sum] = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" |
| 436 | SRC_URI[clap_mangen-0.2.31.sha256sum] = "439ea63a92086df93893164221ad4f24142086d535b3a0957b9b9bea2dc86301" | 459 | SRC_URI[clap_mangen-0.3.0.sha256sum] = "d82842b45bf9f6a3be090dd860095ac30728042c08e0d6261ca7259b5d850f07" |
| 437 | SRC_URI[codspeed-4.3.0.sha256sum] = "38c2eb3388ebe26b5a0ab6bf4969d9c4840143d7f6df07caa3cc851b0606cef6" | 460 | SRC_URI[codspeed-4.4.1.sha256sum] = "b684e94583e85a5ca7e1a6454a89d76a5121240f2fb67eb564129d9bafdb9db0" |
| 438 | SRC_URI[codspeed-divan-compat-4.3.0.sha256sum] = "b2de65b7489a59709724d489070c6d05b7744039e4bf751d0a2006b90bb5593d" | 461 | SRC_URI[codspeed-divan-compat-4.4.1.sha256sum] = "89e4bf8c7793c170fd0fcf3be97b9032b2ae39c2b9e8818aba3cc10ca0f0c6c0" |
| 439 | SRC_URI[codspeed-divan-compat-macros-4.3.0.sha256sum] = "56ca01ce4fd22b8dcc6c770dcd6b74343642e842482b94e8920d14e10c57638d" | 462 | SRC_URI[codspeed-divan-compat-macros-4.4.1.sha256sum] = "78aae02f2a278588e16e8ca62ea1915b8ab30f8230a09926671bba19ede801a4" |
| 440 | SRC_URI[codspeed-divan-compat-walltime-4.3.0.sha256sum] = "720ab9d0714718afe5f5832be6e5f5eb5ce97836e24ca7bf7042eea4308b9fb8" | 463 | SRC_URI[codspeed-divan-compat-walltime-4.4.1.sha256sum] = "59ffd32c0c59ab8b674b15be65ba7c59aebac047036cfa7fa1e11bc2c178b81f" |
| 441 | SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" | 464 | SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" |
| 442 | SRC_URI[colored-2.2.0.sha256sum] = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" | 465 | SRC_URI[colored-2.2.0.sha256sum] = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" |
| 443 | SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3" | 466 | SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3" |
| 444 | SRC_URI[condtype-1.3.0.sha256sum] = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af" | 467 | SRC_URI[condtype-1.3.0.sha256sum] = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af" |
| 445 | SRC_URI[console-0.16.2.sha256sum] = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" | 468 | SRC_URI[console-0.16.3.sha256sum] = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87" |
| 469 | SRC_URI[const-oid-0.10.2.sha256sum] = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" | ||
| 446 | SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" | 470 | SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" |
| 447 | SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" | 471 | SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" |
| 448 | SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" | 472 | SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" |
| 449 | SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" | 473 | SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" |
| 450 | SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" | 474 | SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" |
| 451 | SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" | 475 | SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" |
| 476 | SRC_URI[cpufeatures-0.3.0.sha256sum] = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" | ||
| 452 | SRC_URI[crc-3.3.0.sha256sum] = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" | 477 | SRC_URI[crc-3.3.0.sha256sum] = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" |
| 453 | SRC_URI[crc-catalog-2.4.0.sha256sum] = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" | 478 | SRC_URI[crc-catalog-2.4.0.sha256sum] = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" |
| 454 | SRC_URI[crc-fast-1.9.0.sha256sum] = "2fd92aca2c6001b1bf5ba0ff84ee74ec8501b52bbef0cac80bf25a6c1d87a83d" | 479 | SRC_URI[crc-fast-1.9.0.sha256sum] = "2fd92aca2c6001b1bf5ba0ff84ee74ec8501b52bbef0cac80bf25a6c1d87a83d" |
| @@ -460,22 +485,24 @@ SRC_URI[crossterm-0.29.0.sha256sum] = "d8b9f2e4c67f833b660cdb0a3523065869fb35570 | |||
| 460 | SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" | 485 | SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" |
| 461 | SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" | 486 | SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" |
| 462 | SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" | 487 | SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" |
| 463 | SRC_URI[ctor-0.6.3.sha256sum] = "424e0138278faeb2b401f174ad17e715c829512d74f3d1e81eb43365c2e0590e" | 488 | SRC_URI[crypto-common-0.2.1.sha256sum] = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" |
| 489 | SRC_URI[ctor-0.8.0.sha256sum] = "352d39c2f7bef1d6ad73db6f5160efcaed66d94ef8c6c573a8410c00bf909a98" | ||
| 464 | SRC_URI[ctor-proc-macro-0.0.7.sha256sum] = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" | 490 | SRC_URI[ctor-proc-macro-0.0.7.sha256sum] = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" |
| 465 | SRC_URI[ctrlc-3.5.1.sha256sum] = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" | 491 | SRC_URI[ctrlc-3.5.2.sha256sum] = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" |
| 466 | SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" | 492 | SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" |
| 467 | SRC_URI[data-encoding-macro-0.1.19.sha256sum] = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" | 493 | SRC_URI[data-encoding-macro-0.1.19.sha256sum] = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" |
| 468 | SRC_URI[data-encoding-macro-internal-0.1.17.sha256sum] = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" | 494 | SRC_URI[data-encoding-macro-internal-0.1.17.sha256sum] = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" |
| 469 | SRC_URI[deranged-0.5.5.sha256sum] = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" | 495 | SRC_URI[deranged-0.5.5.sha256sum] = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" |
| 470 | SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" | 496 | SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" |
| 471 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" | 497 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" |
| 498 | SRC_URI[digest-0.11.2.sha256sum] = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" | ||
| 472 | SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" | 499 | SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" |
| 473 | SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" | 500 | SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" |
| 474 | SRC_URI[divan-macros-0.1.17.sha256sum] = "8dc51d98e636f5e3b0759a39257458b22619cac7e96d932da6eeb052891bb67c" | 501 | SRC_URI[divan-macros-0.1.17.sha256sum] = "8dc51d98e636f5e3b0759a39257458b22619cac7e96d932da6eeb052891bb67c" |
| 475 | SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" | 502 | SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" |
| 476 | SRC_URI[dns-lookup-3.0.1.sha256sum] = "6e39034cee21a2f5bbb66ba0e3689819c4bb5d00382a282006e802a7ffa6c41d" | 503 | SRC_URI[dns-lookup-3.0.1.sha256sum] = "6e39034cee21a2f5bbb66ba0e3689819c4bb5d00382a282006e802a7ffa6c41d" |
| 477 | SRC_URI[document-features-0.2.12.sha256sum] = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" | 504 | SRC_URI[document-features-0.2.12.sha256sum] = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" |
| 478 | SRC_URI[dtor-0.1.1.sha256sum] = "404d02eeb088a82cfd873006cb713fe411306c7d182c344905e101fb1167d301" | 505 | SRC_URI[dtor-0.3.0.sha256sum] = "f1057d6c64987086ff8ed0fd3fbf377a6b7d205cc7715868cd401705f715cbe4" |
| 479 | SRC_URI[dtor-proc-macro-0.0.6.sha256sum] = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" | 506 | SRC_URI[dtor-proc-macro-0.0.6.sha256sum] = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" |
| 480 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" | 507 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" |
| 481 | SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" | 508 | SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" |
| @@ -488,7 +515,7 @@ SRC_URI[file_diff-1.0.0.sha256sum] = "31a7a908b8f32538a2143e59a6e4e2508988832d5d | |||
| 488 | SRC_URI[filedescriptor-0.8.3.sha256sum] = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d" | 515 | SRC_URI[filedescriptor-0.8.3.sha256sum] = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d" |
| 489 | SRC_URI[filetime-0.2.27.sha256sum] = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" | 516 | SRC_URI[filetime-0.2.27.sha256sum] = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" |
| 490 | SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" | 517 | SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" |
| 491 | SRC_URI[fixed_decimal-0.7.1.sha256sum] = "35eabf480f94d69182677e37571d3be065822acfafd12f2f085db44fbbcc8e57" | 518 | SRC_URI[fixed_decimal-0.7.2.sha256sum] = "79c3c892f121fff406e5dd6b28c1b30096b95111c30701a899d4f2b18da6d1bd" |
| 492 | SRC_URI[flate2-1.1.9.sha256sum] = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" | 519 | SRC_URI[flate2-1.1.9.sha256sum] = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" |
| 493 | SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477" | 520 | SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477" |
| 494 | SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" | 521 | SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" |
| @@ -508,39 +535,42 @@ SRC_URI[futures-util-0.3.32.sha256sum] = "389ca41296e6190b48053de0321d02a77f32f8 | |||
| 508 | SRC_URI[gcd-2.3.0.sha256sum] = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" | 535 | SRC_URI[gcd-2.3.0.sha256sum] = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a" |
| 509 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" | 536 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" |
| 510 | SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" | 537 | SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" |
| 511 | SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" | 538 | SRC_URI[getrandom-0.4.2.sha256sum] = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" |
| 512 | SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" | 539 | SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" |
| 513 | SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" | 540 | SRC_URI[half-2.7.1.sha256sum] = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" |
| 514 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" | 541 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" |
| 515 | SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" | 542 | SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" |
| 516 | SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" | 543 | SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" |
| 544 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||
| 517 | SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" | 545 | SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" |
| 518 | SRC_URI[hex-literal-1.1.0.sha256sum] = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" | 546 | SRC_URI[hex-literal-1.1.0.sha256sum] = "e712f64ec3850b98572bffac52e2c6f282b29fe6c5fa6d42334b30be438d95c1" |
| 519 | SRC_URI[hostname-0.4.2.sha256sum] = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" | 547 | SRC_URI[hostname-0.4.2.sha256sum] = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" |
| 548 | SRC_URI[hybrid-array-0.4.8.sha256sum] = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1" | ||
| 520 | SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" | 549 | SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" |
| 521 | SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" | 550 | SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" |
| 522 | SRC_URI[icu_calendar-2.1.1.sha256sum] = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" | 551 | SRC_URI[icu_calendar-2.2.1.sha256sum] = "a2b2acc6263f494f1df50685b53ff8e57869e47d5c6fe39c23d518ae9a4f3e45" |
| 523 | SRC_URI[icu_calendar_data-2.1.1.sha256sum] = "527f04223b17edfe0bd43baf14a0cb1b017830db65f3950dc00224860a9a446d" | 552 | SRC_URI[icu_calendar_data-2.2.0.sha256sum] = "118577bcf3a0fa7c6ac0a7d6e951814da84ee56b9b1f68fb4d8d10b08cefaf4d" |
| 524 | SRC_URI[icu_collator-2.1.1.sha256sum] = "32eed11a5572f1088b63fa21dc2e70d4a865e5739fc2d10abc05be93bae97019" | 553 | SRC_URI[icu_collator-2.2.0.sha256sum] = "b521b92a2666061ddda902769d8a4cf730b5c9529a845cc1b69770b12a6c9a71" |
| 525 | SRC_URI[icu_collator_data-2.1.1.sha256sum] = "5ab06f0e83a613efddba3e4913e00e43ed4001fae651cb7d40fc7e66b83b6fb9" | 554 | SRC_URI[icu_collator_data-2.2.0.sha256sum] = "038ed8e5817f2059c2f3efb0945ba78d060d3d25e8f1a1bea5139f821a21a2f0" |
| 526 | SRC_URI[icu_collections-2.1.1.sha256sum] = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" | 555 | SRC_URI[icu_collections-2.2.0.sha256sum] = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" |
| 527 | SRC_URI[icu_datetime-2.1.1.sha256sum] = "1b9d49f41ded8e63761b6b4c3120dfdc289415a1ed10107db6198eb311057ca5" | 556 | SRC_URI[icu_datetime-2.2.0.sha256sum] = "989d56ea5bbc43ae2b4e0388874b002884eaf4ed3a76c84a6c8c5ad575e04d72" |
| 528 | SRC_URI[icu_datetime_data-2.1.2.sha256sum] = "46597233625417b7c8052a63d916e4fdc73df21614ac0b679492a5d6e3b01aeb" | 557 | SRC_URI[icu_datetime_data-2.2.0.sha256sum] = "40d3cc1b690d9703202bc319692ac8a1f3a6390686f0930ff40542450fa34f0b" |
| 529 | SRC_URI[icu_decimal-2.1.1.sha256sum] = "a38c52231bc348f9b982c1868a2af3195199623007ba2c7650f432038f5b3e8e" | 558 | SRC_URI[icu_decimal-2.2.0.sha256sum] = "288247df2e32aa776ac54fdd64de552149ac43cb840f2761811f0e8d09719dd4" |
| 530 | SRC_URI[icu_decimal_data-2.1.1.sha256sum] = "2905b4044eab2dd848fe84199f9195567b63ab3a93094711501363f63546fef7" | 559 | SRC_URI[icu_decimal_data-2.2.0.sha256sum] = "6f14a5ca9e8af29eef62064f269078424283d90dbaffeac5225addf62aaabc22" |
| 531 | SRC_URI[icu_locale-2.1.1.sha256sum] = "532b11722e350ab6bf916ba6eb0efe3ee54b932666afec989465f9243fe6dd60" | 560 | SRC_URI[icu_locale-2.2.0.sha256sum] = "d5a396343c7208121dc86e35623d3dfe19814a7613cfd14964994cdc9c9a2e26" |
| 532 | SRC_URI[icu_locale_core-2.1.1.sha256sum] = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" | 561 | SRC_URI[icu_locale_core-2.2.0.sha256sum] = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" |
| 533 | SRC_URI[icu_locale_data-2.1.2.sha256sum] = "1c5f1d16b4c3a2642d3a719f18f6b06070ab0aef246a6418130c955ae08aa831" | 562 | SRC_URI[icu_locale_data-2.2.0.sha256sum] = "d5fdcc9ac77c6d74ff5cf6e65ef3181d6af32003b16fce3a77fb451d2f695993" |
| 534 | SRC_URI[icu_normalizer-2.1.1.sha256sum] = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" | 563 | SRC_URI[icu_normalizer-2.2.0.sha256sum] = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" |
| 535 | SRC_URI[icu_normalizer_data-2.1.1.sha256sum] = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" | 564 | SRC_URI[icu_normalizer_data-2.2.0.sha256sum] = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" |
| 536 | SRC_URI[icu_pattern-0.4.1.sha256sum] = "7a7ff8c0ff6f61cdce299dcb54f557b0a251adbc78f6f0c35a21332c452b4a1b" | 565 | SRC_URI[icu_pattern-0.4.2.sha256sum] = "1c4c568054ffe735398a9f4c55aec37ad7c768844553cc0978f09cc9b933a1fb" |
| 537 | SRC_URI[icu_plurals-2.1.1.sha256sum] = "4f9cfe49f5b1d1163cc58db451562339916a9ca5cbcaae83924d41a0bf839474" | 566 | SRC_URI[icu_plurals-2.2.0.sha256sum] = "2a50023f1d49ad5c4333380328a0d4a19e4b9d6d842ec06639affd5ba47c8103" |
| 538 | SRC_URI[icu_plurals_data-2.1.1.sha256sum] = "f018a98dccf7f0eb02ba06ac0ff67d102d8ded80734724305e924de304e12ff0" | 567 | SRC_URI[icu_plurals_data-2.2.0.sha256sum] = "8485497155dc865f901decb93ecc20d3e467df67bfeceb91e3ba34e2b11e8e1d" |
| 539 | SRC_URI[icu_properties-2.1.2.sha256sum] = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" | 568 | SRC_URI[icu_properties-2.2.0.sha256sum] = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" |
| 540 | SRC_URI[icu_properties_data-2.1.2.sha256sum] = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" | 569 | SRC_URI[icu_properties_data-2.2.0.sha256sum] = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" |
| 541 | SRC_URI[icu_provider-2.1.1.sha256sum] = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" | 570 | SRC_URI[icu_provider-2.2.0.sha256sum] = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" |
| 542 | SRC_URI[icu_time-2.1.1.sha256sum] = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" | 571 | SRC_URI[icu_time-2.2.0.sha256sum] = "ec3af0c141da0a61d4f6970cd1d5f4b388b17ea22f8124f8f6049d3d5147586a" |
| 543 | SRC_URI[icu_time_data-2.1.1.sha256sum] = "3e10b0e5e87a2c84bd5fa407705732052edebe69291d347d0c3033785470edbf" | 572 | SRC_URI[icu_time_data-2.2.0.sha256sum] = "6f2f8aeca682d874a5247084aa4fb7d1cef9ba45d889c21209a8818dcaaa0ec9" |
| 573 | SRC_URI[id-arena-2.3.0.sha256sum] = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" | ||
| 544 | SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" | 574 | SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" |
| 545 | SRC_URI[indicatif-0.18.4.sha256sum] = "25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb" | 575 | SRC_URI[indicatif-0.18.4.sha256sum] = "25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb" |
| 546 | SRC_URI[inotify-0.11.0.sha256sum] = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" | 576 | SRC_URI[inotify-0.11.0.sha256sum] = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" |
| @@ -550,8 +580,7 @@ SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff607 | |||
| 550 | SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" | 580 | SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" |
| 551 | SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" | 581 | SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" |
| 552 | SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" | 582 | SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" |
| 553 | SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" | 583 | SRC_URI[itoa-1.0.18.sha256sum] = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" |
| 554 | SRC_URI[ixdtf-0.6.4.sha256sum] = "84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992" | ||
| 555 | SRC_URI[jiff-0.2.23.sha256sum] = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" | 584 | SRC_URI[jiff-0.2.23.sha256sum] = "1a3546dc96b6d42c5f24902af9e2538e82e39ad350b0c766eb3fbf2d8f3d8359" |
| 556 | SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" | 585 | SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" |
| 557 | SRC_URI[jiff-static-0.2.23.sha256sum] = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" | 586 | SRC_URI[jiff-static-0.2.23.sha256sum] = "2a8c8b344124222efd714b73bb41f8b5120b27a7cc1c75593a6ff768d9d05aa4" |
| @@ -562,10 +591,11 @@ SRC_URI[keccak-0.1.6.sha256sum] = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56d | |||
| 562 | SRC_URI[kqueue-1.1.1.sha256sum] = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" | 591 | SRC_URI[kqueue-1.1.1.sha256sum] = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" |
| 563 | SRC_URI[kqueue-sys-1.0.4.sha256sum] = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" | 592 | SRC_URI[kqueue-sys-1.0.4.sha256sum] = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" |
| 564 | SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" | 593 | SRC_URI[lazy_static-1.5.0.sha256sum] = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" |
| 594 | SRC_URI[leb128fmt-0.1.0.sha256sum] = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" | ||
| 565 | SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" | 595 | SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" |
| 566 | SRC_URI[libloading-0.8.9.sha256sum] = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" | 596 | SRC_URI[libloading-0.8.9.sha256sum] = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" |
| 567 | SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" | 597 | SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" |
| 568 | SRC_URI[libredox-0.1.12.sha256sum] = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" | 598 | SRC_URI[libredox-0.1.15.sha256sum] = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08" |
| 569 | SRC_URI[linux-raw-sys-0.12.1.sha256sum] = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" | 599 | SRC_URI[linux-raw-sys-0.12.1.sha256sum] = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" |
| 570 | SRC_URI[litemap-0.8.1.sha256sum] = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" | 600 | SRC_URI[litemap-0.8.1.sha256sum] = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" |
| 571 | SRC_URI[litrs-1.0.0.sha256sum] = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" | 601 | SRC_URI[litrs-1.0.0.sha256sum] = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" |
| @@ -580,7 +610,7 @@ SRC_URI[memoffset-0.9.1.sha256sum] = "488016bfae457b036d996092f6cb448677611ce444 | |||
| 580 | SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" | 610 | SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" |
| 581 | SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" | 611 | SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" |
| 582 | SRC_URI[mio-1.1.1.sha256sum] = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" | 612 | SRC_URI[mio-1.1.1.sha256sum] = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" |
| 583 | SRC_URI[nix-0.30.1.sha256sum] = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" | 613 | SRC_URI[nix-0.31.2.sha256sum] = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" |
| 584 | SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" | 614 | SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" |
| 585 | SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" | 615 | SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" |
| 586 | SRC_URI[notify-8.2.0.sha256sum] = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" | 616 | SRC_URI[notify-8.2.0.sha256sum] = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" |
| @@ -611,7 +641,8 @@ SRC_URI[phf_generator-0.13.1.sha256sum] = "135ace3a761e564ec88c03a77317a7c6b80bb | |||
| 611 | SRC_URI[phf_shared-0.13.1.sha256sum] = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" | 641 | SRC_URI[phf_shared-0.13.1.sha256sum] = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" |
| 612 | SRC_URI[pin-project-lite-0.2.16.sha256sum] = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" | 642 | SRC_URI[pin-project-lite-0.2.16.sha256sum] = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" |
| 613 | SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" | 643 | SRC_URI[pkg-config-0.3.32.sha256sum] = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" |
| 614 | SRC_URI[platform-info-2.0.5.sha256sum] = "7539aeb3fdd8cb4f6a331307cf71a1039cee75e94e8a71725b9484f4a0d9451a" | 644 | SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" |
| 645 | SRC_URI[platform-info-2.1.0.sha256sum] = "9368d62437c8cbb7c31ee37fd8c08a7d390e09a3ff75698a674953f46705ffcb" | ||
| 615 | SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" | 646 | SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" |
| 616 | SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" | 647 | SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" |
| 617 | SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" | 648 | SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" |
| @@ -624,14 +655,14 @@ SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa | |||
| 624 | SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" | 655 | SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" |
| 625 | SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" | 656 | SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" |
| 626 | SRC_URI[quote-1.0.45.sha256sum] = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" | 657 | SRC_URI[quote-1.0.45.sha256sum] = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" |
| 627 | SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" | 658 | SRC_URI[r-efi-6.0.0.sha256sum] = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" |
| 628 | SRC_URI[radium-0.7.0.sha256sum] = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" | 659 | SRC_URI[radium-0.7.0.sha256sum] = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" |
| 629 | SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" | 660 | SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" |
| 630 | SRC_URI[rand-0.9.2.sha256sum] = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" | 661 | SRC_URI[rand-0.10.0.sha256sum] = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" |
| 631 | SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" | 662 | SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" |
| 632 | SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" | 663 | SRC_URI[rand_chacha-0.10.0.sha256sum] = "3e6af7f3e25ded52c41df4e0b1af2d047e45896c2f3281792ed68a1c243daedb" |
| 633 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" | 664 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" |
| 634 | SRC_URI[rand_core-0.9.5.sha256sum] = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" | 665 | SRC_URI[rand_core-0.10.0.sha256sum] = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" |
| 635 | SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" | 666 | SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" |
| 636 | SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" | 667 | SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" |
| 637 | SRC_URI[redox_syscall-0.5.18.sha256sum] = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" | 668 | SRC_URI[redox_syscall-0.5.18.sha256sum] = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" |
| @@ -642,11 +673,12 @@ SRC_URI[regex-lite-0.1.9.sha256sum] = "cab834c73d247e67f4fae452806d17d3c7501756d | |||
| 642 | SRC_URI[regex-syntax-0.8.9.sha256sum] = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" | 673 | SRC_URI[regex-syntax-0.8.9.sha256sum] = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" |
| 643 | SRC_URI[relative-path-1.9.3.sha256sum] = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" | 674 | SRC_URI[relative-path-1.9.3.sha256sum] = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" |
| 644 | SRC_URI[rlimit-0.11.0.sha256sum] = "f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3" | 675 | SRC_URI[rlimit-0.11.0.sha256sum] = "f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3" |
| 645 | SRC_URI[roff-0.2.2.sha256sum] = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3" | 676 | SRC_URI[roff-1.1.0.sha256sum] = "dbf2048e0e979efb2ca7b91c4f1a8d77c91853e9b987c94c555668a8994915ad" |
| 646 | SRC_URI[rstest-0.26.1.sha256sum] = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" | 677 | SRC_URI[rstest-0.26.1.sha256sum] = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" |
| 647 | SRC_URI[rstest_macros-0.26.1.sha256sum] = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" | 678 | SRC_URI[rstest_macros-0.26.1.sha256sum] = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" |
| 679 | SRC_URI[rstest_reuse-0.7.0.sha256sum] = "b3a8fb4672e840a587a66fc577a5491375df51ddb88f2a2c2a792598c326fe14" | ||
| 648 | SRC_URI[rust-ini-0.21.3.sha256sum] = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" | 680 | SRC_URI[rust-ini-0.21.3.sha256sum] = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" |
| 649 | SRC_URI[rustc-hash-2.1.1.sha256sum] = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" | 681 | SRC_URI[rustc-hash-2.1.2.sha256sum] = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe" |
| 650 | SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" | 682 | SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" |
| 651 | SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" | 683 | SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" |
| 652 | SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" | 684 | SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" |
| @@ -670,7 +702,7 @@ SRC_URI[signal-hook-registry-1.4.8.sha256sum] = "c4db69cba1110affc0e9f7bcd48bbf8 | |||
| 670 | SRC_URI[simd-adler32-0.3.8.sha256sum] = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" | 702 | SRC_URI[simd-adler32-0.3.8.sha256sum] = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" |
| 671 | SRC_URI[siphasher-1.0.2.sha256sum] = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" | 703 | SRC_URI[siphasher-1.0.2.sha256sum] = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" |
| 672 | SRC_URI[slab-0.4.12.sha256sum] = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" | 704 | SRC_URI[slab-0.4.12.sha256sum] = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" |
| 673 | SRC_URI[sm3-0.4.2.sha256sum] = "ebb9a3b702d0a7e33bc4d85a14456633d2b165c2ad839c5fd9a8417c1ab15860" | 705 | SRC_URI[sm3-0.5.0.sha256sum] = "da6a89ba31723d185fd7413b98c576a575f356d9b84729d8ecb6ead60000a5b6" |
| 674 | SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" | 706 | SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" |
| 675 | SRC_URI[smawk-0.3.2.sha256sum] = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" | 707 | SRC_URI[smawk-0.3.2.sha256sum] = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" |
| 676 | SRC_URI[socket2-0.6.2.sha256sum] = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" | 708 | SRC_URI[socket2-0.6.2.sha256sum] = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" |
| @@ -682,8 +714,8 @@ SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70 | |||
| 682 | SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" | 714 | SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" |
| 683 | SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" | 715 | SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" |
| 684 | SRC_URI[tap-1.0.1.sha256sum] = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" | 716 | SRC_URI[tap-1.0.1.sha256sum] = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" |
| 685 | SRC_URI[tempfile-3.26.0.sha256sum] = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" | 717 | SRC_URI[tempfile-3.27.0.sha256sum] = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" |
| 686 | SRC_URI[terminal_size-0.4.3.sha256sum] = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" | 718 | SRC_URI[terminal_size-0.4.4.sha256sum] = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" |
| 687 | SRC_URI[textwrap-0.16.2.sha256sum] = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" | 719 | SRC_URI[textwrap-0.16.2.sha256sum] = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" |
| 688 | SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" | 720 | SRC_URI[thiserror-1.0.69.sha256sum] = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" |
| 689 | SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" | 721 | SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" |
| @@ -693,7 +725,7 @@ SRC_URI[time-0.3.47.sha256sum] = "743bd48c283afc0388f9b8827b976905fb217ad9e647fa | |||
| 693 | SRC_URI[time-core-0.1.8.sha256sum] = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" | 725 | SRC_URI[time-core-0.1.8.sha256sum] = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" |
| 694 | SRC_URI[time-macros-0.2.27.sha256sum] = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" | 726 | SRC_URI[time-macros-0.2.27.sha256sum] = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" |
| 695 | SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" | 727 | SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" |
| 696 | SRC_URI[tinystr-0.8.2.sha256sum] = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" | 728 | SRC_URI[tinystr-0.8.3.sha256sum] = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d" |
| 697 | SRC_URI[toml_datetime-0.7.5+spec-1.1.0.sha256sum] = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" | 729 | SRC_URI[toml_datetime-0.7.5+spec-1.1.0.sha256sum] = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" |
| 698 | SRC_URI[toml_edit-0.23.10+spec-1.0.0.sha256sum] = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" | 730 | SRC_URI[toml_edit-0.23.10+spec-1.0.0.sha256sum] = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" |
| 699 | SRC_URI[toml_parser-1.0.6+spec-1.1.0.sha256sum] = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" | 731 | SRC_URI[toml_parser-1.0.6+spec-1.1.0.sha256sum] = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" |
| @@ -706,6 +738,7 @@ SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059 | |||
| 706 | SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" | 738 | SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" |
| 707 | SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" | 739 | SRC_URI[unicode-width-0.1.14.sha256sum] = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" |
| 708 | SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" | 740 | SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" |
| 741 | SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" | ||
| 709 | SRC_URI[unindent-0.2.4.sha256sum] = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" | 742 | SRC_URI[unindent-0.2.4.sha256sum] = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" |
| 710 | SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" | 743 | SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" |
| 711 | SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" | 744 | SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" |
| @@ -714,16 +747,20 @@ SRC_URI[utf8parse-0.2.2.sha256sum] = "06abde3611657adf66d383f00b093d7faecc7fa570 | |||
| 714 | SRC_URI[utmp-classic-0.1.6.sha256sum] = "e24c654e19afaa6b8f3877ece5d3bed849c2719c56f6752b18ca7da4fcc6e85a" | 747 | SRC_URI[utmp-classic-0.1.6.sha256sum] = "e24c654e19afaa6b8f3877ece5d3bed849c2719c56f6752b18ca7da4fcc6e85a" |
| 715 | SRC_URI[utmp-classic-raw-0.1.3.sha256sum] = "22c226537a3d6e01c440c1926ca0256dbee2d19b2229ede6fc4863a6493dd831" | 748 | SRC_URI[utmp-classic-raw-0.1.3.sha256sum] = "22c226537a3d6e01c440c1926ca0256dbee2d19b2229ede6fc4863a6493dd831" |
| 716 | SRC_URI[uuid-1.20.0.sha256sum] = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" | 749 | SRC_URI[uuid-1.20.0.sha256sum] = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" |
| 717 | SRC_URI[uutils_term_grid-0.7.0.sha256sum] = "fcba141ce511bad08e80b43f02976571072e1ff4286f7d628943efbd277c6361" | 750 | SRC_URI[uutils_term_grid-0.8.0.sha256sum] = "382d49b39de4a115f203305057741126b09a615892d773a2d419a2b816e30e39" |
| 718 | SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" | 751 | SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" |
| 719 | SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" | 752 | SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" |
| 720 | SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" | 753 | SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" |
| 721 | SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" | 754 | SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" |
| 722 | SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" | 755 | SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" |
| 756 | SRC_URI[wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.sha256sum] = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" | ||
| 723 | SRC_URI[wasm-bindgen-0.2.108.sha256sum] = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" | 757 | SRC_URI[wasm-bindgen-0.2.108.sha256sum] = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" |
| 724 | SRC_URI[wasm-bindgen-macro-0.2.108.sha256sum] = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" | 758 | SRC_URI[wasm-bindgen-macro-0.2.108.sha256sum] = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" |
| 725 | SRC_URI[wasm-bindgen-macro-support-0.2.108.sha256sum] = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" | 759 | SRC_URI[wasm-bindgen-macro-support-0.2.108.sha256sum] = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" |
| 726 | SRC_URI[wasm-bindgen-shared-0.2.108.sha256sum] = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" | 760 | SRC_URI[wasm-bindgen-shared-0.2.108.sha256sum] = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" |
| 761 | SRC_URI[wasm-encoder-0.244.0.sha256sum] = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" | ||
| 762 | SRC_URI[wasm-metadata-0.244.0.sha256sum] = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" | ||
| 763 | SRC_URI[wasmparser-0.244.0.sha256sum] = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" | ||
| 727 | SRC_URI[web-time-1.1.0.sha256sum] = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" | 764 | SRC_URI[web-time-1.1.0.sha256sum] = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" |
| 728 | SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" | 765 | SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" |
| 729 | SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" | 766 | SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" |
| @@ -759,13 +796,18 @@ SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661 | |||
| 759 | SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" | 796 | SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" |
| 760 | SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" | 797 | SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" |
| 761 | SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" | 798 | SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" |
| 799 | SRC_URI[wit-bindgen-core-0.51.0.sha256sum] = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" | ||
| 800 | SRC_URI[wit-bindgen-rust-0.51.0.sha256sum] = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" | ||
| 801 | SRC_URI[wit-bindgen-rust-macro-0.51.0.sha256sum] = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" | ||
| 802 | SRC_URI[wit-component-0.244.0.sha256sum] = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" | ||
| 803 | SRC_URI[wit-parser-0.244.0.sha256sum] = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" | ||
| 762 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" | 804 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" |
| 763 | SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" | 805 | SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" |
| 764 | SRC_URI[wyz-0.5.1.sha256sum] = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" | 806 | SRC_URI[wyz-0.5.1.sha256sum] = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" |
| 765 | SRC_URI[xattr-1.6.1.sha256sum] = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" | 807 | SRC_URI[xattr-1.6.1.sha256sum] = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" |
| 766 | SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" | 808 | SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" |
| 767 | SRC_URI[yoke-0.8.1.sha256sum] = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" | 809 | SRC_URI[yoke-0.8.2.sha256sum] = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" |
| 768 | SRC_URI[yoke-derive-0.8.1.sha256sum] = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" | 810 | SRC_URI[yoke-derive-0.8.2.sha256sum] = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" |
| 769 | SRC_URI[z85-3.0.7.sha256sum] = "c6e61e59a957b7ccee15d2049f86e8bfd6f66968fcd88f018950662d9b86e675" | 811 | SRC_URI[z85-3.0.7.sha256sum] = "c6e61e59a957b7ccee15d2049f86e8bfd6f66968fcd88f018950662d9b86e675" |
| 770 | SRC_URI[zerocopy-0.7.35.sha256sum] = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" | 812 | SRC_URI[zerocopy-0.7.35.sha256sum] = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" |
| 771 | SRC_URI[zerocopy-0.8.39.sha256sum] = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" | 813 | SRC_URI[zerocopy-0.8.39.sha256sum] = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" |
| @@ -773,10 +815,10 @@ SRC_URI[zerocopy-derive-0.7.35.sha256sum] = "fa4f8080344d4671fb4e831a13ad1e68092 | |||
| 773 | SRC_URI[zerocopy-derive-0.8.39.sha256sum] = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" | 815 | SRC_URI[zerocopy-derive-0.8.39.sha256sum] = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" |
| 774 | SRC_URI[zerofrom-0.1.6.sha256sum] = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" | 816 | SRC_URI[zerofrom-0.1.6.sha256sum] = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" |
| 775 | SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" | 817 | SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" |
| 776 | SRC_URI[zerotrie-0.2.3.sha256sum] = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" | 818 | SRC_URI[zerotrie-0.2.4.sha256sum] = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf" |
| 777 | SRC_URI[zerovec-0.11.5.sha256sum] = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" | 819 | SRC_URI[zerovec-0.11.6.sha256sum] = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239" |
| 778 | SRC_URI[zerovec-derive-0.11.2.sha256sum] = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" | 820 | SRC_URI[zerovec-derive-0.11.3.sha256sum] = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" |
| 779 | SRC_URI[zip-8.2.0.sha256sum] = "b680f2a0cd479b4cff6e1233c483fdead418106eae419dc60200ae9850f6d004" | 821 | SRC_URI[zip-8.5.0.sha256sum] = "2726508a48f38dceb22b35ecbbd2430efe34ff05c62bd3285f965d7911b33464" |
| 780 | SRC_URI[zlib-rs-0.6.0.sha256sum] = "a7948af682ccbc3342b6e9420e8c51c1fe5d7bf7756002b4a3c6cabfe96a7e3c" | 822 | SRC_URI[zlib-rs-0.6.0.sha256sum] = "a7948af682ccbc3342b6e9420e8c51c1fe5d7bf7756002b4a3c6cabfe96a7e3c" |
| 781 | SRC_URI[zmij-1.0.19.sha256sum] = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" | 823 | SRC_URI[zmij-1.0.19.sha256sum] = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" |
| 782 | SRC_URI[zopfli-0.8.3.sha256sum] = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" | 824 | SRC_URI[zopfli-0.8.3.sha256sum] = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" |
| @@ -790,6 +832,7 @@ SRC_URI += " \ | |||
| 790 | crate://crates.io/anstyle-parse/0.2.7 \ | 832 | crate://crates.io/anstyle-parse/0.2.7 \ |
| 791 | crate://crates.io/anstyle-query/1.1.5 \ | 833 | crate://crates.io/anstyle-query/1.1.5 \ |
| 792 | crate://crates.io/anstyle-wincon/3.0.11 \ | 834 | crate://crates.io/anstyle-wincon/3.0.11 \ |
| 835 | crate://crates.io/anyhow/1.0.102 \ | ||
| 793 | crate://crates.io/arbitrary/1.4.2 \ | 836 | crate://crates.io/arbitrary/1.4.2 \ |
| 794 | crate://crates.io/arrayref/0.3.9 \ | 837 | crate://crates.io/arrayref/0.3.9 \ |
| 795 | crate://crates.io/arrayvec/0.7.6 \ | 838 | crate://crates.io/arrayvec/0.7.6 \ |
| @@ -801,6 +844,7 @@ SRC_URI += " \ | |||
| 801 | crate://crates.io/blake2b_simd/1.0.4 \ | 844 | crate://crates.io/blake2b_simd/1.0.4 \ |
| 802 | crate://crates.io/blake3/1.8.3 \ | 845 | crate://crates.io/blake3/1.8.3 \ |
| 803 | crate://crates.io/block-buffer/0.10.4 \ | 846 | crate://crates.io/block-buffer/0.10.4 \ |
| 847 | crate://crates.io/block-buffer/0.12.0 \ | ||
| 804 | crate://crates.io/block2/0.6.2 \ | 848 | crate://crates.io/block2/0.6.2 \ |
| 805 | crate://crates.io/bstr/1.12.1 \ | 849 | crate://crates.io/bstr/1.12.1 \ |
| 806 | crate://crates.io/bumpalo/3.19.1 \ | 850 | crate://crates.io/bumpalo/3.19.1 \ |
| @@ -809,19 +853,22 @@ SRC_URI += " \ | |||
| 809 | crate://crates.io/cc/1.2.55 \ | 853 | crate://crates.io/cc/1.2.55 \ |
| 810 | crate://crates.io/cfg-if/1.0.4 \ | 854 | crate://crates.io/cfg-if/1.0.4 \ |
| 811 | crate://crates.io/cfg_aliases/0.2.1 \ | 855 | crate://crates.io/cfg_aliases/0.2.1 \ |
| 856 | crate://crates.io/chacha20/0.10.0 \ | ||
| 812 | crate://crates.io/chrono/0.4.43 \ | 857 | crate://crates.io/chrono/0.4.43 \ |
| 813 | crate://crates.io/clap/4.5.57 \ | 858 | crate://crates.io/clap/4.5.57 \ |
| 814 | crate://crates.io/clap_builder/4.5.57 \ | 859 | crate://crates.io/clap_builder/4.5.57 \ |
| 815 | crate://crates.io/clap_lex/0.7.7 \ | 860 | crate://crates.io/clap_lex/0.7.7 \ |
| 816 | crate://crates.io/colorchoice/1.0.4 \ | 861 | crate://crates.io/colorchoice/1.0.4 \ |
| 817 | crate://crates.io/compare/0.1.0 \ | 862 | crate://crates.io/compare/0.1.0 \ |
| 818 | crate://crates.io/console/0.16.2 \ | 863 | crate://crates.io/console/0.16.3 \ |
| 864 | crate://crates.io/const-oid/0.10.2 \ | ||
| 819 | crate://crates.io/const-random/0.1.18 \ | 865 | crate://crates.io/const-random/0.1.18 \ |
| 820 | crate://crates.io/const-random-macro/0.1.16 \ | 866 | crate://crates.io/const-random-macro/0.1.16 \ |
| 821 | crate://crates.io/constant_time_eq/0.4.2 \ | 867 | crate://crates.io/constant_time_eq/0.4.2 \ |
| 822 | crate://crates.io/core-foundation-sys/0.8.7 \ | 868 | crate://crates.io/core-foundation-sys/0.8.7 \ |
| 823 | crate://crates.io/core_maths/0.1.1 \ | 869 | crate://crates.io/core_maths/0.1.1 \ |
| 824 | crate://crates.io/cpufeatures/0.2.17 \ | 870 | crate://crates.io/cpufeatures/0.2.17 \ |
| 871 | crate://crates.io/cpufeatures/0.3.0 \ | ||
| 825 | crate://crates.io/crc-fast/1.10.0 \ | 872 | crate://crates.io/crc-fast/1.10.0 \ |
| 826 | crate://crates.io/crc32fast/1.5.0 \ | 873 | crate://crates.io/crc32fast/1.5.0 \ |
| 827 | crate://crates.io/crossbeam-deque/0.8.6 \ | 874 | crate://crates.io/crossbeam-deque/0.8.6 \ |
| @@ -829,17 +876,20 @@ SRC_URI += " \ | |||
| 829 | crate://crates.io/crossbeam-utils/0.8.21 \ | 876 | crate://crates.io/crossbeam-utils/0.8.21 \ |
| 830 | crate://crates.io/crunchy/0.2.4 \ | 877 | crate://crates.io/crunchy/0.2.4 \ |
| 831 | crate://crates.io/crypto-common/0.1.7 \ | 878 | crate://crates.io/crypto-common/0.1.7 \ |
| 832 | crate://crates.io/ctrlc/3.5.1 \ | 879 | crate://crates.io/crypto-common/0.2.1 \ |
| 880 | crate://crates.io/ctrlc/3.5.2 \ | ||
| 833 | crate://crates.io/data-encoding/2.10.0 \ | 881 | crate://crates.io/data-encoding/2.10.0 \ |
| 834 | crate://crates.io/data-encoding-macro/0.1.19 \ | 882 | crate://crates.io/data-encoding-macro/0.1.19 \ |
| 835 | crate://crates.io/data-encoding-macro-internal/0.1.17 \ | 883 | crate://crates.io/data-encoding-macro-internal/0.1.17 \ |
| 836 | crate://crates.io/digest/0.10.7 \ | 884 | crate://crates.io/digest/0.10.7 \ |
| 885 | crate://crates.io/digest/0.11.2 \ | ||
| 837 | crate://crates.io/dispatch2/0.3.0 \ | 886 | crate://crates.io/dispatch2/0.3.0 \ |
| 838 | crate://crates.io/displaydoc/0.2.5 \ | 887 | crate://crates.io/displaydoc/0.2.5 \ |
| 839 | crate://crates.io/dlv-list/0.5.2 \ | 888 | crate://crates.io/dlv-list/0.5.2 \ |
| 840 | crate://crates.io/dunce/1.0.5 \ | 889 | crate://crates.io/dunce/1.0.5 \ |
| 841 | crate://crates.io/either/1.15.0 \ | 890 | crate://crates.io/either/1.15.0 \ |
| 842 | crate://crates.io/encode_unicode/1.0.0 \ | 891 | crate://crates.io/encode_unicode/1.0.0 \ |
| 892 | crate://crates.io/equivalent/1.0.2 \ | ||
| 843 | crate://crates.io/errno/0.3.14 \ | 893 | crate://crates.io/errno/0.3.14 \ |
| 844 | crate://crates.io/fastrand/2.3.0 \ | 894 | crate://crates.io/fastrand/2.3.0 \ |
| 845 | crate://crates.io/find-msvc-tools/0.1.9 \ | 895 | crate://crates.io/find-msvc-tools/0.1.9 \ |
| @@ -849,13 +899,19 @@ SRC_URI += " \ | |||
| 849 | crate://crates.io/fluent-bundle/0.16.0 \ | 899 | crate://crates.io/fluent-bundle/0.16.0 \ |
| 850 | crate://crates.io/fluent-langneg/0.13.1 \ | 900 | crate://crates.io/fluent-langneg/0.13.1 \ |
| 851 | crate://crates.io/fluent-syntax/0.12.0 \ | 901 | crate://crates.io/fluent-syntax/0.12.0 \ |
| 902 | crate://crates.io/foldhash/0.1.5 \ | ||
| 852 | crate://crates.io/foldhash/0.2.0 \ | 903 | crate://crates.io/foldhash/0.2.0 \ |
| 853 | crate://crates.io/generic-array/0.14.7 \ | 904 | crate://crates.io/generic-array/0.14.7 \ |
| 854 | crate://crates.io/getrandom/0.2.17 \ | 905 | crate://crates.io/getrandom/0.2.17 \ |
| 855 | crate://crates.io/getrandom/0.3.4 \ | 906 | crate://crates.io/getrandom/0.3.4 \ |
| 907 | crate://crates.io/getrandom/0.4.1 \ | ||
| 856 | crate://crates.io/glob/0.3.3 \ | 908 | crate://crates.io/glob/0.3.3 \ |
| 857 | crate://crates.io/hashbrown/0.14.5 \ | 909 | crate://crates.io/hashbrown/0.14.5 \ |
| 910 | crate://crates.io/hashbrown/0.15.5 \ | ||
| 911 | crate://crates.io/hashbrown/0.16.1 \ | ||
| 912 | crate://crates.io/heck/0.5.0 \ | ||
| 858 | crate://crates.io/hex/0.4.3 \ | 913 | crate://crates.io/hex/0.4.3 \ |
| 914 | crate://crates.io/hybrid-array/0.4.8 \ | ||
| 859 | crate://crates.io/iana-time-zone/0.1.65 \ | 915 | crate://crates.io/iana-time-zone/0.1.65 \ |
| 860 | crate://crates.io/iana-time-zone-haiku/0.1.2 \ | 916 | crate://crates.io/iana-time-zone-haiku/0.1.2 \ |
| 861 | crate://crates.io/icu_calendar/2.1.1 \ | 917 | crate://crates.io/icu_calendar/2.1.1 \ |
| @@ -880,11 +936,13 @@ SRC_URI += " \ | |||
| 880 | crate://crates.io/icu_provider/2.1.1 \ | 936 | crate://crates.io/icu_provider/2.1.1 \ |
| 881 | crate://crates.io/icu_time/2.1.1 \ | 937 | crate://crates.io/icu_time/2.1.1 \ |
| 882 | crate://crates.io/icu_time_data/2.1.1 \ | 938 | crate://crates.io/icu_time_data/2.1.1 \ |
| 939 | crate://crates.io/id-arena/2.3.0 \ | ||
| 940 | crate://crates.io/indexmap/2.13.0 \ | ||
| 883 | crate://crates.io/intl-memoizer/0.5.3 \ | 941 | crate://crates.io/intl-memoizer/0.5.3 \ |
| 884 | crate://crates.io/intl_pluralrules/7.0.2 \ | 942 | crate://crates.io/intl_pluralrules/7.0.2 \ |
| 885 | crate://crates.io/is_terminal_polyfill/1.70.2 \ | 943 | crate://crates.io/is_terminal_polyfill/1.70.2 \ |
| 886 | crate://crates.io/itertools/0.14.0 \ | 944 | crate://crates.io/itertools/0.14.0 \ |
| 887 | crate://crates.io/ixdtf/0.6.4 \ | 945 | crate://crates.io/itoa/1.0.17 \ |
| 888 | crate://crates.io/jiff/0.2.19 \ | 946 | crate://crates.io/jiff/0.2.19 \ |
| 889 | crate://crates.io/jiff-icu/0.2.2 \ | 947 | crate://crates.io/jiff-icu/0.2.2 \ |
| 890 | crate://crates.io/jiff-static/0.2.19 \ | 948 | crate://crates.io/jiff-static/0.2.19 \ |
| @@ -893,6 +951,7 @@ SRC_URI += " \ | |||
| 893 | crate://crates.io/jobserver/0.1.34 \ | 951 | crate://crates.io/jobserver/0.1.34 \ |
| 894 | crate://crates.io/js-sys/0.3.85 \ | 952 | crate://crates.io/js-sys/0.3.85 \ |
| 895 | crate://crates.io/keccak/0.1.6 \ | 953 | crate://crates.io/keccak/0.1.6 \ |
| 954 | crate://crates.io/leb128fmt/0.1.0 \ | ||
| 896 | crate://crates.io/libc/0.2.182 \ | 955 | crate://crates.io/libc/0.2.182 \ |
| 897 | crate://crates.io/libfuzzer-sys/0.4.12 \ | 956 | crate://crates.io/libfuzzer-sys/0.4.12 \ |
| 898 | crate://crates.io/libm/0.2.16 \ | 957 | crate://crates.io/libm/0.2.16 \ |
| @@ -902,7 +961,7 @@ SRC_URI += " \ | |||
| 902 | crate://crates.io/md-5/0.10.6 \ | 961 | crate://crates.io/md-5/0.10.6 \ |
| 903 | crate://crates.io/memchr/2.8.0 \ | 962 | crate://crates.io/memchr/2.8.0 \ |
| 904 | crate://crates.io/miniz_oxide/0.8.9 \ | 963 | crate://crates.io/miniz_oxide/0.8.9 \ |
| 905 | crate://crates.io/nix/0.30.1 \ | 964 | crate://crates.io/nix/0.31.2 \ |
| 906 | crate://crates.io/nom/8.0.0 \ | 965 | crate://crates.io/nom/8.0.0 \ |
| 907 | crate://crates.io/num-bigint/0.4.6 \ | 966 | crate://crates.io/num-bigint/0.4.6 \ |
| 908 | crate://crates.io/num-integer/0.1.46 \ | 967 | crate://crates.io/num-integer/0.1.46 \ |
| @@ -922,14 +981,17 @@ SRC_URI += " \ | |||
| 922 | crate://crates.io/portable-atomic-util/0.2.5 \ | 981 | crate://crates.io/portable-atomic-util/0.2.5 \ |
| 923 | crate://crates.io/potential_utf/0.1.4 \ | 982 | crate://crates.io/potential_utf/0.1.4 \ |
| 924 | crate://crates.io/ppv-lite86/0.2.21 \ | 983 | crate://crates.io/ppv-lite86/0.2.21 \ |
| 984 | crate://crates.io/prettyplease/0.2.37 \ | ||
| 925 | crate://crates.io/proc-macro2/1.0.106 \ | 985 | crate://crates.io/proc-macro2/1.0.106 \ |
| 926 | crate://crates.io/procfs/0.18.0 \ | 986 | crate://crates.io/procfs/0.18.0 \ |
| 927 | crate://crates.io/procfs-core/0.18.0 \ | 987 | crate://crates.io/procfs-core/0.18.0 \ |
| 928 | crate://crates.io/quote/1.0.44 \ | 988 | crate://crates.io/quote/1.0.44 \ |
| 929 | crate://crates.io/r-efi/5.3.0 \ | 989 | crate://crates.io/r-efi/5.3.0 \ |
| 930 | crate://crates.io/rand/0.9.2 \ | 990 | crate://crates.io/rand/0.9.2 \ |
| 991 | crate://crates.io/rand/0.10.0 \ | ||
| 931 | crate://crates.io/rand_chacha/0.9.0 \ | 992 | crate://crates.io/rand_chacha/0.9.0 \ |
| 932 | crate://crates.io/rand_core/0.9.5 \ | 993 | crate://crates.io/rand_core/0.9.5 \ |
| 994 | crate://crates.io/rand_core/0.10.0 \ | ||
| 933 | crate://crates.io/rayon/1.11.0 \ | 995 | crate://crates.io/rayon/1.11.0 \ |
| 934 | crate://crates.io/rayon-core/1.13.0 \ | 996 | crate://crates.io/rayon-core/1.13.0 \ |
| 935 | crate://crates.io/regex/1.12.3 \ | 997 | crate://crates.io/regex/1.12.3 \ |
| @@ -940,23 +1002,25 @@ SRC_URI += " \ | |||
| 940 | crate://crates.io/rustix/1.1.4 \ | 1002 | crate://crates.io/rustix/1.1.4 \ |
| 941 | crate://crates.io/rustversion/1.0.22 \ | 1003 | crate://crates.io/rustversion/1.0.22 \ |
| 942 | crate://crates.io/self_cell/1.2.2 \ | 1004 | crate://crates.io/self_cell/1.2.2 \ |
| 1005 | crate://crates.io/semver/1.0.27 \ | ||
| 943 | crate://crates.io/serde/1.0.228 \ | 1006 | crate://crates.io/serde/1.0.228 \ |
| 944 | crate://crates.io/serde_core/1.0.228 \ | 1007 | crate://crates.io/serde_core/1.0.228 \ |
| 945 | crate://crates.io/serde_derive/1.0.228 \ | 1008 | crate://crates.io/serde_derive/1.0.228 \ |
| 1009 | crate://crates.io/serde_json/1.0.149 \ | ||
| 946 | crate://crates.io/sha1/0.10.6 \ | 1010 | crate://crates.io/sha1/0.10.6 \ |
| 947 | crate://crates.io/sha2/0.10.9 \ | 1011 | crate://crates.io/sha2/0.10.9 \ |
| 948 | crate://crates.io/sha3/0.10.8 \ | 1012 | crate://crates.io/sha3/0.10.8 \ |
| 949 | crate://crates.io/shlex/1.3.0 \ | 1013 | crate://crates.io/shlex/1.3.0 \ |
| 950 | crate://crates.io/simd-adler32/0.3.8 \ | 1014 | crate://crates.io/simd-adler32/0.3.8 \ |
| 951 | crate://crates.io/similar/2.7.0 \ | 1015 | crate://crates.io/similar/3.0.0 \ |
| 952 | crate://crates.io/sm3/0.4.2 \ | 1016 | crate://crates.io/sm3/0.5.0 \ |
| 953 | crate://crates.io/smallvec/1.15.1 \ | 1017 | crate://crates.io/smallvec/1.15.1 \ |
| 954 | crate://crates.io/spin/0.10.0 \ | 1018 | crate://crates.io/spin/0.10.0 \ |
| 955 | crate://crates.io/stable_deref_trait/1.2.1 \ | 1019 | crate://crates.io/stable_deref_trait/1.2.1 \ |
| 956 | crate://crates.io/strsim/0.11.1 \ | 1020 | crate://crates.io/strsim/0.11.1 \ |
| 957 | crate://crates.io/syn/2.0.114 \ | 1021 | crate://crates.io/syn/2.0.114 \ |
| 958 | crate://crates.io/synstructure/0.13.2 \ | 1022 | crate://crates.io/synstructure/0.13.2 \ |
| 959 | crate://crates.io/tempfile/3.26.0 \ | 1023 | crate://crates.io/tempfile/3.27.0 \ |
| 960 | crate://crates.io/terminal_size/0.4.3 \ | 1024 | crate://crates.io/terminal_size/0.4.3 \ |
| 961 | crate://crates.io/thiserror/2.0.18 \ | 1025 | crate://crates.io/thiserror/2.0.18 \ |
| 962 | crate://crates.io/thiserror-impl/2.0.18 \ | 1026 | crate://crates.io/thiserror-impl/2.0.18 \ |
| @@ -968,6 +1032,7 @@ SRC_URI += " \ | |||
| 968 | crate://crates.io/unic-langid-impl/0.9.6 \ | 1032 | crate://crates.io/unic-langid-impl/0.9.6 \ |
| 969 | crate://crates.io/unicode-ident/1.0.22 \ | 1033 | crate://crates.io/unicode-ident/1.0.22 \ |
| 970 | crate://crates.io/unicode-width/0.2.2 \ | 1034 | crate://crates.io/unicode-width/0.2.2 \ |
| 1035 | crate://crates.io/unicode-xid/0.2.6 \ | ||
| 971 | crate://crates.io/unit-prefix/0.5.2 \ | 1036 | crate://crates.io/unit-prefix/0.5.2 \ |
| 972 | crate://crates.io/utf16_iter/1.0.5 \ | 1037 | crate://crates.io/utf16_iter/1.0.5 \ |
| 973 | crate://crates.io/utf8_iter/1.0.4 \ | 1038 | crate://crates.io/utf8_iter/1.0.4 \ |
| @@ -976,10 +1041,14 @@ SRC_URI += " \ | |||
| 976 | crate://crates.io/vsimd/0.8.0 \ | 1041 | crate://crates.io/vsimd/0.8.0 \ |
| 977 | crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ | 1042 | crate://crates.io/wasi/0.11.1+wasi-snapshot-preview1 \ |
| 978 | crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ | 1043 | crate://crates.io/wasip2/1.0.2+wasi-0.2.9 \ |
| 1044 | crate://crates.io/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06 \ | ||
| 979 | crate://crates.io/wasm-bindgen/0.2.108 \ | 1045 | crate://crates.io/wasm-bindgen/0.2.108 \ |
| 980 | crate://crates.io/wasm-bindgen-macro/0.2.108 \ | 1046 | crate://crates.io/wasm-bindgen-macro/0.2.108 \ |
| 981 | crate://crates.io/wasm-bindgen-macro-support/0.2.108 \ | 1047 | crate://crates.io/wasm-bindgen-macro-support/0.2.108 \ |
| 982 | crate://crates.io/wasm-bindgen-shared/0.2.108 \ | 1048 | crate://crates.io/wasm-bindgen-shared/0.2.108 \ |
| 1049 | crate://crates.io/wasm-encoder/0.244.0 \ | ||
| 1050 | crate://crates.io/wasm-metadata/0.244.0 \ | ||
| 1051 | crate://crates.io/wasmparser/0.244.0 \ | ||
| 983 | crate://crates.io/wild/2.2.1 \ | 1052 | crate://crates.io/wild/2.2.1 \ |
| 984 | crate://crates.io/winapi-util/0.1.11 \ | 1053 | crate://crates.io/winapi-util/0.1.11 \ |
| 985 | crate://crates.io/windows-core/0.62.2 \ | 1054 | crate://crates.io/windows-core/0.62.2 \ |
| @@ -1001,6 +1070,11 @@ SRC_URI += " \ | |||
| 1001 | crate://crates.io/windows_x86_64_msvc/0.53.1 \ | 1070 | crate://crates.io/windows_x86_64_msvc/0.53.1 \ |
| 1002 | crate://crates.io/winnow/0.7.14 \ | 1071 | crate://crates.io/winnow/0.7.14 \ |
| 1003 | crate://crates.io/wit-bindgen/0.51.0 \ | 1072 | crate://crates.io/wit-bindgen/0.51.0 \ |
| 1073 | crate://crates.io/wit-bindgen-core/0.51.0 \ | ||
| 1074 | crate://crates.io/wit-bindgen-rust/0.51.0 \ | ||
| 1075 | crate://crates.io/wit-bindgen-rust-macro/0.51.0 \ | ||
| 1076 | crate://crates.io/wit-component/0.244.0 \ | ||
| 1077 | crate://crates.io/wit-parser/0.244.0 \ | ||
| 1004 | crate://crates.io/write16/1.0.0 \ | 1078 | crate://crates.io/write16/1.0.0 \ |
| 1005 | crate://crates.io/writeable/0.6.2 \ | 1079 | crate://crates.io/writeable/0.6.2 \ |
| 1006 | crate://crates.io/yoke/0.8.1 \ | 1080 | crate://crates.io/yoke/0.8.1 \ |
| @@ -1013,6 +1087,7 @@ SRC_URI += " \ | |||
| 1013 | crate://crates.io/zerotrie/0.2.3 \ | 1087 | crate://crates.io/zerotrie/0.2.3 \ |
| 1014 | crate://crates.io/zerovec/0.11.5 \ | 1088 | crate://crates.io/zerovec/0.11.5 \ |
| 1015 | crate://crates.io/zerovec-derive/0.11.2 \ | 1089 | crate://crates.io/zerovec-derive/0.11.2 \ |
| 1090 | crate://crates.io/zmij/1.0.21 \ | ||
| 1016 | " | 1091 | " |
| 1017 | 1092 | ||
| 1018 | SRC_URI[adler2-2.0.1.sha256sum] = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" | 1093 | SRC_URI[adler2-2.0.1.sha256sum] = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" |
| @@ -1023,6 +1098,7 @@ SRC_URI[anstyle-1.0.13.sha256sum] = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfe | |||
| 1023 | SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" | 1098 | SRC_URI[anstyle-parse-0.2.7.sha256sum] = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" |
| 1024 | SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" | 1099 | SRC_URI[anstyle-query-1.1.5.sha256sum] = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" |
| 1025 | SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" | 1100 | SRC_URI[anstyle-wincon-3.0.11.sha256sum] = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" |
| 1101 | SRC_URI[anyhow-1.0.102.sha256sum] = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" | ||
| 1026 | SRC_URI[arbitrary-1.4.2.sha256sum] = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" | 1102 | SRC_URI[arbitrary-1.4.2.sha256sum] = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" |
| 1027 | SRC_URI[arrayref-0.3.9.sha256sum] = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" | 1103 | SRC_URI[arrayref-0.3.9.sha256sum] = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" |
| 1028 | SRC_URI[arrayvec-0.7.6.sha256sum] = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" | 1104 | SRC_URI[arrayvec-0.7.6.sha256sum] = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" |
| @@ -1034,6 +1110,7 @@ SRC_URI[bitflags-2.10.0.sha256sum] = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acf | |||
| 1034 | SRC_URI[blake2b_simd-1.0.4.sha256sum] = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" | 1110 | SRC_URI[blake2b_simd-1.0.4.sha256sum] = "b79834656f71332577234b50bfc009996f7449e0c056884e6a02492ded0ca2f3" |
| 1035 | SRC_URI[blake3-1.8.3.sha256sum] = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" | 1111 | SRC_URI[blake3-1.8.3.sha256sum] = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" |
| 1036 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" | 1112 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" |
| 1113 | SRC_URI[block-buffer-0.12.0.sha256sum] = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" | ||
| 1037 | SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" | 1114 | SRC_URI[block2-0.6.2.sha256sum] = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" |
| 1038 | SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" | 1115 | SRC_URI[bstr-1.12.1.sha256sum] = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" |
| 1039 | SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" | 1116 | SRC_URI[bumpalo-3.19.1.sha256sum] = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" |
| @@ -1042,19 +1119,22 @@ SRC_URI[calendrical_calculations-0.2.3.sha256sum] = "3a0b39595c6ee54a8d0900204ba | |||
| 1042 | SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" | 1119 | SRC_URI[cc-1.2.55.sha256sum] = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" |
| 1043 | SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" | 1120 | SRC_URI[cfg-if-1.0.4.sha256sum] = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" |
| 1044 | SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" | 1121 | SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" |
| 1122 | SRC_URI[chacha20-0.10.0.sha256sum] = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" | ||
| 1045 | SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" | 1123 | SRC_URI[chrono-0.4.43.sha256sum] = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" |
| 1046 | SRC_URI[clap-4.5.57.sha256sum] = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a" | 1124 | SRC_URI[clap-4.5.57.sha256sum] = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a" |
| 1047 | SRC_URI[clap_builder-4.5.57.sha256sum] = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238" | 1125 | SRC_URI[clap_builder-4.5.57.sha256sum] = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238" |
| 1048 | SRC_URI[clap_lex-0.7.7.sha256sum] = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" | 1126 | SRC_URI[clap_lex-0.7.7.sha256sum] = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" |
| 1049 | SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" | 1127 | SRC_URI[colorchoice-1.0.4.sha256sum] = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" |
| 1050 | SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3" | 1128 | SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3" |
| 1051 | SRC_URI[console-0.16.2.sha256sum] = "03e45a4a8926227e4197636ba97a9fc9b00477e9f4bd711395687c5f0734bec4" | 1129 | SRC_URI[console-0.16.3.sha256sum] = "d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87" |
| 1130 | SRC_URI[const-oid-0.10.2.sha256sum] = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" | ||
| 1052 | SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" | 1131 | SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" |
| 1053 | SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" | 1132 | SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" |
| 1054 | SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" | 1133 | SRC_URI[constant_time_eq-0.4.2.sha256sum] = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" |
| 1055 | SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" | 1134 | SRC_URI[core-foundation-sys-0.8.7.sha256sum] = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" |
| 1056 | SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" | 1135 | SRC_URI[core_maths-0.1.1.sha256sum] = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" |
| 1057 | SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" | 1136 | SRC_URI[cpufeatures-0.2.17.sha256sum] = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" |
| 1137 | SRC_URI[cpufeatures-0.3.0.sha256sum] = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" | ||
| 1058 | SRC_URI[crc-fast-1.10.0.sha256sum] = "e75b2483e97a5a7da73ac68a05b629f9c53cff58d8ed1c77866079e18b00dba5" | 1138 | SRC_URI[crc-fast-1.10.0.sha256sum] = "e75b2483e97a5a7da73ac68a05b629f9c53cff58d8ed1c77866079e18b00dba5" |
| 1059 | SRC_URI[crc32fast-1.5.0.sha256sum] = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" | 1139 | SRC_URI[crc32fast-1.5.0.sha256sum] = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" |
| 1060 | SRC_URI[crossbeam-deque-0.8.6.sha256sum] = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" | 1140 | SRC_URI[crossbeam-deque-0.8.6.sha256sum] = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" |
| @@ -1062,17 +1142,20 @@ SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5 | |||
| 1062 | SRC_URI[crossbeam-utils-0.8.21.sha256sum] = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" | 1142 | SRC_URI[crossbeam-utils-0.8.21.sha256sum] = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" |
| 1063 | SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" | 1143 | SRC_URI[crunchy-0.2.4.sha256sum] = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" |
| 1064 | SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" | 1144 | SRC_URI[crypto-common-0.1.7.sha256sum] = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" |
| 1065 | SRC_URI[ctrlc-3.5.1.sha256sum] = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" | 1145 | SRC_URI[crypto-common-0.2.1.sha256sum] = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" |
| 1146 | SRC_URI[ctrlc-3.5.2.sha256sum] = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" | ||
| 1066 | SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" | 1147 | SRC_URI[data-encoding-2.10.0.sha256sum] = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" |
| 1067 | SRC_URI[data-encoding-macro-0.1.19.sha256sum] = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" | 1148 | SRC_URI[data-encoding-macro-0.1.19.sha256sum] = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" |
| 1068 | SRC_URI[data-encoding-macro-internal-0.1.17.sha256sum] = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" | 1149 | SRC_URI[data-encoding-macro-internal-0.1.17.sha256sum] = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" |
| 1069 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" | 1150 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" |
| 1151 | SRC_URI[digest-0.11.2.sha256sum] = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c" | ||
| 1070 | SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" | 1152 | SRC_URI[dispatch2-0.3.0.sha256sum] = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" |
| 1071 | SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" | 1153 | SRC_URI[displaydoc-0.2.5.sha256sum] = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" |
| 1072 | SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" | 1154 | SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" |
| 1073 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" | 1155 | SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" |
| 1074 | SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" | 1156 | SRC_URI[either-1.15.0.sha256sum] = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" |
| 1075 | SRC_URI[encode_unicode-1.0.0.sha256sum] = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" | 1157 | SRC_URI[encode_unicode-1.0.0.sha256sum] = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" |
| 1158 | SRC_URI[equivalent-1.0.2.sha256sum] = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" | ||
| 1076 | SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" | 1159 | SRC_URI[errno-0.3.14.sha256sum] = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" |
| 1077 | SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" | 1160 | SRC_URI[fastrand-2.3.0.sha256sum] = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" |
| 1078 | SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" | 1161 | SRC_URI[find-msvc-tools-0.1.9.sha256sum] = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" |
| @@ -1082,13 +1165,19 @@ SRC_URI[fluent-0.17.0.sha256sum] = "8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f1 | |||
| 1082 | SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" | 1165 | SRC_URI[fluent-bundle-0.16.0.sha256sum] = "01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4" |
| 1083 | SRC_URI[fluent-langneg-0.13.1.sha256sum] = "7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0" | 1166 | SRC_URI[fluent-langneg-0.13.1.sha256sum] = "7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0" |
| 1084 | SRC_URI[fluent-syntax-0.12.0.sha256sum] = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" | 1167 | SRC_URI[fluent-syntax-0.12.0.sha256sum] = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198" |
| 1168 | SRC_URI[foldhash-0.1.5.sha256sum] = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" | ||
| 1085 | SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" | 1169 | SRC_URI[foldhash-0.2.0.sha256sum] = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" |
| 1086 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" | 1170 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" |
| 1087 | SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" | 1171 | SRC_URI[getrandom-0.2.17.sha256sum] = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" |
| 1088 | SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" | 1172 | SRC_URI[getrandom-0.3.4.sha256sum] = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" |
| 1173 | SRC_URI[getrandom-0.4.1.sha256sum] = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" | ||
| 1089 | SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" | 1174 | SRC_URI[glob-0.3.3.sha256sum] = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" |
| 1090 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" | 1175 | SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" |
| 1176 | SRC_URI[hashbrown-0.15.5.sha256sum] = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" | ||
| 1177 | SRC_URI[hashbrown-0.16.1.sha256sum] = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" | ||
| 1178 | SRC_URI[heck-0.5.0.sha256sum] = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" | ||
| 1091 | SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" | 1179 | SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" |
| 1180 | SRC_URI[hybrid-array-0.4.8.sha256sum] = "8655f91cd07f2b9d0c24137bd650fe69617773435ee5ec83022377777ce65ef1" | ||
| 1092 | SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" | 1181 | SRC_URI[iana-time-zone-0.1.65.sha256sum] = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" |
| 1093 | SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" | 1182 | SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" |
| 1094 | SRC_URI[icu_calendar-2.1.1.sha256sum] = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" | 1183 | SRC_URI[icu_calendar-2.1.1.sha256sum] = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" |
| @@ -1113,11 +1202,13 @@ SRC_URI[icu_properties_data-2.1.2.sha256sum] = "616c294cf8d725c6afcd8f55abc17c56 | |||
| 1113 | SRC_URI[icu_provider-2.1.1.sha256sum] = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" | 1202 | SRC_URI[icu_provider-2.1.1.sha256sum] = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" |
| 1114 | SRC_URI[icu_time-2.1.1.sha256sum] = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" | 1203 | SRC_URI[icu_time-2.1.1.sha256sum] = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" |
| 1115 | SRC_URI[icu_time_data-2.1.1.sha256sum] = "3e10b0e5e87a2c84bd5fa407705732052edebe69291d347d0c3033785470edbf" | 1204 | SRC_URI[icu_time_data-2.1.1.sha256sum] = "3e10b0e5e87a2c84bd5fa407705732052edebe69291d347d0c3033785470edbf" |
| 1205 | SRC_URI[id-arena-2.3.0.sha256sum] = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" | ||
| 1206 | SRC_URI[indexmap-2.13.0.sha256sum] = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" | ||
| 1116 | SRC_URI[intl-memoizer-0.5.3.sha256sum] = "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f" | 1207 | SRC_URI[intl-memoizer-0.5.3.sha256sum] = "310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f" |
| 1117 | SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972" | 1208 | SRC_URI[intl_pluralrules-7.0.2.sha256sum] = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972" |
| 1118 | SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" | 1209 | SRC_URI[is_terminal_polyfill-1.70.2.sha256sum] = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" |
| 1119 | SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" | 1210 | SRC_URI[itertools-0.14.0.sha256sum] = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" |
| 1120 | SRC_URI[ixdtf-0.6.4.sha256sum] = "84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992" | 1211 | SRC_URI[itoa-1.0.17.sha256sum] = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" |
| 1121 | SRC_URI[jiff-0.2.19.sha256sum] = "d89a5b5e10d5a9ad6e5d1f4bd58225f655d6fe9767575a5e8ac5a6fe64e04495" | 1212 | SRC_URI[jiff-0.2.19.sha256sum] = "d89a5b5e10d5a9ad6e5d1f4bd58225f655d6fe9767575a5e8ac5a6fe64e04495" |
| 1122 | SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" | 1213 | SRC_URI[jiff-icu-0.2.2.sha256sum] = "0e67c2beaae8b10a82d849b9aabb698a43a682f32b17bcdc035d5ecadb44d646" |
| 1123 | SRC_URI[jiff-static-0.2.19.sha256sum] = "ff7a39c8862fc1369215ccf0a8f12dd4598c7f6484704359f0351bd617034dbf" | 1214 | SRC_URI[jiff-static-0.2.19.sha256sum] = "ff7a39c8862fc1369215ccf0a8f12dd4598c7f6484704359f0351bd617034dbf" |
| @@ -1126,6 +1217,7 @@ SRC_URI[jiff-tzdb-platform-0.1.3.sha256sum] = "875a5a69ac2bab1a891711cf5eccbec1c | |||
| 1126 | SRC_URI[jobserver-0.1.34.sha256sum] = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" | 1217 | SRC_URI[jobserver-0.1.34.sha256sum] = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" |
| 1127 | SRC_URI[js-sys-0.3.85.sha256sum] = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" | 1218 | SRC_URI[js-sys-0.3.85.sha256sum] = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" |
| 1128 | SRC_URI[keccak-0.1.6.sha256sum] = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" | 1219 | SRC_URI[keccak-0.1.6.sha256sum] = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" |
| 1220 | SRC_URI[leb128fmt-0.1.0.sha256sum] = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" | ||
| 1129 | SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" | 1221 | SRC_URI[libc-0.2.182.sha256sum] = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" |
| 1130 | SRC_URI[libfuzzer-sys-0.4.12.sha256sum] = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d" | 1222 | SRC_URI[libfuzzer-sys-0.4.12.sha256sum] = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d" |
| 1131 | SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" | 1223 | SRC_URI[libm-0.2.16.sha256sum] = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" |
| @@ -1135,7 +1227,7 @@ SRC_URI[log-0.4.29.sha256sum] = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a659083 | |||
| 1135 | SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" | 1227 | SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" |
| 1136 | SRC_URI[memchr-2.8.0.sha256sum] = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" | 1228 | SRC_URI[memchr-2.8.0.sha256sum] = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" |
| 1137 | SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" | 1229 | SRC_URI[miniz_oxide-0.8.9.sha256sum] = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" |
| 1138 | SRC_URI[nix-0.30.1.sha256sum] = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" | 1230 | SRC_URI[nix-0.31.2.sha256sum] = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" |
| 1139 | SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" | 1231 | SRC_URI[nom-8.0.0.sha256sum] = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" |
| 1140 | SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" | 1232 | SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" |
| 1141 | SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" | 1233 | SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" |
| @@ -1155,14 +1247,17 @@ SRC_URI[portable-atomic-1.13.1.sha256sum] = "c33a9471896f1c69cecef8d20cbe2f7accd | |||
| 1155 | SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" | 1247 | SRC_URI[portable-atomic-util-0.2.5.sha256sum] = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" |
| 1156 | SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" | 1248 | SRC_URI[potential_utf-0.1.4.sha256sum] = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" |
| 1157 | SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" | 1249 | SRC_URI[ppv-lite86-0.2.21.sha256sum] = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" |
| 1250 | SRC_URI[prettyplease-0.2.37.sha256sum] = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" | ||
| 1158 | SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" | 1251 | SRC_URI[proc-macro2-1.0.106.sha256sum] = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" |
| 1159 | SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" | 1252 | SRC_URI[procfs-0.18.0.sha256sum] = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" |
| 1160 | SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" | 1253 | SRC_URI[procfs-core-0.18.0.sha256sum] = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" |
| 1161 | SRC_URI[quote-1.0.44.sha256sum] = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" | 1254 | SRC_URI[quote-1.0.44.sha256sum] = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" |
| 1162 | SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" | 1255 | SRC_URI[r-efi-5.3.0.sha256sum] = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" |
| 1163 | SRC_URI[rand-0.9.2.sha256sum] = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" | 1256 | SRC_URI[rand-0.9.2.sha256sum] = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" |
| 1257 | SRC_URI[rand-0.10.0.sha256sum] = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" | ||
| 1164 | SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" | 1258 | SRC_URI[rand_chacha-0.9.0.sha256sum] = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" |
| 1165 | SRC_URI[rand_core-0.9.5.sha256sum] = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" | 1259 | SRC_URI[rand_core-0.9.5.sha256sum] = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" |
| 1260 | SRC_URI[rand_core-0.10.0.sha256sum] = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" | ||
| 1166 | SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" | 1261 | SRC_URI[rayon-1.11.0.sha256sum] = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" |
| 1167 | SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" | 1262 | SRC_URI[rayon-core-1.13.0.sha256sum] = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" |
| 1168 | SRC_URI[regex-1.12.3.sha256sum] = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" | 1263 | SRC_URI[regex-1.12.3.sha256sum] = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" |
| @@ -1173,23 +1268,25 @@ SRC_URI[rustc-hash-2.1.1.sha256sum] = "357703d41365b4b27c590e3ed91eabb1b663f07c4 | |||
| 1173 | SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" | 1268 | SRC_URI[rustix-1.1.4.sha256sum] = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" |
| 1174 | SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" | 1269 | SRC_URI[rustversion-1.0.22.sha256sum] = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" |
| 1175 | SRC_URI[self_cell-1.2.2.sha256sum] = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" | 1270 | SRC_URI[self_cell-1.2.2.sha256sum] = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" |
| 1271 | SRC_URI[semver-1.0.27.sha256sum] = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" | ||
| 1176 | SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" | 1272 | SRC_URI[serde-1.0.228.sha256sum] = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" |
| 1177 | SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" | 1273 | SRC_URI[serde_core-1.0.228.sha256sum] = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" |
| 1178 | SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" | 1274 | SRC_URI[serde_derive-1.0.228.sha256sum] = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" |
| 1275 | SRC_URI[serde_json-1.0.149.sha256sum] = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" | ||
| 1179 | SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" | 1276 | SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" |
| 1180 | SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" | 1277 | SRC_URI[sha2-0.10.9.sha256sum] = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" |
| 1181 | SRC_URI[sha3-0.10.8.sha256sum] = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" | 1278 | SRC_URI[sha3-0.10.8.sha256sum] = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" |
| 1182 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" | 1279 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" |
| 1183 | SRC_URI[simd-adler32-0.3.8.sha256sum] = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" | 1280 | SRC_URI[simd-adler32-0.3.8.sha256sum] = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" |
| 1184 | SRC_URI[similar-2.7.0.sha256sum] = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" | 1281 | SRC_URI[similar-3.0.0.sha256sum] = "26d0b06eba54f0ca0770f970a3e89823e766ca638dd940f8469fa0fa50c75396" |
| 1185 | SRC_URI[sm3-0.4.2.sha256sum] = "ebb9a3b702d0a7e33bc4d85a14456633d2b165c2ad839c5fd9a8417c1ab15860" | 1282 | SRC_URI[sm3-0.5.0.sha256sum] = "da6a89ba31723d185fd7413b98c576a575f356d9b84729d8ecb6ead60000a5b6" |
| 1186 | SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" | 1283 | SRC_URI[smallvec-1.15.1.sha256sum] = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" |
| 1187 | SRC_URI[spin-0.10.0.sha256sum] = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" | 1284 | SRC_URI[spin-0.10.0.sha256sum] = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" |
| 1188 | SRC_URI[stable_deref_trait-1.2.1.sha256sum] = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" | 1285 | SRC_URI[stable_deref_trait-1.2.1.sha256sum] = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" |
| 1189 | SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" | 1286 | SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" |
| 1190 | SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" | 1287 | SRC_URI[syn-2.0.114.sha256sum] = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" |
| 1191 | SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" | 1288 | SRC_URI[synstructure-0.13.2.sha256sum] = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" |
| 1192 | SRC_URI[tempfile-3.26.0.sha256sum] = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" | 1289 | SRC_URI[tempfile-3.27.0.sha256sum] = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" |
| 1193 | SRC_URI[terminal_size-0.4.3.sha256sum] = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" | 1290 | SRC_URI[terminal_size-0.4.3.sha256sum] = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" |
| 1194 | SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" | 1291 | SRC_URI[thiserror-2.0.18.sha256sum] = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" |
| 1195 | SRC_URI[thiserror-impl-2.0.18.sha256sum] = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" | 1292 | SRC_URI[thiserror-impl-2.0.18.sha256sum] = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" |
| @@ -1201,6 +1298,7 @@ SRC_URI[unic-langid-0.9.6.sha256sum] = "a28ba52c9b05311f4f6e62d5d9d46f094bd6e84c | |||
| 1201 | SRC_URI[unic-langid-impl-0.9.6.sha256sum] = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658" | 1298 | SRC_URI[unic-langid-impl-0.9.6.sha256sum] = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658" |
| 1202 | SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" | 1299 | SRC_URI[unicode-ident-1.0.22.sha256sum] = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" |
| 1203 | SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" | 1300 | SRC_URI[unicode-width-0.2.2.sha256sum] = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" |
| 1301 | SRC_URI[unicode-xid-0.2.6.sha256sum] = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" | ||
| 1204 | SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" | 1302 | SRC_URI[unit-prefix-0.5.2.sha256sum] = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" |
| 1205 | SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" | 1303 | SRC_URI[utf16_iter-1.0.5.sha256sum] = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" |
| 1206 | SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" | 1304 | SRC_URI[utf8_iter-1.0.4.sha256sum] = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" |
| @@ -1209,10 +1307,14 @@ SRC_URI[version_check-0.9.5.sha256sum] = "0b928f33d975fc6ad9f86c8f283853ad26bdd5 | |||
| 1209 | SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" | 1307 | SRC_URI[vsimd-0.8.0.sha256sum] = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" |
| 1210 | SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" | 1308 | SRC_URI[wasi-0.11.1+wasi-snapshot-preview1.sha256sum] = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" |
| 1211 | SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" | 1309 | SRC_URI[wasip2-1.0.2+wasi-0.2.9.sha256sum] = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" |
| 1310 | SRC_URI[wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.sha256sum] = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" | ||
| 1212 | SRC_URI[wasm-bindgen-0.2.108.sha256sum] = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" | 1311 | SRC_URI[wasm-bindgen-0.2.108.sha256sum] = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" |
| 1213 | SRC_URI[wasm-bindgen-macro-0.2.108.sha256sum] = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" | 1312 | SRC_URI[wasm-bindgen-macro-0.2.108.sha256sum] = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" |
| 1214 | SRC_URI[wasm-bindgen-macro-support-0.2.108.sha256sum] = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" | 1313 | SRC_URI[wasm-bindgen-macro-support-0.2.108.sha256sum] = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" |
| 1215 | SRC_URI[wasm-bindgen-shared-0.2.108.sha256sum] = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" | 1314 | SRC_URI[wasm-bindgen-shared-0.2.108.sha256sum] = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" |
| 1315 | SRC_URI[wasm-encoder-0.244.0.sha256sum] = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" | ||
| 1316 | SRC_URI[wasm-metadata-0.244.0.sha256sum] = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" | ||
| 1317 | SRC_URI[wasmparser-0.244.0.sha256sum] = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" | ||
| 1216 | SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" | 1318 | SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" |
| 1217 | SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" | 1319 | SRC_URI[winapi-util-0.1.11.sha256sum] = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" |
| 1218 | SRC_URI[windows-core-0.62.2.sha256sum] = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" | 1320 | SRC_URI[windows-core-0.62.2.sha256sum] = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" |
| @@ -1234,6 +1336,11 @@ SRC_URI[windows_x86_64_gnullvm-0.53.1.sha256sum] = "0ffa179e2d07eee8ad8f57493436 | |||
| 1234 | SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" | 1336 | SRC_URI[windows_x86_64_msvc-0.53.1.sha256sum] = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" |
| 1235 | SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" | 1337 | SRC_URI[winnow-0.7.14.sha256sum] = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" |
| 1236 | SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" | 1338 | SRC_URI[wit-bindgen-0.51.0.sha256sum] = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" |
| 1339 | SRC_URI[wit-bindgen-core-0.51.0.sha256sum] = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" | ||
| 1340 | SRC_URI[wit-bindgen-rust-0.51.0.sha256sum] = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" | ||
| 1341 | SRC_URI[wit-bindgen-rust-macro-0.51.0.sha256sum] = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" | ||
| 1342 | SRC_URI[wit-component-0.244.0.sha256sum] = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" | ||
| 1343 | SRC_URI[wit-parser-0.244.0.sha256sum] = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" | ||
| 1237 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" | 1344 | SRC_URI[write16-1.0.0.sha256sum] = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" |
| 1238 | SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" | 1345 | SRC_URI[writeable-0.6.2.sha256sum] = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" |
| 1239 | SRC_URI[yoke-0.8.1.sha256sum] = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" | 1346 | SRC_URI[yoke-0.8.1.sha256sum] = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" |
| @@ -1246,3 +1353,4 @@ SRC_URI[zerofrom-derive-0.1.6.sha256sum] = "d71e5d6e06ab090c67b5e44993ec16b72dcb | |||
| 1246 | SRC_URI[zerotrie-0.2.3.sha256sum] = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" | 1353 | SRC_URI[zerotrie-0.2.3.sha256sum] = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" |
| 1247 | SRC_URI[zerovec-0.11.5.sha256sum] = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" | 1354 | SRC_URI[zerovec-0.11.5.sha256sum] = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" |
| 1248 | SRC_URI[zerovec-derive-0.11.2.sha256sum] = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" | 1355 | SRC_URI[zerovec-derive-0.11.2.sha256sum] = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" |
| 1356 | SRC_URI[zmij-1.0.21.sha256sum] = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" | ||
diff --git a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.7.0.bb b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.8.0.bb index 5103d86e92..8b9b4dc199 100644 --- a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.7.0.bb +++ b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.8.0.bb | |||
| @@ -11,7 +11,7 @@ SRC_URI = " \ | |||
| 11 | git://github.com/uutils/coreutils.git;protocol=https;branch=main;tag=${PV} \ | 11 | git://github.com/uutils/coreutils.git;protocol=https;branch=main;tag=${PV} \ |
| 12 | " | 12 | " |
| 13 | 13 | ||
| 14 | SRCREV = "995c9e04a6cc34a3a95b23a26fa59ae87e7744bd" | 14 | SRCREV = "c4093734e2ebe2efb7d65e216cd1444664bcf26a" |
| 15 | 15 | ||
| 16 | require ${BPN}-crates.inc | 16 | require ${BPN}-crates.inc |
| 17 | 17 | ||
diff --git a/meta-oe/recipes-crypto/botan/botan_3.11.0.bb b/meta-oe/recipes-crypto/botan/botan_3.11.1.bb index e60d826459..2d6b64ad64 100644 --- a/meta-oe/recipes-crypto/botan/botan_3.11.0.bb +++ b/meta-oe/recipes-crypto/botan/botan_3.11.1.bb | |||
| @@ -6,7 +6,7 @@ SECTION = "libs" | |||
| 6 | 6 | ||
| 7 | SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz \ | 7 | SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz \ |
| 8 | file://run-ptest" | 8 | file://run-ptest" |
| 9 | SRC_URI[sha256sum] = "e8dd48556818da2c03a9a30932ad05db9e50b12fec90809301ecc64ea51bd11e" | 9 | SRC_URI[sha256sum] = "c1cd7152519f4188591fa4f6ddeb116bc1004491f5f3c58aa99b00582eb8a137" |
| 10 | 10 | ||
| 11 | S = "${UNPACKDIR}/Botan-${PV}" | 11 | S = "${UNPACKDIR}/Botan-${PV}" |
| 12 | 12 | ||
| @@ -65,3 +65,6 @@ FILES:${PN}-test = "${bindir}/botan-test ${datadir}/${PN}/tests/data" | |||
| 65 | COMPATIBLE_HOST:riscv32 = "null" | 65 | COMPATIBLE_HOST:riscv32 = "null" |
| 66 | 66 | ||
| 67 | BBCLASSEXTEND = "native nativesdk" | 67 | BBCLASSEXTEND = "native nativesdk" |
| 68 | |||
| 69 | CVE_STATUS[CVE-2026-32877] = "fixed-version: fixed since 3.11.0" | ||
| 70 | CVE_STATUS[CVE-2026-32883] = "fixed-version: fixed since 3.11.0" | ||
diff --git a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.4.bb b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.6.bb index 34755fc3ad..c74b7a1f35 100644 --- a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.4.bb +++ b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.8.6.bb | |||
| @@ -24,7 +24,7 @@ DEPENDS:append:libc-musl = " argp-standalone" | |||
| 24 | LDFLAGS:append:libc-musl = " -largp" | 24 | LDFLAGS:append:libc-musl = " -largp" |
| 25 | 25 | ||
| 26 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" | 26 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz" |
| 27 | SRC_URI[sha256sum] = "443e46f8964c9acc780f455afbb8e23aa0e8ed7ec504cfc59e04f406fa1e8a83" | 27 | SRC_URI[sha256sum] = "8004265fd993885d08f7b633dbe056851de1a210307613a4ebddc743fccefe5a" |
| 28 | 28 | ||
| 29 | inherit autotools gettext pkgconfig | 29 | inherit autotools gettext pkgconfig |
| 30 | 30 | ||
diff --git a/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.0.bb b/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.2.bb index 7c9187ab94..4c42b77490 100644 --- a/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.0.bb +++ b/meta-oe/recipes-crypto/leancrypto/leancrypto_1.7.2.bb | |||
| @@ -14,11 +14,12 @@ SECTION = "libs" | |||
| 14 | SRC_URI = "git://github.com/smuellerDD/leancrypto.git;branch=master;protocol=https;tag=v${PV} \ | 14 | SRC_URI = "git://github.com/smuellerDD/leancrypto.git;branch=master;protocol=https;tag=v${PV} \ |
| 15 | file://leancrypto-tests.sh \ | 15 | file://leancrypto-tests.sh \ |
| 16 | " | 16 | " |
| 17 | # SRCREV tagged v1.7.0 | 17 | SRCREV = "8a3e942baa3388ec9597c35005264ef9aefbf97c" |
| 18 | SRCREV = "e60fba94e8cabf1661a1da488b78b84a4fba56e9" | ||
| 19 | 18 | ||
| 20 | inherit pkgconfig meson | 19 | inherit pkgconfig meson |
| 21 | 20 | ||
| 21 | CVE_STATUS[CVE-2026-34610] = "fixed-version: fixed since v1.7.1" | ||
| 22 | |||
| 22 | EXTRA_OEMESON = "-Dstrip=false" | 23 | EXTRA_OEMESON = "-Dstrip=false" |
| 23 | TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" | 24 | TARGET_LDFLAGS:append = " ${DEBUG_PREFIX_MAP}" |
| 24 | 25 | ||
diff --git a/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb b/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb index 7d27081964..532c9e29df 100644 --- a/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb +++ b/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb | |||
| @@ -9,6 +9,8 @@ SRC_URI = "git://github.com/smuellerDD/libkcapi.git;branch=master;protocol=https | |||
| 9 | 9 | ||
| 10 | inherit autotools | 10 | inherit autotools |
| 11 | 11 | ||
| 12 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 13 | |||
| 12 | PACKAGECONFIG ??= "" | 14 | PACKAGECONFIG ??= "" |
| 13 | PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,bash" | 15 | PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,bash" |
| 14 | PACKAGECONFIG[apps] = "--enable-kcapi-speed --enable-kcapi-hasher --enable-kcapi-rngapp --enable-kcapi-encapp --enable-kcapi-dgstapp,,," | 16 | PACKAGECONFIG[apps] = "--enable-kcapi-speed --enable-kcapi-hasher --enable-kcapi-rngapp --enable-kcapi-encapp --enable-kcapi-dgstapp,,," |
diff --git a/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb b/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb index c55a01d3b9..fca29eed05 100644 --- a/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb +++ b/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb | |||
| @@ -16,6 +16,8 @@ UPSTREAM_CHECK_REGEX = "Libmcrypt/(?P<pver>\d+(\.\d+)+)/" | |||
| 16 | 16 | ||
| 17 | inherit autotools-brokensep gettext binconfig multilib_script | 17 | inherit autotools-brokensep gettext binconfig multilib_script |
| 18 | 18 | ||
| 19 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 20 | |||
| 19 | CFLAGS += "-Wno-error=implicit-int" | 21 | CFLAGS += "-Wno-error=implicit-int" |
| 20 | 22 | ||
| 21 | do_configure() { | 23 | do_configure() { |
diff --git a/meta-oe/recipes-crypto/libsodium/libsodium/0001-Fix-compilation-with-GCC-on-aarch64.patch b/meta-oe/recipes-crypto/libsodium/libsodium/0001-Fix-compilation-with-GCC-on-aarch64.patch deleted file mode 100644 index c5c0d12b87..0000000000 --- a/meta-oe/recipes-crypto/libsodium/libsodium/0001-Fix-compilation-with-GCC-on-aarch64.patch +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | From fc66d1bd0d3db6392424a1fd10dcf4343ce72c52 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Frank Denis <github@pureftpd.org> | ||
| 3 | Date: Wed, 7 Jan 2026 12:00:49 +0100 | ||
| 4 | Subject: [PATCH] Fix compilation with GCC on aarch64 | ||
| 5 | |||
| 6 | Use unsigned NEON intrinsics everywhere | ||
| 7 | |||
| 8 | Fixes #1502 | ||
| 9 | |||
| 10 | Upstream-Status: Backport [https://github.com/jedisct1/libsodium/commit/6702f69bef6044163acc7715e6ac7e430890ce78] | ||
| 11 | --- | ||
| 12 | src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c | 14 +++++++------- | ||
| 13 | 1 file changed, 7 insertions(+), 7 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c b/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c | ||
| 16 | index c5a27e92..bad4ce38 100644 | ||
| 17 | --- a/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c | ||
| 18 | +++ b/src/libsodium/crypto_ipcrypt/ipcrypt_armcrypto.c | ||
| 19 | @@ -37,7 +37,7 @@ typedef uint64x2_t BlockVec; | ||
| 20 | # define XOR128_3(a, b, c) veorq_u64(veorq_u64((a), (b)), (c)) | ||
| 21 | # define SET64x2(a, b) vsetq_lane_u64((uint64_t) (a), vmovq_n_u64((uint64_t) (b)), 1) | ||
| 22 | # define BYTESHL128(a, b) \ | ||
| 23 | - vreinterpretq_u64_u8(vextq_s8(vdupq_n_s8(0), vreinterpretq_s8_u64(a), 16 - (b))) | ||
| 24 | + vreinterpretq_u64_u8(vextq_u8(vdupq_n_u8(0), vreinterpretq_u8_u64(a), 16 - (b))) | ||
| 25 | |||
| 26 | # define AES_XENCRYPT(block_vec, rkey) \ | ||
| 27 | vreinterpretq_u64_u8( \ | ||
| 28 | @@ -348,12 +348,12 @@ pfx_set_bit(uint8_t ip16[16], const unsigned int bit_index, const uint8_t bit_va | ||
| 29 | static void | ||
| 30 | pfx_shift_left(uint8_t ip16[16]) | ||
| 31 | { | ||
| 32 | - BlockVec v = LOAD128(ip16); | ||
| 33 | - const BlockVec shl = vshlq_n_u8(vreinterpretq_u8_u64(v), 1); | ||
| 34 | - const BlockVec msb = vshrq_n_u8(vreinterpretq_u8_u64(v), 7); | ||
| 35 | - const BlockVec zero = vdupq_n_u8(0); | ||
| 36 | - const BlockVec carries = vextq_u8(vreinterpretq_u8_u64(msb), zero, 1); | ||
| 37 | - v = vreinterpretq_u64_u8(vorrq_u8(shl, carries)); | ||
| 38 | + BlockVec v = LOAD128(ip16); | ||
| 39 | + const uint8x16_t shl = vshlq_n_u8(vreinterpretq_u8_u64(v), 1); | ||
| 40 | + const uint8x16_t msb = vshrq_n_u8(vreinterpretq_u8_u64(v), 7); | ||
| 41 | + const uint8x16_t zero = vdupq_n_u8(0); | ||
| 42 | + const uint8x16_t carries = vextq_u8(msb, zero, 1); | ||
| 43 | + v = vreinterpretq_u64_u8(vorrq_u8(shl, carries)); | ||
| 44 | STORE128(ip16, v); | ||
| 45 | } | ||
| 46 | |||
| 47 | -- | ||
| 48 | 2.47.3 | ||
| 49 | |||
diff --git a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.21.bb b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.22.bb index a1647d2a30..fbd14a8181 100644 --- a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.21.bb +++ b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.22.bb | |||
| @@ -4,10 +4,8 @@ BUGTRACKER = "https://github.com/jedisct1/libsodium/issues" | |||
| 4 | LICENSE = "ISC" | 4 | LICENSE = "ISC" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4942a8ebbbc7f2212bd68a47df264a4f" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=4942a8ebbbc7f2212bd68a47df264a4f" |
| 6 | 6 | ||
| 7 | SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz \ | 7 | SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz" |
| 8 | file://0001-Fix-compilation-with-GCC-on-aarch64.patch \ | 8 | SRC_URI[sha256sum] = "adbdd8f16149e81ac6078a03aca6fc03b592b89ef7b5ed83841c086191be3349" |
| 9 | " | ||
| 10 | SRC_URI[sha256sum] = "9e4285c7a419e82dedb0be63a72eea357d6943bc3e28e6735bf600dd4883feaf" | ||
| 11 | 9 | ||
| 12 | 10 | ||
| 13 | inherit autotools | 11 | inherit autotools |
diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb index cc0e887ea5..b810911b98 100644 --- a/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb +++ b/meta-oe/recipes-dbs/rocksdb/rocksdb_10.10.1.bb | |||
| @@ -41,6 +41,7 @@ PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib" | |||
| 41 | PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" | 41 | PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd" |
| 42 | PACKAGECONFIG[liburing] = "-DWITH_LIBURING=ON,-DWITH_LIBURING=OFF,liburing" | 42 | PACKAGECONFIG[liburing] = "-DWITH_LIBURING=ON,-DWITH_LIBURING=OFF,liburing" |
| 43 | PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" | 43 | PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags" |
| 44 | PACKAGECONFIG[rocksdb_static] = "-DROCKSDB_BUILD_STATIC=ON, -DROCKSDB_BUILD_STATIC=OFF" | ||
| 44 | 45 | ||
| 45 | # Tools and tests currently don't compile on armv5 so we disable them | 46 | # Tools and tests currently don't compile on armv5 so we disable them |
| 46 | EXTRA_OECMAKE = "\ | 47 | EXTRA_OECMAKE = "\ |
| @@ -49,7 +50,6 @@ EXTRA_OECMAKE = "\ | |||
| 49 | -DWITH_BENCHMARK_TOOLS=OFF \ | 50 | -DWITH_BENCHMARK_TOOLS=OFF \ |
| 50 | -DWITH_TOOLS=OFF \ | 51 | -DWITH_TOOLS=OFF \ |
| 51 | -DFAIL_ON_WARNINGS=OFF \ | 52 | -DFAIL_ON_WARNINGS=OFF \ |
| 52 | -DROCKSDB_BUILD_STATIC=OFF \ | ||
| 53 | " | 53 | " |
| 54 | 54 | ||
| 55 | CXXFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}" | 55 | CXXFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}" |
diff --git a/meta-oe/recipes-devtools/b4/b4_0.15.1.bb b/meta-oe/recipes-devtools/b4/b4_0.15.2.bb index beb8dcbd27..002f6ccfeb 100644 --- a/meta-oe/recipes-devtools/b4/b4_0.15.1.bb +++ b/meta-oe/recipes-devtools/b4/b4_0.15.2.bb | |||
| @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | |||
| 5 | 5 | ||
| 6 | inherit pypi python_pep517 python_setuptools_build_meta | 6 | inherit pypi python_pep517 python_setuptools_build_meta |
| 7 | 7 | ||
| 8 | SRC_URI[sha256sum] = "e48c44bb579fadabb1fc3f15bf1874afd721bc1a63fba10c96f568bc1f47ccb3" | 8 | SRC_URI[sha256sum] = "b815f2aed2288718cfe2a14c76421a00bc4f0918ea32b45dd1645c999fdda69d" |
| 9 | 9 | ||
| 10 | RDEPENDS:${PN} += " \ | 10 | RDEPENDS:${PN} += " \ |
| 11 | python3-mailbox \ | 11 | python3-mailbox \ |
diff --git a/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb b/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb index 77f8905358..9cb2a51879 100644 --- a/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb +++ b/meta-oe/recipes-devtools/giflib/giflib_6.1.2.bb | |||
| @@ -26,3 +26,5 @@ FILES:${PN}-utils = "${bindir}" | |||
| 26 | BBCLASSEXTEND = "native" | 26 | BBCLASSEXTEND = "native" |
| 27 | 27 | ||
| 28 | RDEPENDS:${PN}-utils = "perl" | 28 | RDEPENDS:${PN}-utils = "perl" |
| 29 | |||
| 30 | CVE_STATUS[CVE-2026-23868] = "fixed-version: fixed since v6.1.2" | ||
diff --git a/meta-oe/recipes-devtools/jq/jq/0001-Support-building-with-disable-maintainer-mode-and-so.patch b/meta-oe/recipes-devtools/jq/jq/0001-Support-building-with-disable-maintainer-mode-and-so.patch new file mode 100644 index 0000000000..12a64a75ed --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/0001-Support-building-with-disable-maintainer-mode-and-so.patch | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | From 27f417f4812e688a59fc5186b7768cec004cd6e5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Peter Kjellerstedt <peter.kjellerstedt@gmail.com> | ||
| 3 | Date: Wed, 8 Apr 2026 05:58:49 +0200 | ||
| 4 | Subject: [PATCH] Support building with --disable-maintainer-mode and source != | ||
| 5 | build dir (#3518) | ||
| 6 | |||
| 7 | If --disable-maintainer-mode is enabled, then the rules for generating | ||
| 8 | parser.[ch] and lexer.[ch] did nothing. This worked fine if the source | ||
| 9 | and build directories are the same as the pre-generated parser.c and | ||
| 10 | lexer.c files would suffice. However, if the build directory is not the | ||
| 11 | same as the source directory, then the rest of the Make rules expect | ||
| 12 | parser.[ch] and lexer.[ch] to have been created in the build directory | ||
| 13 | if their source files (parser.y and lexer.l) are newer than the target | ||
| 14 | files, which can happen in case the source is fetched using Git. | ||
| 15 | |||
| 16 | Avoid the problem by copying the files to the build directory if needed. | ||
| 17 | |||
| 18 | Co-authored-by: Peter Kjellerstedt <pkj@axis.com> | ||
| 19 | Upstream-Status: Backport [https://github.com/jqlang/jq/commit/27f417f4812e688a59fc5186b7768cec004cd6e5] | ||
| 20 | --- | ||
| 21 | Makefile.am | 9 +++++++-- | ||
| 22 | 1 file changed, 7 insertions(+), 2 deletions(-) | ||
| 23 | |||
| 24 | diff --git a/Makefile.am b/Makefile.am | ||
| 25 | index 96d6038..acb9443 100644 | ||
| 26 | --- a/Makefile.am | ||
| 27 | +++ b/Makefile.am | ||
| 28 | @@ -41,9 +41,14 @@ src/lexer.h: src/lexer.c | ||
| 29 | else | ||
| 30 | BUILT_SOURCES = src/builtin.inc src/config_opts.inc src/version.h | ||
| 31 | .y.c: | ||
| 32 | - $(AM_V_YACC) echo "NOT building parser.c!" | ||
| 33 | + $(AM_V_YACC) [ "$(<D)" = "$(@D)" ] || cp $(<D)/$(@F) $@ | ||
| 34 | + $(AM_V_YACC) [ "$(<D)" = "$(@D)" ] || cp $(<D)/$(*F).h $*.h | ||
| 35 | + $(AM_V_YACC) touch $@ $*.h | ||
| 36 | + | ||
| 37 | .l.c: | ||
| 38 | - $(AM_V_LEX) echo "NOT building lexer.c!" | ||
| 39 | + $(AM_V_LEX) [ "$(<D)" = "$(@D)" ] || cp $(<D)/$(@F) $@ | ||
| 40 | + $(AM_V_LEX) [ "$(<D)" = "$(@D)" ] || cp $(<D)/$(*F).h $*.h | ||
| 41 | + $(AM_V_LEX) touch $@ $*.h | ||
| 42 | endif | ||
| 43 | |||
| 44 | # Tell YACC (Bison) autoconf macros that you want a header file created. | ||
diff --git a/meta-oe/recipes-devtools/jq/jq/CVE-2026-32316.patch b/meta-oe/recipes-devtools/jq/jq/CVE-2026-32316.patch new file mode 100644 index 0000000000..1277b356d8 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-32316.patch | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | From 321e62b356df2d4ed47aba4f3818e447ec4d77fc Mon Sep 17 00:00:00 2001 | ||
| 2 | From: itchyny <itchyny@cybozu.co.jp> | ||
| 3 | Date: Thu, 12 Mar 2026 20:28:43 +0900 | ||
| 4 | Subject: [PATCH] Fix heap buffer overflow in `jvp_string_append` and | ||
| 5 | `jvp_string_copy_replace_bad` | ||
| 6 | |||
| 7 | In `jvp_string_append`, the allocation size `(currlen + len) * 2` could | ||
| 8 | overflow `uint32_t` when `currlen + len` exceeds `INT_MAX`, causing a small | ||
| 9 | allocation followed by a large `memcpy`. | ||
| 10 | |||
| 11 | In `jvp_string_copy_replace_bad`, the output buffer size calculation | ||
| 12 | `length * 3 + 1` could overflow `uint32_t`, again resulting in a small | ||
| 13 | allocation followed by a large write. | ||
| 14 | |||
| 15 | Add overflow checks to both functions to return an error for strings | ||
| 16 | that would exceed `INT_MAX` in length. Fixes CVE-2026-32316. | ||
| 17 | |||
| 18 | CVE: CVE-2026-32316 | ||
| 19 | Upstream-Status: Backport [https://github.com/jqlang/jq/commit/e47e56d226519635768e6aab2f38f0ab037c09e5] | ||
| 20 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 21 | --- | ||
| 22 | src/jv.c | 11 ++++++++++- | ||
| 23 | 1 file changed, 10 insertions(+), 1 deletion(-) | ||
| 24 | |||
| 25 | diff --git a/src/jv.c b/src/jv.c | ||
| 26 | index e4529a4..74be05a 100644 | ||
| 27 | --- a/src/jv.c | ||
| 28 | +++ b/src/jv.c | ||
| 29 | @@ -1114,7 +1114,12 @@ static jv jvp_string_copy_replace_bad(const char* data, uint32_t length) { | ||
| 30 | const char* end = data + length; | ||
| 31 | const char* i = data; | ||
| 32 | |||
| 33 | - uint32_t maxlength = length * 3 + 1; // worst case: all bad bytes, each becomes a 3-byte U+FFFD | ||
| 34 | + // worst case: all bad bytes, each becomes a 3-byte U+FFFD | ||
| 35 | + uint64_t maxlength = (uint64_t)length * 3 + 1; | ||
| 36 | + if (maxlength >= INT_MAX) { | ||
| 37 | + return jv_invalid_with_msg(jv_string("String too long")); | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | jvp_string* s = jvp_string_alloc(maxlength); | ||
| 41 | char* out = s->data; | ||
| 42 | int c = 0; | ||
| 43 | @@ -1174,6 +1179,10 @@ static uint32_t jvp_string_remaining_space(jvp_string* s) { | ||
| 44 | static jv jvp_string_append(jv string, const char* data, uint32_t len) { | ||
| 45 | jvp_string* s = jvp_string_ptr(string); | ||
| 46 | uint32_t currlen = jvp_string_length(s); | ||
| 47 | + if ((uint64_t)currlen + len >= INT_MAX) { | ||
| 48 | + jv_free(string); | ||
| 49 | + return jv_invalid_with_msg(jv_string("String too long")); | ||
| 50 | + } | ||
| 51 | |||
| 52 | if (jvp_refcnt_unshared(string.u.ptr) && | ||
| 53 | jvp_string_remaining_space(s) >= len) { | ||
diff --git a/meta-oe/recipes-devtools/jq/jq/CVE-2026-33947.patch b/meta-oe/recipes-devtools/jq/jq/CVE-2026-33947.patch new file mode 100644 index 0000000000..69a8381f06 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-33947.patch | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | From 5fd935884a6f5b3d8ecdcacfc5d3982140f3a478 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: itchyny <itchyny@cybozu.co.jp> | ||
| 3 | Date: Mon, 13 Apr 2026 11:23:40 +0900 | ||
| 4 | Subject: [PATCH] Limit path depth to prevent stack overflow | ||
| 5 | |||
| 6 | Deeply nested path arrays can cause unbounded recursion in | ||
| 7 | `jv_setpath`, `jv_getpath`, and `jv_delpaths`, leading to | ||
| 8 | stack overflow. Add a depth limit of 10000 to match the | ||
| 9 | existing `tojson` depth limit. This fixes CVE-2026-33947. | ||
| 10 | |||
| 11 | CVE: CVE-2026-33947 | ||
| 12 | Upstream-Status: Backport [https://github.com/jqlang/jq/commit/fb59f1491058d58bdc3e8dd28f1773d1ac690a1f] | ||
| 13 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 14 | --- | ||
| 15 | src/jv_aux.c | 21 +++++++++++++++++++++ | ||
| 16 | tests/jq.test | 25 +++++++++++++++++++++++++ | ||
| 17 | 2 files changed, 46 insertions(+) | ||
| 18 | |||
| 19 | diff --git a/src/jv_aux.c b/src/jv_aux.c | ||
| 20 | index bc1405f..594a21f 100644 | ||
| 21 | --- a/src/jv_aux.c | ||
| 22 | +++ b/src/jv_aux.c | ||
| 23 | @@ -375,6 +375,10 @@ static jv jv_dels(jv t, jv keys) { | ||
| 24 | return t; | ||
| 25 | } | ||
| 26 | |||
| 27 | +#ifndef MAX_PATH_DEPTH | ||
| 28 | +#define MAX_PATH_DEPTH (10000) | ||
| 29 | +#endif | ||
| 30 | + | ||
| 31 | jv jv_setpath(jv root, jv path, jv value) { | ||
| 32 | if (jv_get_kind(path) != JV_KIND_ARRAY) { | ||
| 33 | jv_free(value); | ||
| 34 | @@ -382,6 +386,12 @@ jv jv_setpath(jv root, jv path, jv value) { | ||
| 35 | jv_free(path); | ||
| 36 | return jv_invalid_with_msg(jv_string("Path must be specified as an array")); | ||
| 37 | } | ||
| 38 | + if (jv_array_length(jv_copy(path)) > MAX_PATH_DEPTH) { | ||
| 39 | + jv_free(value); | ||
| 40 | + jv_free(root); | ||
| 41 | + jv_free(path); | ||
| 42 | + return jv_invalid_with_msg(jv_string("Path too deep")); | ||
| 43 | + } | ||
| 44 | if (!jv_is_valid(root)){ | ||
| 45 | jv_free(value); | ||
| 46 | jv_free(path); | ||
| 47 | @@ -434,6 +444,11 @@ jv jv_getpath(jv root, jv path) { | ||
| 48 | jv_free(path); | ||
| 49 | return jv_invalid_with_msg(jv_string("Path must be specified as an array")); | ||
| 50 | } | ||
| 51 | + if (jv_array_length(jv_copy(path)) > MAX_PATH_DEPTH) { | ||
| 52 | + jv_free(root); | ||
| 53 | + jv_free(path); | ||
| 54 | + return jv_invalid_with_msg(jv_string("Path too deep")); | ||
| 55 | + } | ||
| 56 | if (!jv_is_valid(root)) { | ||
| 57 | jv_free(path); | ||
| 58 | return root; | ||
| 59 | @@ -511,6 +526,12 @@ jv jv_delpaths(jv object, jv paths) { | ||
| 60 | jv_free(elem); | ||
| 61 | return err; | ||
| 62 | } | ||
| 63 | + if (jv_array_length(jv_copy(elem)) > MAX_PATH_DEPTH) { | ||
| 64 | + jv_free(object); | ||
| 65 | + jv_free(paths); | ||
| 66 | + jv_free(elem); | ||
| 67 | + return jv_invalid_with_msg(jv_string("Path too deep")); | ||
| 68 | + } | ||
| 69 | jv_free(elem); | ||
| 70 | } | ||
| 71 | if (jv_array_length(jv_copy(paths)) == 0) { | ||
| 72 | diff --git a/tests/jq.test b/tests/jq.test | ||
| 73 | index 4ecf72f..6186d8b 100644 | ||
| 74 | --- a/tests/jq.test | ||
| 75 | +++ b/tests/jq.test | ||
| 76 | @@ -2507,3 +2507,28 @@ strflocaltime("" | ., @uri) | ||
| 77 | 0 | ||
| 78 | "" | ||
| 79 | "" | ||
| 80 | + | ||
| 81 | +# regression test for CVE-2026-33947 | ||
| 82 | +setpath([range(10000) | 0]; 0) | flatten | ||
| 83 | +null | ||
| 84 | +[0] | ||
| 85 | + | ||
| 86 | +try setpath([range(10001) | 0]; 0) catch . | ||
| 87 | +null | ||
| 88 | +"Path too deep" | ||
| 89 | + | ||
| 90 | +getpath([range(10000) | 0]) | ||
| 91 | +null | ||
| 92 | +null | ||
| 93 | + | ||
| 94 | +try getpath([range(10001) | 0]) catch . | ||
| 95 | +null | ||
| 96 | +"Path too deep" | ||
| 97 | + | ||
| 98 | +delpaths([[range(10000) | 0]]) | ||
| 99 | +null | ||
| 100 | +null | ||
| 101 | + | ||
| 102 | +try delpaths([[range(10001) | 0]]) catch . | ||
| 103 | +null | ||
| 104 | +"Path too deep" | ||
diff --git a/meta-oe/recipes-devtools/jq/jq/CVE-2026-33948.patch b/meta-oe/recipes-devtools/jq/jq/CVE-2026-33948.patch new file mode 100644 index 0000000000..8625429c74 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-33948.patch | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | From 19a792c4cdb6b91c056eac033ac3367af6e67755 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: itchyny <itchyny@cybozu.co.jp> | ||
| 3 | Date: Mon, 13 Apr 2026 08:46:11 +0900 | ||
| 4 | Subject: [PATCH] Fix NUL truncation in the JSON parser | ||
| 5 | |||
| 6 | This fixes CVE-2026-33948. | ||
| 7 | |||
| 8 | CVE: CVE-2026-33948 | ||
| 9 | Upstream-Status: Backport [https://github.com/jqlang/jq/commit/6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b] | ||
| 10 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 11 | --- | ||
| 12 | src/util.c | 8 +------- | ||
| 13 | tests/shtest | 6 ++++++ | ||
| 14 | 2 files changed, 7 insertions(+), 7 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/src/util.c b/src/util.c | ||
| 17 | index bcb86da..60ec4d5 100644 | ||
| 18 | --- a/src/util.c | ||
| 19 | +++ b/src/util.c | ||
| 20 | @@ -309,13 +309,7 @@ static int jq_util_input_read_more(jq_util_input_state *state) { | ||
| 21 | if (p != NULL) | ||
| 22 | state->current_line++; | ||
| 23 | |||
| 24 | - if (p == NULL && state->parser != NULL) { | ||
| 25 | - /* | ||
| 26 | - * There should be no NULs in JSON texts (but JSON text | ||
| 27 | - * sequences are another story). | ||
| 28 | - */ | ||
| 29 | - state->buf_valid_len = strlen(state->buf); | ||
| 30 | - } else if (p == NULL && feof(state->current_input)) { | ||
| 31 | + if (p == NULL && feof(state->current_input)) { | ||
| 32 | size_t i; | ||
| 33 | |||
| 34 | /* | ||
| 35 | diff --git a/tests/shtest b/tests/shtest | ||
| 36 | index 887a6bb..a046afe 100755 | ||
| 37 | --- a/tests/shtest | ||
| 38 | +++ b/tests/shtest | ||
| 39 | @@ -842,4 +842,10 @@ if ! $msys && ! $mingw; then | ||
| 40 | fi | ||
| 41 | fi | ||
| 42 | |||
| 43 | +# CVE-2026-33948: No NUL truncation in the JSON parser | ||
| 44 | +if printf '{}\x00{}' | $JQ >/dev/null 2> /dev/null; then | ||
| 45 | + printf 'Error expected but jq exited successfully\n' 1>&2 | ||
| 46 | + exit 1 | ||
| 47 | +fi | ||
| 48 | + | ||
| 49 | exit 0 | ||
diff --git a/meta-oe/recipes-devtools/jq/jq/CVE-2026-39979.patch b/meta-oe/recipes-devtools/jq/jq/CVE-2026-39979.patch new file mode 100644 index 0000000000..40c57a46a0 --- /dev/null +++ b/meta-oe/recipes-devtools/jq/jq/CVE-2026-39979.patch | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | From ac09f274b6c029a23e3dffc38afac819b5daacc4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: itchyny <itchyny@cybozu.co.jp> | ||
| 3 | Date: Mon, 13 Apr 2026 11:04:52 +0900 | ||
| 4 | Subject: [PATCH] Fix out-of-bounds read in jv_parse_sized() | ||
| 5 | |||
| 6 | This fixes CVE-2026-39979. | ||
| 7 | |||
| 8 | Co-authored-by: Mattias Wadman <mattias.wadman@gmail.com> | ||
| 9 | |||
| 10 | CVE: CVE-2026-39979 | ||
| 11 | Upstream-Status: Backport [https://github.com/jqlang/jq/commit/2f09060afab23fe9390cce7cb860b10416e1bf5f] | ||
| 12 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 13 | --- | ||
| 14 | src/jv_parse.c | 3 ++- | ||
| 15 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 16 | |||
| 17 | diff --git a/src/jv_parse.c b/src/jv_parse.c | ||
| 18 | index ffcf51f..e6b8aa9 100644 | ||
| 19 | --- a/src/jv_parse.c | ||
| 20 | +++ b/src/jv_parse.c | ||
| 21 | @@ -892,8 +892,9 @@ jv jv_parse_sized_custom_flags(const char* string, int length, int flags) { | ||
| 22 | |||
| 23 | if (!jv_is_valid(value) && jv_invalid_has_msg(jv_copy(value))) { | ||
| 24 | jv msg = jv_invalid_get_msg(value); | ||
| 25 | - value = jv_invalid_with_msg(jv_string_fmt("%s (while parsing '%s')", | ||
| 26 | + value = jv_invalid_with_msg(jv_string_fmt("%s (while parsing '%.*s')", | ||
| 27 | jv_string_value(msg), | ||
| 28 | + length, | ||
| 29 | string)); | ||
| 30 | jv_free(msg); | ||
| 31 | } | ||
diff --git a/meta-oe/recipes-devtools/jq/jq_1.8.1.bb b/meta-oe/recipes-devtools/jq/jq_1.8.1.bb index b9383c76f7..026f6bfa71 100644 --- a/meta-oe/recipes-devtools/jq/jq_1.8.1.bb +++ b/meta-oe/recipes-devtools/jq/jq_1.8.1.bb | |||
| @@ -8,15 +8,20 @@ SECTION = "utils" | |||
| 8 | LICENSE = "MIT & BSD-2-Clause" | 8 | LICENSE = "MIT & BSD-2-Clause" |
| 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=cf7fcb0a1def4a7ad62c028f7d0dca47" | 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=cf7fcb0a1def4a7ad62c028f7d0dca47" |
| 10 | 10 | ||
| 11 | GITHUB_BASE_URI = "https://github.com/jqlang/${BPN}/releases/" | 11 | SRCREV = "4467af7068b1bcd7f882defff6e7ea674c5357f4" |
| 12 | SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \ | ||
| 13 | file://run-ptest \ | ||
| 14 | " | ||
| 15 | SRC_URI[sha256sum] = "2be64e7129cecb11d5906290eba10af694fb9e3e7f9fc208a311dc33ca837eb0" | ||
| 16 | 12 | ||
| 17 | inherit autotools github-releases ptest | 13 | SRC_URI = "git://github.com/jqlang/jq.git;protocol=https;branch=master;tag=jq-${PV} \ |
| 14 | file://run-ptest \ | ||
| 15 | file://0001-Support-building-with-disable-maintainer-mode-and-so.patch \ | ||
| 16 | file://CVE-2026-32316.patch \ | ||
| 17 | file://CVE-2026-33947.patch \ | ||
| 18 | file://CVE-2026-33948.patch \ | ||
| 19 | file://CVE-2026-39979.patch \ | ||
| 20 | " | ||
| 18 | 21 | ||
| 19 | UPSTREAM_CHECK_REGEX = "releases/tag/${BPN}-(?P<pver>\d+(\.\d+)+)" | 22 | inherit autotools ptest |
| 23 | |||
| 24 | UPSTREAM_CHECK_GITTAGREGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)" | ||
| 20 | 25 | ||
| 21 | PACKAGECONFIG ?= "oniguruma" | 26 | PACKAGECONFIG ?= "oniguruma" |
| 22 | 27 | ||
diff --git a/meta-oe/recipes-devtools/jsoncpp/files/run-ptest b/meta-oe/recipes-devtools/jsoncpp/files/run-ptest new file mode 100644 index 0000000000..2cb892b187 --- /dev/null +++ b/meta-oe/recipes-devtools/jsoncpp/files/run-ptest | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | cd src | ||
| 4 | ctest --force-new-ctest-process | sed -u 's/\*\*\*/ /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}' | ||
diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.7.bb b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.7.bb index b70a84304f..797f093f33 100644 --- a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.7.bb +++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.7.bb | |||
| @@ -14,11 +14,33 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926" | |||
| 14 | PE = "1" | 14 | PE = "1" |
| 15 | 15 | ||
| 16 | SRCREV = "3455302847cf1e4671f1d8f5fa953fd46a7b1404" | 16 | SRCREV = "3455302847cf1e4671f1d8f5fa953fd46a7b1404" |
| 17 | SRC_URI = "git://github.com/open-source-parsers/jsoncpp;branch=master;protocol=https;tag=${PV}" | 17 | SRC_URI = "git://github.com/open-source-parsers/jsoncpp;branch=master;protocol=https;tag=${PV} \ |
| 18 | 18 | file://run-ptest \ | |
| 19 | 19 | " | |
| 20 | inherit cmake | 20 | |
| 21 | 21 | inherit cmake ptest | |
| 22 | EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF -DJSONCPP_WITH_TESTS=OFF" | 22 | |
| 23 | EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF \ | ||
| 24 | ${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSONCPP_WITH_TESTS=ON -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF', '-DJSONCPP_WITH_TESTS=OFF', d)} \ | ||
| 25 | " | ||
| 26 | |||
| 27 | DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)}" | ||
| 28 | RDEPENDS:${PN}-ptest += "cmake python3-core" | ||
| 29 | |||
| 30 | do_install_ptest () { | ||
| 31 | cp -r ${B}/bin ${D}${PTEST_PATH} | ||
| 32 | cp -r ${S}/test ${D}${PTEST_PATH} | ||
| 33 | |||
| 34 | rsync -a ${B}/src ${D}${PTEST_PATH} \ | ||
| 35 | --exclude CMakeFiles \ | ||
| 36 | --exclude cmake_install.cmake \ | ||
| 37 | --exclude Makefile \ | ||
| 38 | --exclude generated | ||
| 39 | sed -i -e 's#${B}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` | ||
| 40 | sed -i -e 's#${S}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` | ||
| 41 | sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` | ||
| 42 | sed -i -e 's#${PYTHON}#/usr/bin/python3#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` | ||
| 43 | sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake` | ||
| 44 | } | ||
| 23 | 45 | ||
| 24 | BBCLASSEXTEND = "native nativesdk" | 46 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch b/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch new file mode 100644 index 0000000000..5bff81eaf6 --- /dev/null +++ b/meta-oe/recipes-devtools/libtoml11/files/0001-Remove-more-whitespaces-after-operator.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From 6af7de3d5eaae59c53c42aab8eca1e1e9a365da5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Steffen Winter <steffen.winter@proton.me> | ||
| 3 | Date: Thu, 25 Dec 2025 20:48:02 +0100 | ||
| 4 | Subject: [PATCH] Remove more whitespaces after operator"" | ||
| 5 | |||
| 6 | Upstream-Status: Submitted [https://github.com/ToruNiina/toml11/pull/306] | ||
| 7 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 8 | --- | ||
| 9 | include/toml11/fwd/literal_fwd.hpp | 4 ++-- | ||
| 10 | include/toml11/impl/literal_impl.hpp | 4 ++-- | ||
| 11 | 2 files changed, 4 insertions(+), 4 deletions(-) | ||
| 12 | |||
| 13 | --- a/include/toml11/fwd/literal_fwd.hpp | ||
| 14 | +++ b/include/toml11/fwd/literal_fwd.hpp | ||
| 15 | @@ -24,7 +24,7 @@ inline namespace toml_literals | ||
| 16 | #if defined(TOML11_HAS_CHAR8_T) | ||
| 17 | // value of u8"" literal has been changed from char to char8_t and char8_t is | ||
| 18 | // NOT compatible to char | ||
| 19 | -::toml::value operator"" _toml(const char8_t* str, std::size_t len); | ||
| 20 | +::toml::value operator""_toml(const char8_t* str, std::size_t len); | ||
| 21 | #endif | ||
| 22 | |||
| 23 | } // toml_literals | ||
| 24 | --- a/include/toml11/impl/literal_impl.hpp | ||
| 25 | +++ b/include/toml11/impl/literal_impl.hpp | ||
| 26 | @@ -146,7 +146,7 @@ operator""_toml(const char* str, std::si | ||
| 27 | // value of u8"" literal has been changed from char to char8_t and char8_t is | ||
| 28 | // NOT compatible to char | ||
| 29 | TOML11_INLINE ::toml::value | ||
| 30 | -operator"" _toml(const char8_t* str, std::size_t len) | ||
| 31 | +operator""_toml(const char8_t* str, std::size_t len) | ||
| 32 | { | ||
| 33 | if(len == 0) | ||
| 34 | { | ||
diff --git a/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb b/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb index 7e097e4612..49f9840f06 100644 --- a/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb +++ b/meta-oe/recipes-devtools/libtoml11/libtoml11_4.4.0.bb | |||
| @@ -16,12 +16,15 @@ PE = "1" | |||
| 16 | SRC_URI = "\ | 16 | SRC_URI = "\ |
| 17 | gitsm://github.com/ToruNiina/toml11.git;protocol=https;branch=main;tag=v${PV} \ | 17 | gitsm://github.com/ToruNiina/toml11.git;protocol=https;branch=main;tag=v${PV} \ |
| 18 | file://0001-Remove-whitespace-in-operator.patch \ | 18 | file://0001-Remove-whitespace-in-operator.patch \ |
| 19 | file://0001-Remove-more-whitespaces-after-operator.patch \ | ||
| 19 | file://run-ptest \ | 20 | file://run-ptest \ |
| 20 | " | 21 | " |
| 21 | SRCREV = "be08ba2be2a964edcdb3d3e3ea8d100abc26f286" | 22 | SRCREV = "be08ba2be2a964edcdb3d3e3ea8d100abc26f286" |
| 22 | 23 | ||
| 23 | inherit cmake ptest | 24 | inherit cmake ptest |
| 24 | 25 | ||
| 26 | CXXFLAGS:append:toolchain-clang = " -Wno-error=c2y-extensions" | ||
| 27 | |||
| 25 | EXTRA_OECMAKE += "-DTOML11_PRECOMPILE=ON \ | 28 | EXTRA_OECMAKE += "-DTOML11_PRECOMPILE=ON \ |
| 26 | -DTOML11_BUILD_TESTS=${@bb.utils.contains("PTEST_ENABLED", "1", "ON", "OFF", d)} \ | 29 | -DTOML11_BUILD_TESTS=${@bb.utils.contains("PTEST_ENABLED", "1", "ON", "OFF", d)} \ |
| 27 | " | 30 | " |
diff --git a/meta-oe/recipes-devtools/lshw/lshw_02.20.bb b/meta-oe/recipes-devtools/lshw/lshw_02.20.bb index 95e2084255..2f1367341a 100644 --- a/meta-oe/recipes-devtools/lshw/lshw_02.20.bb +++ b/meta-oe/recipes-devtools/lshw/lshw_02.20.bb | |||
| @@ -32,11 +32,11 @@ EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS} RPM_OPT_FLAGS='${CFLAGS}'" | |||
| 32 | 32 | ||
| 33 | do_compile() { | 33 | do_compile() { |
| 34 | # build core only - don't ship gui | 34 | # build core only - don't ship gui |
| 35 | oe_runmake -C src core | 35 | oe_runmake -C src SBINDIR=${sbindir} core |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | do_install() { | 38 | do_install() { |
| 39 | oe_runmake install DESTDIR=${D} | 39 | oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} |
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | BBCLASSEXTEND = "native" | 42 | BBCLASSEXTEND = "native" |
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-type-of-single-bit-bitfields.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-type-of-single-bit-bitfields.patch deleted file mode 100644 index 61932269bd..0000000000 --- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-type-of-single-bit-bitfields.patch +++ /dev/null | |||
| @@ -1,86 +0,0 @@ | |||
| 1 | From 491b3b153f6b5cbf2d23a9778e5676eb29a6705f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 6 Feb 2023 16:37:19 -0800 | ||
| 4 | Subject: [PATCH] Fix type of single bit bitfields | ||
| 5 | |||
| 6 | clang16 warns | ||
| 7 | trace.c:311:22: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion] | ||
| 8 | |||
| 9 | quash the warning by using an unsigned type to allow | ||
| 10 | an assignment of 0 or 1 without implicit conversion. | ||
| 11 | |||
| 12 | Upstream-Status: Pending | ||
| 13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 14 | --- | ||
| 15 | library.h | 6 +++--- | ||
| 16 | prototype.h | 2 +- | ||
| 17 | sysdeps/linux-gnu/trace.h | 10 +++++----- | ||
| 18 | 3 files changed, 9 insertions(+), 9 deletions(-) | ||
| 19 | |||
| 20 | --- a/library.h | ||
| 21 | +++ b/library.h | ||
| 22 | @@ -71,20 +71,20 @@ struct library_symbol { | ||
| 23 | * looking up one in LIB->protolib. */ | ||
| 24 | struct prototype *proto; | ||
| 25 | |||
| 26 | - int own_name : 1; | ||
| 27 | + unsigned int own_name : 1; | ||
| 28 | |||
| 29 | /* This is relevant for PLT symbols. Latent PLT symbols are | ||
| 30 | * those that don't match any of the -e rules, but that might | ||
| 31 | * potentially become active if a library implementing them | ||
| 32 | * appears that matches a -l rule. Ltrace core is responsible | ||
| 33 | * for clearing latent flag. */ | ||
| 34 | - int latent : 1; | ||
| 35 | + unsigned latent : 1; | ||
| 36 | |||
| 37 | /* Delayed symbols are those for which a breakpoint shouldn't | ||
| 38 | * be enabled yet. They are similar to latent symbols, but | ||
| 39 | * backend is responsible for clearing the delayed flag. See | ||
| 40 | * proc_activate_delayed_symbol. */ | ||
| 41 | - int delayed : 1; | ||
| 42 | + unsigned int delayed : 1; | ||
| 43 | |||
| 44 | struct arch_library_symbol_data arch; | ||
| 45 | struct os_library_symbol_data os; | ||
| 46 | --- a/prototype.h | ||
| 47 | +++ b/prototype.h | ||
| 48 | @@ -162,7 +162,7 @@ struct protolib_cache { | ||
| 49 | |||
| 50 | /* For tracking uses of cache during cache's own | ||
| 51 | * initialization. */ | ||
| 52 | - int bootstrap : 1; | ||
| 53 | + unsigned int bootstrap : 1; | ||
| 54 | }; | ||
| 55 | |||
| 56 | /* Initialize CACHE. Returns 0 on success or a negative value on | ||
| 57 | --- a/sysdeps/linux-gnu/trace.h | ||
| 58 | +++ b/sysdeps/linux-gnu/trace.h | ||
| 59 | @@ -33,11 +33,11 @@ | ||
| 60 | struct pid_task { | ||
| 61 | pid_t pid; /* This may be 0 for tasks that exited | ||
| 62 | * mid-handling. */ | ||
| 63 | - int sigstopped : 1; | ||
| 64 | - int got_event : 1; | ||
| 65 | - int delivered : 1; | ||
| 66 | - int vforked : 1; | ||
| 67 | - int sysret : 1; | ||
| 68 | + unsigned int sigstopped : 1; | ||
| 69 | + unsigned int got_event : 1; | ||
| 70 | + unsigned int delivered : 1; | ||
| 71 | + unsigned int vforked : 1; | ||
| 72 | + unsigned int sysret : 1; | ||
| 73 | }; | ||
| 74 | |||
| 75 | struct pid_set { | ||
| 76 | --- a/sysdeps/linux-gnu/trace.c | ||
| 77 | +++ b/sysdeps/linux-gnu/trace.c | ||
| 78 | @@ -1043,7 +1043,7 @@ ltrace_exiting_install_handler(struct pr | ||
| 79 | struct process_vfork_handler | ||
| 80 | { | ||
| 81 | struct event_handler super; | ||
| 82 | - int vfork_bp_refd:1; | ||
| 83 | + unsigned int vfork_bp_refd:1; | ||
| 84 | }; | ||
| 85 | |||
| 86 | static Event * | ||
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch deleted file mode 100644 index f3a6d9e599..0000000000 --- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | From c1d3aaf5ec810c2594938438c7b4ccd20943f255 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 7 Jul 2017 10:20:52 -0700 | ||
| 4 | Subject: [PATCH] configure: Recognise linux-musl as a host OS | ||
| 5 | |||
| 6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 7 | --- | ||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | configure.ac | 1 + | ||
| 11 | 1 file changed, 1 insertion(+) | ||
| 12 | |||
| 13 | diff --git a/configure.ac b/configure.ac | ||
| 14 | index 3e8667f..95d6642 100644 | ||
| 15 | --- a/configure.ac | ||
| 16 | +++ b/configure.ac | ||
| 17 | @@ -35,6 +35,7 @@ AC_CANONICAL_HOST | ||
| 18 | case "${host_os}" in | ||
| 19 | linux-gnu*) HOST_OS="linux-gnu" ;; | ||
| 20 | linux-uclibc*) HOST_OS="linux-gnu" ;; | ||
| 21 | + linux-musl*) HOST_OS="linux-gnu" ;; | ||
| 22 | *) AC_MSG_ERROR([unkown host-os ${host_os}]) ;; | ||
| 23 | esac | ||
| 24 | AC_SUBST(HOST_OS) | ||
| 25 | -- | ||
| 26 | 2.13.2 | ||
| 27 | |||
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-dwarf_prototypes-return-NULL-from-NEXT_SIBLING-on-er.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-dwarf_prototypes-return-NULL-from-NEXT_SIBLING-on-er.patch new file mode 100644 index 0000000000..e7aa0fdabe --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-dwarf_prototypes-return-NULL-from-NEXT_SIBLING-on-er.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From d568c0cbdecf31a7020f2a0574470d014f447a86 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Sun, 12 Apr 2026 00:07:06 -0700 | ||
| 4 | Subject: [PATCH] dwarf_prototypes: return NULL from NEXT_SIBLING on error | ||
| 5 | |||
| 6 | NEXT_SIBLING is used in functions that return pointers, so returning | ||
| 7 | false on error is misleading and relies on implicit conversion. | ||
| 8 | Return (void *)0 instead to make the failure value explicit and match | ||
| 9 | the surrounding function return type. | ||
| 10 | |||
| 11 | This is flagged by clang-22 due to | ||
| 12 | Replacing return false with return (void *)0 | ||
| 13 | avoids clang's -Wbool-conversion error when the macro expands | ||
| 14 | inside functions returning a pointer type. | ||
| 15 | |||
| 16 | Upstream-Status: Submitted [https://gitlab.com/cespedes/ltrace/-/merge_requests/30] | ||
| 17 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 18 | --- | ||
| 19 | dwarf_prototypes.c | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/dwarf_prototypes.c b/dwarf_prototypes.c | ||
| 23 | index bfac177..e7ea1bc 100644 | ||
| 24 | --- a/dwarf_prototypes.c | ||
| 25 | +++ b/dwarf_prototypes.c | ||
| 26 | @@ -36,7 +36,7 @@ | ||
| 27 | #define NEXT_SIBLING(die) \ | ||
| 28 | int res = dwarf_siblingof(die, die); \ | ||
| 29 | if (res == 0) continue; /* sibling exists */ \ | ||
| 30 | - if (res < 0) return false; /* error */ \ | ||
| 31 | + if (res < 0) return (void *)0; /* error */ \ | ||
| 32 | break /* no sibling exists */ | ||
| 33 | |||
| 34 | static struct arg_type_info *get_type(int *newly_allocated_info, | ||
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-trace-fix-1-bit-bitfield-assignments-for-clang-Wsing.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-trace-fix-1-bit-bitfield-assignments-for-clang-Wsing.patch new file mode 100644 index 0000000000..0f8a9766f4 --- /dev/null +++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-trace-fix-1-bit-bitfield-assignments-for-clang-Wsing.patch | |||
| @@ -0,0 +1,86 @@ | |||
| 1 | From 65c5a621a366a25b8572cd29c01b4aa92c02903a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Sun, 12 Apr 2026 00:46:20 -0700 | ||
| 4 | Subject: [PATCH] trace: fix 1-bit bitfield assignments for clang | ||
| 5 | -Wsingle-bit-bitfield-constant-conversion | ||
| 6 | |||
| 7 | Replace '1' with 'true' for all 1-bit signed bitfield assignments. | ||
| 8 | Assigning integer 1 to a 1-bit signed bitfield truncates to -1; using | ||
| 9 | 'true' which is a bool is well-defined and avoids the clang error. | ||
| 10 | |||
| 11 | Upstream-Status: Submitted [https://gitlab.com/cespedes/ltrace/-/merge_requests/30] | ||
| 12 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 13 | --- | ||
| 14 | ltrace-elf.c | 2 +- | ||
| 15 | sysdeps/linux-gnu/trace.c | 12 ++++++------ | ||
| 16 | 2 files changed, 7 insertions(+), 7 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/ltrace-elf.c b/ltrace-elf.c | ||
| 19 | index beaf69f..2be609c 100644 | ||
| 20 | --- a/ltrace-elf.c | ||
| 21 | +++ b/ltrace-elf.c | ||
| 22 | @@ -819,7 +819,7 @@ mark_chain_latent(struct library_symbol *libsym) | ||
| 23 | { | ||
| 24 | for (; libsym != NULL; libsym = libsym->next) { | ||
| 25 | debug(DEBUG_FUNCTION, "marking %s latent", libsym->name); | ||
| 26 | - libsym->latent = 1; | ||
| 27 | + libsym->latent = true; | ||
| 28 | } | ||
| 29 | } | ||
| 30 | |||
| 31 | diff --git a/sysdeps/linux-gnu/trace.c b/sysdeps/linux-gnu/trace.c | ||
| 32 | index 12c8747..b7f4c57 100644 | ||
| 33 | --- a/sysdeps/linux-gnu/trace.c | ||
| 34 | +++ b/sysdeps/linux-gnu/trace.c | ||
| 35 | @@ -310,13 +310,13 @@ send_sigstop(struct process *task, void *data) | ||
| 36 | * weed out unnecessary looping. */ | ||
| 37 | if (st == PS_SLEEPING | ||
| 38 | && is_vfork_parent(task)) { | ||
| 39 | - task_info->vforked = 1; | ||
| 40 | + task_info->vforked = true; | ||
| 41 | return CBS_CONT; | ||
| 42 | } | ||
| 43 | |||
| 44 | if (task_kill(task->pid, SIGSTOP) >= 0) { | ||
| 45 | debug(DEBUG_PROCESS, "send SIGSTOP to %d", task->pid); | ||
| 46 | - task_info->sigstopped = 1; | ||
| 47 | + task_info->sigstopped = true; | ||
| 48 | } else | ||
| 49 | fprintf(stderr, | ||
| 50 | "Warning: couldn't send SIGSTOP to %d\n", task->pid); | ||
| 51 | @@ -442,7 +442,7 @@ handle_stopping_event(struct pid_task *task_info, Event **eventp) | ||
| 52 | { | ||
| 53 | /* Mark all events, so that we know whom to SIGCONT later. */ | ||
| 54 | if (task_info != NULL) | ||
| 55 | - task_info->got_event = 1; | ||
| 56 | + task_info->got_event = true; | ||
| 57 | |||
| 58 | Event *event = *eventp; | ||
| 59 | |||
| 60 | @@ -454,7 +454,7 @@ handle_stopping_event(struct pid_task *task_info, Event **eventp) | ||
| 61 | debug(DEBUG_PROCESS, "SIGSTOP delivered to %d", task_info->pid); | ||
| 62 | if (task_info->sigstopped | ||
| 63 | && !task_info->delivered) { | ||
| 64 | - task_info->delivered = 1; | ||
| 65 | + task_info->delivered = true; | ||
| 66 | *eventp = NULL; // sink the event | ||
| 67 | } else | ||
| 68 | fprintf(stderr, "suspicious: %d got SIGSTOP, but " | ||
| 69 | @@ -748,7 +748,7 @@ process_stopping_on_event(struct event_handler *super, Event *event) | ||
| 70 | debug(1, "%d LT_EV_SYSRET", event->proc->pid); | ||
| 71 | event_to_queue = 0; | ||
| 72 | if (task_info != NULL) | ||
| 73 | - task_info->sysret = 1; | ||
| 74 | + task_info->sysret = true; | ||
| 75 | } | ||
| 76 | |||
| 77 | switch (state) { | ||
| 78 | @@ -1070,7 +1070,7 @@ process_vfork_on_event(struct event_handler *super, Event *event) | ||
| 79 | &event->e_un.brk_addr, &sbp); | ||
| 80 | assert(sbp != NULL); | ||
| 81 | breakpoint_turn_on(sbp, proc->leader); | ||
| 82 | - self->vfork_bp_refd = 1; | ||
| 83 | + self->vfork_bp_refd = true; | ||
| 84 | } | ||
| 85 | break; | ||
| 86 | |||
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_0.8.1.bb index f84d989eef..77bb61830b 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_0.8.1.bb | |||
| @@ -9,25 +9,24 @@ HOMEPAGE = "http://ltrace.org/" | |||
| 9 | LICENSE = "GPL-2.0-only" | 9 | LICENSE = "GPL-2.0-only" |
| 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" | 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" |
| 11 | 11 | ||
| 12 | PE = "1" | 12 | PE = "2" |
| 13 | PV = "7.91+git" | 13 | SRCREV = "7ef6e6097586b751cce298c256a919404dab259d" |
| 14 | SRCREV = "8eabf684ba6b11ae7a1a843aca3c0657c6329d73" | ||
| 15 | 14 | ||
| 16 | DEPENDS = "elfutils" | 15 | DEPENDS = "elfutils" |
| 17 | SRC_URI = "git://gitlab.com/cespedes/ltrace.git;protocol=https;branch=main \ | 16 | SRC_URI = "git://gitlab.com/cespedes/ltrace.git;protocol=https;branch=main;tag=${PV} \ |
| 18 | file://configure-allow-to-disable-selinux-support.patch \ | 17 | file://configure-allow-to-disable-selinux-support.patch \ |
| 19 | file://0001-Use-correct-enum-type.patch \ | 18 | file://0001-Use-correct-enum-type.patch \ |
| 20 | file://0002-Fix-const-qualifier-error.patch \ | 19 | file://0002-Fix-const-qualifier-error.patch \ |
| 21 | file://0001-Add-support-for-mips64-n32-n64.patch \ | 20 | file://0001-Add-support-for-mips64-n32-n64.patch \ |
| 22 | file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \ | ||
| 23 | file://0001-mips-plt.c-Delete-include-error.h.patch \ | 21 | file://0001-mips-plt.c-Delete-include-error.h.patch \ |
| 24 | file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \ | 22 | file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \ |
| 25 | file://0001-hook-Do-not-append-int-to-std-string.patch \ | 23 | file://0001-hook-Do-not-append-int-to-std-string.patch \ |
| 26 | file://0001-Bug-fix-for-data-type-length-judgment.patch \ | 24 | file://0001-Bug-fix-for-data-type-length-judgment.patch \ |
| 27 | file://0001-ppc-Remove-unused-host_powerpc64-function.patch \ | 25 | file://0001-ppc-Remove-unused-host_powerpc64-function.patch \ |
| 28 | file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \ | 26 | file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \ |
| 29 | file://0001-Fix-type-of-single-bit-bitfields.patch \ | ||
| 30 | file://0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch \ | 27 | file://0001-proc-Make-PROC_PID_FILE-not-use-variable-length-arra.patch \ |
| 28 | file://0001-dwarf_prototypes-return-NULL-from-NEXT_SIBLING-on-er.patch \ | ||
| 29 | file://0001-trace-fix-1-bit-bitfield-assignments-for-clang-Wsing.patch \ | ||
| 31 | " | 30 | " |
| 32 | SRC_URI:append:libc-musl = " file://add_ppc64le.patch" | 31 | SRC_URI:append:libc-musl = " file://add_ppc64le.patch" |
| 33 | 32 | ||
diff --git a/meta-oe/recipes-devtools/mpich/mpich_5.0.0.bb b/meta-oe/recipes-devtools/mpich/mpich_5.0.1.bb index 505fc6f92b..55f6cde82f 100644 --- a/meta-oe/recipes-devtools/mpich/mpich_5.0.0.bb +++ b/meta-oe/recipes-devtools/mpich/mpich_5.0.1.bb | |||
| @@ -6,7 +6,7 @@ LICENSE = "BSD-2-Clause" | |||
| 6 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3a296dfb961b957b0e8adf67d8478d3d" | 6 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3a296dfb961b957b0e8adf67d8478d3d" |
| 7 | 7 | ||
| 8 | SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" | 8 | SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" |
| 9 | SRC_URI[sha256sum] = "e9350e32224283e95311f22134f36c98e3cd1c665d17fae20a6cc92ed3cffe11" | 9 | SRC_URI[sha256sum] = "8c1832a13ddacf071685069f5fadfd1f2877a29e1a628652892c65211b1f3327" |
| 10 | 10 | ||
| 11 | RDEPENDS:${PN} += "bash perl libxml2" | 11 | RDEPENDS:${PN} += "bash perl libxml2" |
| 12 | 12 | ||
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb b/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb index 8bd5f008af..3a1385f70a 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_22.22.2.bb | |||
| @@ -214,3 +214,11 @@ python __anonymous () { | |||
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | BBCLASSEXTEND = "native" | 216 | BBCLASSEXTEND = "native" |
| 217 | |||
| 218 | CVE_STATUS[CVE-2026-21710] = "fixed-version: fixed since v22.22.2" | ||
| 219 | CVE_STATUS[CVE-2026-21712] = "cpe-incorrect: only v24 and v25 are affected" | ||
| 220 | CVE_STATUS[CVE-2026-21713] = "fixed-version: fixed since v22.22.2" | ||
| 221 | CVE_STATUS[CVE-2026-21714] = "fixed-version: fixed since v22.22.2" | ||
| 222 | CVE_STATUS[CVE-2026-21715] = "fixed-version: fixed since v22.22.2" | ||
| 223 | CVE_STATUS[CVE-2026-21716] = "fixed-version: fixed since v22.22.2" | ||
| 224 | CVE_STATUS[CVE-2026-21717] = "fixed-version: fixed since v22.22.2" | ||
diff --git a/meta-oe/recipes-devtools/php/php_8.5.4.bb b/meta-oe/recipes-devtools/php/php_8.5.5.bb index efa778b6d8..2924b478ad 100644 --- a/meta-oe/recipes-devtools/php/php_8.5.4.bb +++ b/meta-oe/recipes-devtools/php/php_8.5.5.bb | |||
| @@ -32,7 +32,7 @@ UPSTREAM_CHECK_REGEX = "releases/tag/php-(?P<pver>\d+(\.\d+)+)" | |||
| 32 | 32 | ||
| 33 | S = "${UNPACKDIR}/php-${PV}" | 33 | S = "${UNPACKDIR}/php-${PV}" |
| 34 | 34 | ||
| 35 | SRC_URI[sha256sum] = "2ac929a29a6b7ef4b8acec981a417b91bdf7f548f597df665cc56ab9ea95fc75" | 35 | SRC_URI[sha256sum] = "ee262beff61c431965d1f97192854b36208adeac38983c3498bb3500ae87283c" |
| 36 | 36 | ||
| 37 | CVE_STATUS_GROUPS += "CVE_STATUS_PHP" | 37 | CVE_STATUS_GROUPS += "CVE_STATUS_PHP" |
| 38 | CVE_STATUS_PHP[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored." | 38 | CVE_STATUS_PHP[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored." |
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch b/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch deleted file mode 100644 index 1aae1f17b0..0000000000 --- a/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf-30.patch +++ /dev/null | |||
| @@ -1,1446 +0,0 @@ | |||
| 1 | From b28683f8027bf1e886b748b5603eb16d203b5a92 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 3 | Date: Sat, 8 Feb 2025 18:18:33 -0500 | ||
| 4 | Subject: [PATCH 01/11] protoc-gen-c/c_helpers.h: Move compat defines into new | ||
| 5 | header file compat.h | ||
| 6 | |||
| 7 | Upstream-Status: Backport [https://gitlab.archlinux.org/archlinux/packaging/packages/protobuf-c/-/blob/main/protobuf-30.patch] | ||
| 8 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 9 | |||
| 10 | --- | ||
| 11 | protoc-gen-c/c_field.cc | 1 + | ||
| 12 | protoc-gen-c/c_helpers.cc | 1 + | ||
| 13 | protoc-gen-c/c_helpers.h | 10 ------- | ||
| 14 | protoc-gen-c/c_message.cc | 1 + | ||
| 15 | protoc-gen-c/c_primitive_field.cc | 1 + | ||
| 16 | protoc-gen-c/compat.h | 46 +++++++++++++++++++++++++++++++ | ||
| 17 | protoc-gen-c/main.cc | 1 + | ||
| 18 | 7 files changed, 51 insertions(+), 10 deletions(-) | ||
| 19 | create mode 100644 protoc-gen-c/compat.h | ||
| 20 | |||
| 21 | diff --git a/protoc-gen-c/c_field.cc b/protoc-gen-c/c_field.cc | ||
| 22 | index 5e79967b..d6d8597e 100644 | ||
| 23 | --- a/protoc-gen-c/c_field.cc | ||
| 24 | +++ b/protoc-gen-c/c_field.cc | ||
| 25 | @@ -74,6 +74,7 @@ | ||
| 26 | #include "c_message_field.h" | ||
| 27 | #include "c_primitive_field.h" | ||
| 28 | #include "c_string_field.h" | ||
| 29 | +#include "compat.h" | ||
| 30 | |||
| 31 | namespace protobuf_c { | ||
| 32 | |||
| 33 | diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc | ||
| 34 | index 5edcf904..c38843f8 100644 | ||
| 35 | --- a/protoc-gen-c/c_helpers.cc | ||
| 36 | +++ b/protoc-gen-c/c_helpers.cc | ||
| 37 | @@ -73,6 +73,7 @@ | ||
| 38 | #include <google/protobuf/stubs/common.h> | ||
| 39 | |||
| 40 | #include "c_helpers.h" | ||
| 41 | +#include "compat.h" | ||
| 42 | |||
| 43 | namespace protobuf_c { | ||
| 44 | |||
| 45 | diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h | ||
| 46 | index 943676e9..e69504bb 100644 | ||
| 47 | --- a/protoc-gen-c/c_helpers.h | ||
| 48 | +++ b/protoc-gen-c/c_helpers.h | ||
| 49 | @@ -186,16 +186,6 @@ inline int FieldSyntax(const google::protobuf::FieldDescriptor* field) { | ||
| 50 | return 2; | ||
| 51 | } | ||
| 52 | |||
| 53 | -// Work around changes in protobuf >= 22.x without breaking compilation against | ||
| 54 | -// older protobuf versions. | ||
| 55 | -#if GOOGLE_PROTOBUF_VERSION >= 4022000 | ||
| 56 | -# define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE | ||
| 57 | -# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ | ||
| 58 | -# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ | ||
| 59 | -# define GOOGLE_DCHECK_GE ABSL_DCHECK_GE | ||
| 60 | -# define GOOGLE_LOG ABSL_LOG | ||
| 61 | -#endif | ||
| 62 | - | ||
| 63 | } // namespace protobuf_c | ||
| 64 | |||
| 65 | #endif // PROTOBUF_C_PROTOC_GEN_C_C_HELPERS_H__ | ||
| 66 | diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc | ||
| 67 | index d4a9a01e..46413873 100644 | ||
| 68 | --- a/protoc-gen-c/c_message.cc | ||
| 69 | +++ b/protoc-gen-c/c_message.cc | ||
| 70 | @@ -78,6 +78,7 @@ | ||
| 71 | #include "c_extension.h" | ||
| 72 | #include "c_helpers.h" | ||
| 73 | #include "c_message.h" | ||
| 74 | +#include "compat.h" | ||
| 75 | |||
| 76 | namespace protobuf_c { | ||
| 77 | |||
| 78 | diff --git a/protoc-gen-c/c_primitive_field.cc b/protoc-gen-c/c_primitive_field.cc | ||
| 79 | index 253b00bd..588f60e6 100644 | ||
| 80 | --- a/protoc-gen-c/c_primitive_field.cc | ||
| 81 | +++ b/protoc-gen-c/c_primitive_field.cc | ||
| 82 | @@ -67,6 +67,7 @@ | ||
| 83 | |||
| 84 | #include "c_helpers.h" | ||
| 85 | #include "c_primitive_field.h" | ||
| 86 | +#include "compat.h" | ||
| 87 | |||
| 88 | namespace protobuf_c { | ||
| 89 | |||
| 90 | diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h | ||
| 91 | new file mode 100644 | ||
| 92 | index 00000000..2ee78281 | ||
| 93 | --- /dev/null | ||
| 94 | +++ b/protoc-gen-c/compat.h | ||
| 95 | @@ -0,0 +1,46 @@ | ||
| 96 | +// Copyright (c) 2008-2025, Dave Benson and the protobuf-c authors. | ||
| 97 | +// All rights reserved. | ||
| 98 | +// | ||
| 99 | +// Redistribution and use in source and binary forms, with or without | ||
| 100 | +// modification, are permitted provided that the following conditions are | ||
| 101 | +// met: | ||
| 102 | +// | ||
| 103 | +// * Redistributions of source code must retain the above copyright | ||
| 104 | +// notice, this list of conditions and the following disclaimer. | ||
| 105 | +// | ||
| 106 | +// * Redistributions in binary form must reproduce the above | ||
| 107 | +// copyright notice, this list of conditions and the following disclaimer | ||
| 108 | +// in the documentation and/or other materials provided with the | ||
| 109 | +// distribution. | ||
| 110 | +// | ||
| 111 | +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
| 112 | +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
| 113 | +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
| 114 | +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
| 115 | +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
| 116 | +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| 117 | +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
| 118 | +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
| 119 | +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| 120 | +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
| 121 | +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 122 | + | ||
| 123 | +#ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 124 | +#define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 125 | + | ||
| 126 | +#if GOOGLE_PROTOBUF_VERSION >= 4022000 | ||
| 127 | +# define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE | ||
| 128 | +# define GOOGLE_CHECK_EQ ABSL_CHECK_EQ | ||
| 129 | +# define GOOGLE_DCHECK_GE ABSL_DCHECK_GE | ||
| 130 | +# define GOOGLE_LOG ABSL_LOG | ||
| 131 | +#endif | ||
| 132 | + | ||
| 133 | +namespace protobuf_c { | ||
| 134 | + | ||
| 135 | +namespace compat { | ||
| 136 | + | ||
| 137 | +} // namespace compat | ||
| 138 | + | ||
| 139 | +} // namespace protobuf_c | ||
| 140 | + | ||
| 141 | +#endif // PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 142 | diff --git a/protoc-gen-c/main.cc b/protoc-gen-c/main.cc | ||
| 143 | index 0656c113..5ab929d3 100644 | ||
| 144 | --- a/protoc-gen-c/main.cc | ||
| 145 | +++ b/protoc-gen-c/main.cc | ||
| 146 | @@ -32,6 +32,7 @@ | ||
| 147 | |||
| 148 | #include "c_generator.h" | ||
| 149 | #include "c_helpers.h" | ||
| 150 | +#include "compat.h" | ||
| 151 | |||
| 152 | int main(int argc, char* argv[]) { | ||
| 153 | protobuf_c::CGenerator c_generator; | ||
| 154 | |||
| 155 | From 1678f1fba6f2d3e5c1db2817495ddcd72bd4e87b Mon Sep 17 00:00:00 2001 | ||
| 156 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 157 | Date: Sat, 8 Feb 2025 20:09:03 -0500 | ||
| 158 | Subject: [PATCH 02/11] protoc-gen-c/compat.h: Add `compat::StringView` type | ||
| 159 | |||
| 160 | protobuf >= 30.x replaces `const std::string&` in various APIs with | ||
| 161 | its own string view type that may actually be a `absl::string_view`. | ||
| 162 | Introduce our own `compat::StringView` type that we can use instead | ||
| 163 | of `const std::string&` in order to support compiling across multiple | ||
| 164 | protobuf versions. | ||
| 165 | --- | ||
| 166 | protoc-gen-c/compat.h | 8 ++++++++ | ||
| 167 | 1 file changed, 8 insertions(+) | ||
| 168 | |||
| 169 | diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h | ||
| 170 | index 2ee78281..fe8041b5 100644 | ||
| 171 | --- a/protoc-gen-c/compat.h | ||
| 172 | +++ b/protoc-gen-c/compat.h | ||
| 173 | @@ -28,6 +28,8 @@ | ||
| 174 | #ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 175 | #define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 176 | |||
| 177 | +#include <string> | ||
| 178 | + | ||
| 179 | #if GOOGLE_PROTOBUF_VERSION >= 4022000 | ||
| 180 | # define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE | ||
| 181 | # define GOOGLE_CHECK_EQ ABSL_CHECK_EQ | ||
| 182 | @@ -39,6 +41,12 @@ namespace protobuf_c { | ||
| 183 | |||
| 184 | namespace compat { | ||
| 185 | |||
| 186 | +#if GOOGLE_PROTOBUF_VERSION >= 6030000 | ||
| 187 | +typedef google::protobuf::internal::DescriptorStringView StringView; | ||
| 188 | +#else | ||
| 189 | +typedef const std::string& StringView; | ||
| 190 | +#endif | ||
| 191 | + | ||
| 192 | } // namespace compat | ||
| 193 | |||
| 194 | } // namespace protobuf_c | ||
| 195 | |||
| 196 | From db5252c131c82fb48ee599179b6989a577b7fbc8 Mon Sep 17 00:00:00 2001 | ||
| 197 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 198 | Date: Sat, 8 Feb 2025 20:13:44 -0500 | ||
| 199 | Subject: [PATCH 03/11] Remove some unused functions | ||
| 200 | |||
| 201 | --- | ||
| 202 | protoc-gen-c/c_helpers.cc | 64 --------------------------------------- | ||
| 203 | protoc-gen-c/c_helpers.h | 3 -- | ||
| 204 | 2 files changed, 67 deletions(-) | ||
| 205 | |||
| 206 | diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc | ||
| 207 | index c38843f8..bbb4a615 100644 | ||
| 208 | --- a/protoc-gen-c/c_helpers.cc | ||
| 209 | +++ b/protoc-gen-c/c_helpers.cc | ||
| 210 | @@ -90,14 +90,6 @@ namespace protobuf_c { | ||
| 211 | #pragma warning(disable:4996) | ||
| 212 | #endif | ||
| 213 | |||
| 214 | -std::string DotsToUnderscores(const std::string& name) { | ||
| 215 | - return StringReplace(name, ".", "_", true); | ||
| 216 | -} | ||
| 217 | - | ||
| 218 | -std::string DotsToColons(const std::string& name) { | ||
| 219 | - return StringReplace(name, ".", "::", true); | ||
| 220 | -} | ||
| 221 | - | ||
| 222 | std::string SimpleFtoa(float f) { | ||
| 223 | char buf[100]; | ||
| 224 | snprintf(buf,sizeof(buf),"%.*g", FLT_DIG, f); | ||
| 225 | @@ -333,11 +325,6 @@ std::string FilenameIdentifier(const std::string& filename) { | ||
| 226 | return result; | ||
| 227 | } | ||
| 228 | |||
| 229 | -// Return the name of the BuildDescriptors() function for a given file. | ||
| 230 | -std::string GlobalBuildDescriptorsName(const std::string& filename) { | ||
| 231 | - return "proto_BuildDescriptors_" + FilenameIdentifier(filename); | ||
| 232 | -} | ||
| 233 | - | ||
| 234 | std::string GetLabelName(google::protobuf::FieldDescriptor::Label label) { | ||
| 235 | switch (label) { | ||
| 236 | case google::protobuf::FieldDescriptor::LABEL_OPTIONAL: return "optional"; | ||
| 237 | @@ -392,57 +379,6 @@ WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int * | ||
| 238 | } | ||
| 239 | } | ||
| 240 | |||
| 241 | - | ||
| 242 | - | ||
| 243 | -// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx | ||
| 244 | -// XXXXXXXXX this stuff is copied from strutils.cc !!!! XXXXXXXXXXXXXXXXXXXXXXXXXXXXx | ||
| 245 | -// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx | ||
| 246 | -// ---------------------------------------------------------------------- | ||
| 247 | -// StringReplace() | ||
| 248 | -// Replace the "old" pattern with the "new" pattern in a string, | ||
| 249 | -// and append the result to "res". If replace_all is false, | ||
| 250 | -// it only replaces the first instance of "old." | ||
| 251 | -// ---------------------------------------------------------------------- | ||
| 252 | - | ||
| 253 | -void StringReplace(const std::string& s, const std::string& oldsub, | ||
| 254 | - const std::string& newsub, bool replace_all, | ||
| 255 | - std::string* res) { | ||
| 256 | - if (oldsub.empty()) { | ||
| 257 | - res->append(s); // if empty, append the given string. | ||
| 258 | - return; | ||
| 259 | - } | ||
| 260 | - | ||
| 261 | - std::string::size_type start_pos = 0; | ||
| 262 | - std::string::size_type pos; | ||
| 263 | - do { | ||
| 264 | - pos = s.find(oldsub, start_pos); | ||
| 265 | - if (pos == std::string::npos) { | ||
| 266 | - break; | ||
| 267 | - } | ||
| 268 | - res->append(s, start_pos, pos - start_pos); | ||
| 269 | - res->append(newsub); | ||
| 270 | - start_pos = pos + oldsub.size(); // start searching again after the "old" | ||
| 271 | - } while (replace_all); | ||
| 272 | - res->append(s, start_pos, s.length() - start_pos); | ||
| 273 | -} | ||
| 274 | - | ||
| 275 | - | ||
| 276 | -// ---------------------------------------------------------------------- | ||
| 277 | -// StringReplace() | ||
| 278 | -// Give me a string and two patterns "old" and "new", and I replace | ||
| 279 | -// the first instance of "old" in the string with "new", if it | ||
| 280 | -// exists. If "global" is true; call this repeatedly until it | ||
| 281 | -// fails. RETURN a new string, regardless of whether the replacement | ||
| 282 | -// happened or not. | ||
| 283 | -// ---------------------------------------------------------------------- | ||
| 284 | - | ||
| 285 | -std::string StringReplace(const std::string& s, const std::string& oldsub, | ||
| 286 | - const std::string& newsub, bool replace_all) { | ||
| 287 | - std::string ret; | ||
| 288 | - StringReplace(s, oldsub, newsub, replace_all, &ret); | ||
| 289 | - return ret; | ||
| 290 | -} | ||
| 291 | - | ||
| 292 | // ---------------------------------------------------------------------- | ||
| 293 | // SplitStringUsing() | ||
| 294 | // Split a string using a character delimiter. Append the components | ||
| 295 | diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h | ||
| 296 | index e69504bb..377d4272 100644 | ||
| 297 | --- a/protoc-gen-c/c_helpers.h | ||
| 298 | +++ b/protoc-gen-c/c_helpers.h | ||
| 299 | @@ -150,9 +150,6 @@ const char* DeclaredTypeMethodName(google::protobuf::FieldDescriptor::Type type) | ||
| 300 | // Convert a file name into a valid identifier. | ||
| 301 | std::string FilenameIdentifier(const std::string& filename); | ||
| 302 | |||
| 303 | -// Return the name of the BuildDescriptors() function for a given file. | ||
| 304 | -std::string GlobalBuildDescriptorsName(const std::string& filename); | ||
| 305 | - | ||
| 306 | // return 'required', 'optional', or 'repeated' | ||
| 307 | std::string GetLabelName(google::protobuf::FieldDescriptor::Label label); | ||
| 308 | |||
| 309 | |||
| 310 | From bc2cb66d908f016dd3f7082c8a6ad7c58bc03412 Mon Sep 17 00:00:00 2001 | ||
| 311 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 312 | Date: Sat, 8 Feb 2025 20:18:05 -0500 | ||
| 313 | Subject: [PATCH 04/11] Use `compat::StringView` type across various function | ||
| 314 | signatures | ||
| 315 | |||
| 316 | --- | ||
| 317 | protoc-gen-c/c_helpers.cc | 44 +++++++++++++++++++++------------------ | ||
| 318 | protoc-gen-c/c_helpers.h | 36 ++++++++++++++++---------------- | ||
| 319 | 2 files changed, 42 insertions(+), 38 deletions(-) | ||
| 320 | |||
| 321 | diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc | ||
| 322 | index bbb4a615..c759c8c2 100644 | ||
| 323 | --- a/protoc-gen-c/c_helpers.cc | ||
| 324 | +++ b/protoc-gen-c/c_helpers.cc | ||
| 325 | @@ -96,6 +96,7 @@ std::string SimpleFtoa(float f) { | ||
| 326 | buf[sizeof(buf)-1] = 0; /* should NOT be necessary */ | ||
| 327 | return buf; | ||
| 328 | } | ||
| 329 | + | ||
| 330 | std::string SimpleDtoa(double d) { | ||
| 331 | char buf[100]; | ||
| 332 | snprintf(buf,sizeof(buf),"%.*g", DBL_DIG, d); | ||
| 333 | @@ -103,7 +104,7 @@ std::string SimpleDtoa(double d) { | ||
| 334 | return buf; | ||
| 335 | } | ||
| 336 | |||
| 337 | -std::string CamelToUpper(const std::string &name) { | ||
| 338 | +std::string CamelToUpper(compat::StringView name) { | ||
| 339 | bool was_upper = true; // suppress initial _ | ||
| 340 | std::string rv = ""; | ||
| 341 | int len = name.length(); | ||
| 342 | @@ -120,7 +121,8 @@ std::string CamelToUpper(const std::string &name) { | ||
| 343 | } | ||
| 344 | return rv; | ||
| 345 | } | ||
| 346 | -std::string CamelToLower(const std::string &name) { | ||
| 347 | + | ||
| 348 | +std::string CamelToLower(compat::StringView name) { | ||
| 349 | bool was_upper = true; // suppress initial _ | ||
| 350 | std::string rv = ""; | ||
| 351 | int len = name.length(); | ||
| 352 | @@ -138,8 +140,7 @@ std::string CamelToLower(const std::string &name) { | ||
| 353 | return rv; | ||
| 354 | } | ||
| 355 | |||
| 356 | - | ||
| 357 | -std::string ToUpper(const std::string &name) { | ||
| 358 | +std::string ToUpper(compat::StringView name) { | ||
| 359 | std::string rv = ""; | ||
| 360 | int len = name.length(); | ||
| 361 | for (int i = 0; i < len; i++) { | ||
| 362 | @@ -147,7 +148,8 @@ std::string ToUpper(const std::string &name) { | ||
| 363 | } | ||
| 364 | return rv; | ||
| 365 | } | ||
| 366 | -std::string ToLower(const std::string &name) { | ||
| 367 | + | ||
| 368 | +std::string ToLower(compat::StringView name) { | ||
| 369 | std::string rv = ""; | ||
| 370 | int len = name.length(); | ||
| 371 | for (int i = 0; i < len; i++) { | ||
| 372 | @@ -155,7 +157,8 @@ std::string ToLower(const std::string &name) { | ||
| 373 | } | ||
| 374 | return rv; | ||
| 375 | } | ||
| 376 | -std::string ToCamel(const std::string &name) { | ||
| 377 | + | ||
| 378 | +std::string ToCamel(compat::StringView name) { | ||
| 379 | std::string rv = ""; | ||
| 380 | int len = name.length(); | ||
| 381 | bool next_is_upper = true; | ||
| 382 | @@ -172,7 +175,7 @@ std::string ToCamel(const std::string &name) { | ||
| 383 | return rv; | ||
| 384 | } | ||
| 385 | |||
| 386 | -std::string OverrideFullName(const std::string &full_name, const google::protobuf::FileDescriptor* file) { | ||
| 387 | +std::string OverrideFullName(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 388 | const ProtobufCFileOptions opt = file->options().GetExtension(pb_c_file); | ||
| 389 | if (!opt.has_c_package()) | ||
| 390 | return full_name; | ||
| 391 | @@ -184,7 +187,7 @@ std::string OverrideFullName(const std::string &full_name, const google::protobu | ||
| 392 | return new_name + full_name.substr(file->package().length()); | ||
| 393 | } | ||
| 394 | |||
| 395 | -std::string FullNameToLower(const std::string &full_name, const google::protobuf::FileDescriptor* file) { | ||
| 396 | +std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 397 | std::vector<std::string> pieces; | ||
| 398 | SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces); | ||
| 399 | std::string rv = ""; | ||
| 400 | @@ -195,7 +198,8 @@ std::string FullNameToLower(const std::string &full_name, const google::protobuf | ||
| 401 | } | ||
| 402 | return rv; | ||
| 403 | } | ||
| 404 | -std::string FullNameToUpper(const std::string &full_name, const google::protobuf::FileDescriptor* file) { | ||
| 405 | + | ||
| 406 | +std::string FullNameToUpper(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 407 | std::vector<std::string> pieces; | ||
| 408 | SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces); | ||
| 409 | std::string rv = ""; | ||
| 410 | @@ -206,7 +210,8 @@ std::string FullNameToUpper(const std::string &full_name, const google::protobuf | ||
| 411 | } | ||
| 412 | return rv; | ||
| 413 | } | ||
| 414 | -std::string FullNameToC(const std::string &full_name, const google::protobuf::FileDescriptor* file) { | ||
| 415 | + | ||
| 416 | +std::string FullNameToC(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 417 | std::vector<std::string> pieces; | ||
| 418 | SplitStringUsing(OverrideFullName(full_name, file), ".", &pieces); | ||
| 419 | std::string rv = ""; | ||
| 420 | @@ -248,7 +253,7 @@ void PrintComment(google::protobuf::io::Printer* printer, std::string comment) | ||
| 421 | } | ||
| 422 | } | ||
| 423 | |||
| 424 | -std::string ConvertToSpaces(const std::string &input) { | ||
| 425 | +std::string ConvertToSpaces(compat::StringView input) { | ||
| 426 | return std::string(input.size(), ' '); | ||
| 427 | } | ||
| 428 | |||
| 429 | @@ -259,8 +264,7 @@ int compare_name_indices_by_name(const void *a, const void *b) | ||
| 430 | return strcmp (ni_a->name, ni_b->name); | ||
| 431 | } | ||
| 432 | |||
| 433 | - | ||
| 434 | -std::string CEscape(const std::string& src); | ||
| 435 | +std::string CEscape(compat::StringView src); | ||
| 436 | |||
| 437 | const char* const kKeywordList[] = { | ||
| 438 | "and", "and_eq", "asm", "auto", "bitand", "bitor", "bool", "break", "case", | ||
| 439 | @@ -300,7 +304,7 @@ std::string FieldDeprecated(const google::protobuf::FieldDescriptor* field) { | ||
| 440 | return ""; | ||
| 441 | } | ||
| 442 | |||
| 443 | -std::string StripProto(const std::string& filename) { | ||
| 444 | +std::string StripProto(compat::StringView filename) { | ||
| 445 | if (HasSuffixString(filename, ".protodevel")) { | ||
| 446 | return StripSuffixString(filename, ".protodevel"); | ||
| 447 | } else { | ||
| 448 | @@ -309,7 +313,7 @@ std::string StripProto(const std::string& filename) { | ||
| 449 | } | ||
| 450 | |||
| 451 | // Convert a file name into a valid identifier. | ||
| 452 | -std::string FilenameIdentifier(const std::string& filename) { | ||
| 453 | +std::string FilenameIdentifier(compat::StringView filename) { | ||
| 454 | std::string result; | ||
| 455 | for (unsigned i = 0; i < filename.size(); i++) { | ||
| 456 | if (isalnum(filename[i])) { | ||
| 457 | @@ -335,7 +339,7 @@ std::string GetLabelName(google::protobuf::FieldDescriptor::Label label) { | ||
| 458 | } | ||
| 459 | |||
| 460 | unsigned | ||
| 461 | -WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, const std::string &name) | ||
| 462 | +WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, compat::StringView name) | ||
| 463 | { | ||
| 464 | std::map<std::string, std::string> vars; | ||
| 465 | vars["name"] = name; | ||
| 466 | @@ -389,7 +393,7 @@ WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int * | ||
| 467 | // ---------------------------------------------------------------------- | ||
| 468 | template <typename ITR> | ||
| 469 | static inline | ||
| 470 | -void SplitStringToIteratorUsing(const std::string& full, | ||
| 471 | +void SplitStringToIteratorUsing(compat::StringView full, | ||
| 472 | const char* delim, | ||
| 473 | ITR& result) { | ||
| 474 | // Optimize the common case where delim is a single character. | ||
| 475 | @@ -422,7 +426,7 @@ void SplitStringToIteratorUsing(const std::string& full, | ||
| 476 | } | ||
| 477 | } | ||
| 478 | |||
| 479 | -void SplitStringUsing(const std::string& full, | ||
| 480 | +void SplitStringUsing(compat::StringView full, | ||
| 481 | const char* delim, | ||
| 482 | std::vector<std::string>* result) { | ||
| 483 | std::back_insert_iterator< std::vector<std::string> > it(*result); | ||
| 484 | @@ -435,7 +439,6 @@ char* FastHexToBuffer(int i, char* buffer) | ||
| 485 | return buffer; | ||
| 486 | } | ||
| 487 | |||
| 488 | - | ||
| 489 | static int CEscapeInternal(const char* src, int src_len, char* dest, | ||
| 490 | int dest_len, bool use_hex) { | ||
| 491 | const char* src_end = src + src_len; | ||
| 492 | @@ -478,7 +481,8 @@ static int CEscapeInternal(const char* src, int src_len, char* dest, | ||
| 493 | dest[used] = '\0'; // doesn't count towards return value though | ||
| 494 | return used; | ||
| 495 | } | ||
| 496 | -std::string CEscape(const std::string& src) { | ||
| 497 | + | ||
| 498 | +std::string CEscape(compat::StringView src) { | ||
| 499 | const int dest_length = src.size() * 4 + 1; // Maximum possible expansion | ||
| 500 | std::unique_ptr<char[]> dest(new char[dest_length]); | ||
| 501 | const int len = CEscapeInternal(src.data(), src.size(), | ||
| 502 | diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h | ||
| 503 | index 377d4272..ccd39ca2 100644 | ||
| 504 | --- a/protoc-gen-c/c_helpers.h | ||
| 505 | +++ b/protoc-gen-c/c_helpers.h | ||
| 506 | @@ -73,6 +73,8 @@ | ||
| 507 | |||
| 508 | #include <protobuf-c/protobuf-c.pb.h> | ||
| 509 | |||
| 510 | +#include "compat.h" | ||
| 511 | + | ||
| 512 | namespace protobuf_c { | ||
| 513 | |||
| 514 | // --- Borrowed from stubs. --- | ||
| 515 | @@ -84,11 +86,10 @@ template <typename T> std::string SimpleItoa(T n) { | ||
| 516 | |||
| 517 | std::string SimpleFtoa(float f); | ||
| 518 | std::string SimpleDtoa(double f); | ||
| 519 | -void SplitStringUsing(const std::string &str, const char *delim, std::vector<std::string> *out); | ||
| 520 | -std::string CEscape(const std::string& src); | ||
| 521 | -std::string StringReplace(const std::string& s, const std::string& oldsub, const std::string& newsub, bool replace_all); | ||
| 522 | -inline bool HasSuffixString(const std::string& str, const std::string& suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; } | ||
| 523 | -inline std::string StripSuffixString(const std::string& str, const std::string& suffix) { if (HasSuffixString(str, suffix)) { return str.substr(0, str.size() - suffix.size()); } else { return str; } } | ||
| 524 | +void SplitStringUsing(compat::StringView str, const char *delim, std::vector<std::string> *out); | ||
| 525 | +std::string CEscape(compat::StringView src); | ||
| 526 | +inline bool HasSuffixString(compat::StringView str, compat::StringView suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; } | ||
| 527 | +inline std::string StripSuffixString(compat::StringView str, compat::StringView suffix) { if (HasSuffixString(str, suffix)) { return str.substr(0, str.size() - suffix.size()); } else { return str; } } | ||
| 528 | char* FastHexToBuffer(int i, char* buffer); | ||
| 529 | |||
| 530 | |||
| 531 | @@ -110,31 +111,31 @@ inline const google::protobuf::Descriptor* FieldScope(const google::protobuf::Fi | ||
| 532 | |||
| 533 | // convert a CamelCase class name into an all uppercase affair | ||
| 534 | // with underscores separating words, e.g. MyClass becomes MY_CLASS. | ||
| 535 | -std::string CamelToUpper(const std::string &class_name); | ||
| 536 | -std::string CamelToLower(const std::string &class_name); | ||
| 537 | +std::string CamelToUpper(compat::StringView class_name); | ||
| 538 | +std::string CamelToLower(compat::StringView class_name); | ||
| 539 | |||
| 540 | // lowercased, underscored name to camel case | ||
| 541 | -std::string ToCamel(const std::string &name); | ||
| 542 | +std::string ToCamel(compat::StringView name); | ||
| 543 | |||
| 544 | // lowercase the string | ||
| 545 | -std::string ToLower(const std::string &class_name); | ||
| 546 | -std::string ToUpper(const std::string &class_name); | ||
| 547 | +std::string ToLower(compat::StringView class_name); | ||
| 548 | +std::string ToUpper(compat::StringView class_name); | ||
| 549 | |||
| 550 | // full_name() to lowercase with underscores | ||
| 551 | -std::string FullNameToLower(const std::string &full_name, const google::protobuf::FileDescriptor *file); | ||
| 552 | -std::string FullNameToUpper(const std::string &full_name, const google::protobuf::FileDescriptor *file); | ||
| 553 | +std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor *file); | ||
| 554 | +std::string FullNameToUpper(compat::StringView full_name, const google::protobuf::FileDescriptor *file); | ||
| 555 | |||
| 556 | // full_name() to c-typename (with underscores for packages, otherwise camel case) | ||
| 557 | -std::string FullNameToC(const std::string &class_name, const google::protobuf::FileDescriptor *file); | ||
| 558 | +std::string FullNameToC(compat::StringView class_name, const google::protobuf::FileDescriptor *file); | ||
| 559 | |||
| 560 | // Splits, indents, formats, and prints comment lines | ||
| 561 | void PrintComment(google::protobuf::io::Printer* printer, std::string comment); | ||
| 562 | |||
| 563 | // make a string of spaces as long as input | ||
| 564 | -std::string ConvertToSpaces(const std::string &input); | ||
| 565 | +std::string ConvertToSpaces(compat::StringView input); | ||
| 566 | |||
| 567 | // Strips ".proto" or ".protodevel" from the end of a filename. | ||
| 568 | -std::string StripProto(const std::string& filename); | ||
| 569 | +std::string StripProto(compat::StringView filename); | ||
| 570 | |||
| 571 | // Get the C++ type name for a primitive type (e.g. "double", "::google::protobuf::int32", etc.). | ||
| 572 | // Note: non-built-in type names will be qualified, meaning they will start | ||
| 573 | @@ -148,15 +149,14 @@ const char* PrimitiveTypeName(google::protobuf::FieldDescriptor::CppType type); | ||
| 574 | const char* DeclaredTypeMethodName(google::protobuf::FieldDescriptor::Type type); | ||
| 575 | |||
| 576 | // Convert a file name into a valid identifier. | ||
| 577 | -std::string FilenameIdentifier(const std::string& filename); | ||
| 578 | +std::string FilenameIdentifier(compat::StringView filename); | ||
| 579 | |||
| 580 | // return 'required', 'optional', or 'repeated' | ||
| 581 | std::string GetLabelName(google::protobuf::FieldDescriptor::Label label); | ||
| 582 | |||
| 583 | - | ||
| 584 | // write IntRanges entries for a bunch of sorted values. | ||
| 585 | // returns the number of ranges there are to bsearch. | ||
| 586 | -unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, const std::string &name); | ||
| 587 | +unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, const int *values, compat::StringView name); | ||
| 588 | |||
| 589 | struct NameIndex | ||
| 590 | { | ||
| 591 | |||
| 592 | From 75f1c32cc429233a3726358c999009f9ea373b45 Mon Sep 17 00:00:00 2001 | ||
| 593 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 594 | Date: Sat, 8 Feb 2025 20:25:43 -0500 | ||
| 595 | Subject: [PATCH 05/11] Convert string views to owned strings where necessary | ||
| 596 | |||
| 597 | --- | ||
| 598 | protoc-gen-c/c_enum.cc | 2 +- | ||
| 599 | protoc-gen-c/c_enum_field.cc | 2 +- | ||
| 600 | protoc-gen-c/c_helpers.cc | 8 ++++---- | ||
| 601 | protoc-gen-c/c_helpers.h | 3 +-- | ||
| 602 | 4 files changed, 7 insertions(+), 8 deletions(-) | ||
| 603 | |||
| 604 | diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc | ||
| 605 | index 9212ab82..311e4c86 100644 | ||
| 606 | --- a/protoc-gen-c/c_enum.cc | ||
| 607 | +++ b/protoc-gen-c/c_enum.cc | ||
| 608 | @@ -152,7 +152,7 @@ void EnumGenerator::GenerateValueInitializer(google::protobuf::io::Printer *prin | ||
| 609 | descriptor_->file()->options().optimize_for() == | ||
| 610 | google::protobuf::FileOptions_OptimizeMode_CODE_SIZE; | ||
| 611 | vars["enum_value_name"] = vd->name(); | ||
| 612 | - vars["c_enum_value_name"] = FullNameToUpper(descriptor_->full_name(), descriptor_->file()) + "__" + vd->name(); | ||
| 613 | + vars["c_enum_value_name"] = FullNameToUpper(descriptor_->full_name(), descriptor_->file()) + "__" + std::string(vd->name()); | ||
| 614 | vars["value"] = SimpleItoa(vd->number()); | ||
| 615 | if (optimize_code_size) | ||
| 616 | printer->Print(vars, " { NULL, NULL, $value$ }, /* CODE_SIZE */\n"); | ||
| 617 | diff --git a/protoc-gen-c/c_enum_field.cc b/protoc-gen-c/c_enum_field.cc | ||
| 618 | index 0926ae59..c3111f50 100644 | ||
| 619 | --- a/protoc-gen-c/c_enum_field.cc | ||
| 620 | +++ b/protoc-gen-c/c_enum_field.cc | ||
| 621 | @@ -78,7 +78,7 @@ void SetEnumVariables(const google::protobuf::FieldDescriptor* descriptor, | ||
| 622 | (*variables)["type"] = FullNameToC(descriptor->enum_type()->full_name(), descriptor->enum_type()->file()); | ||
| 623 | const google::protobuf::EnumValueDescriptor* default_value = descriptor->default_value_enum(); | ||
| 624 | (*variables)["default"] = FullNameToUpper(default_value->type()->full_name(), default_value->type()->file()) | ||
| 625 | - + "__" + default_value->name(); | ||
| 626 | + + "__" + std::string(default_value->name()); | ||
| 627 | (*variables)["deprecated"] = FieldDeprecated(descriptor); | ||
| 628 | } | ||
| 629 | |||
| 630 | diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc | ||
| 631 | index c759c8c2..1aecef93 100644 | ||
| 632 | --- a/protoc-gen-c/c_helpers.cc | ||
| 633 | +++ b/protoc-gen-c/c_helpers.cc | ||
| 634 | @@ -178,13 +178,13 @@ std::string ToCamel(compat::StringView name) { | ||
| 635 | std::string OverrideFullName(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 636 | const ProtobufCFileOptions opt = file->options().GetExtension(pb_c_file); | ||
| 637 | if (!opt.has_c_package()) | ||
| 638 | - return full_name; | ||
| 639 | + return std::string(full_name); | ||
| 640 | |||
| 641 | std::string new_name = opt.c_package(); | ||
| 642 | if (file->package().empty()) | ||
| 643 | new_name += "."; | ||
| 644 | |||
| 645 | - return new_name + full_name.substr(file->package().length()); | ||
| 646 | + return new_name + std::string(full_name.substr(file->package().length())); | ||
| 647 | } | ||
| 648 | |||
| 649 | std::string FullNameToLower(compat::StringView full_name, const google::protobuf::FileDescriptor* file) { | ||
| 650 | @@ -418,10 +418,10 @@ void SplitStringToIteratorUsing(compat::StringView full, | ||
| 651 | while (begin_index != std::string::npos) { | ||
| 652 | end_index = full.find_first_of(delim, begin_index); | ||
| 653 | if (end_index == std::string::npos) { | ||
| 654 | - *result++ = full.substr(begin_index); | ||
| 655 | + *result++ = std::string(full.substr(begin_index)); | ||
| 656 | return; | ||
| 657 | } | ||
| 658 | - *result++ = full.substr(begin_index, (end_index - begin_index)); | ||
| 659 | + *result++ = std::string(full.substr(begin_index, (end_index - begin_index))); | ||
| 660 | begin_index = full.find_first_not_of(delim, end_index); | ||
| 661 | } | ||
| 662 | } | ||
| 663 | diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h | ||
| 664 | index ccd39ca2..985e4db6 100644 | ||
| 665 | --- a/protoc-gen-c/c_helpers.h | ||
| 666 | +++ b/protoc-gen-c/c_helpers.h | ||
| 667 | @@ -89,10 +89,9 @@ std::string SimpleDtoa(double f); | ||
| 668 | void SplitStringUsing(compat::StringView str, const char *delim, std::vector<std::string> *out); | ||
| 669 | std::string CEscape(compat::StringView src); | ||
| 670 | inline bool HasSuffixString(compat::StringView str, compat::StringView suffix) { return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0; } | ||
| 671 | -inline std::string StripSuffixString(compat::StringView str, compat::StringView suffix) { if (HasSuffixString(str, suffix)) { return str.substr(0, str.size() - suffix.size()); } else { return str; } } | ||
| 672 | +inline std::string StripSuffixString(compat::StringView str, compat::StringView suffix) { if (HasSuffixString(str, suffix)) { return std::string(str.substr(0, str.size() - suffix.size())); } else { return std::string(str); } } | ||
| 673 | char* FastHexToBuffer(int i, char* buffer); | ||
| 674 | |||
| 675 | - | ||
| 676 | // Get the (unqualified) name that should be used for this field in C code. | ||
| 677 | // The name is coerced to lower-case to emulate proto1 behavior. People | ||
| 678 | // should be using lowercase-with-underscores style for proto field names | ||
| 679 | |||
| 680 | From 0edca93db369fb84f01cc0d4e3ee4cd6c2ad7f4f Mon Sep 17 00:00:00 2001 | ||
| 681 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 682 | Date: Sat, 8 Feb 2025 20:39:11 -0500 | ||
| 683 | Subject: [PATCH 06/11] Convert various uses of `const char *` to | ||
| 684 | `compat::StringView` | ||
| 685 | |||
| 686 | Also replace some uses of arrays manually allocated with new/delete with | ||
| 687 | uses of `std::vector`. | ||
| 688 | --- | ||
| 689 | protoc-gen-c/c_enum.cc | 35 ++++++++++++++++++----------------- | ||
| 690 | protoc-gen-c/c_helpers.cc | 2 +- | ||
| 691 | protoc-gen-c/c_helpers.h | 2 +- | ||
| 692 | protoc-gen-c/c_message.cc | 28 ++++++++++++---------------- | ||
| 693 | protoc-gen-c/c_service.cc | 19 +++++++++---------- | ||
| 694 | 5 files changed, 41 insertions(+), 45 deletions(-) | ||
| 695 | |||
| 696 | diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc | ||
| 697 | index 311e4c86..c7839edd 100644 | ||
| 698 | --- a/protoc-gen-c/c_enum.cc | ||
| 699 | +++ b/protoc-gen-c/c_enum.cc | ||
| 700 | @@ -142,7 +142,7 @@ struct ValueIndex | ||
| 701 | int value; | ||
| 702 | unsigned index; | ||
| 703 | unsigned final_index; /* index in uniqified array of values */ | ||
| 704 | - const char *name; | ||
| 705 | + compat::StringView name; | ||
| 706 | }; | ||
| 707 | void EnumGenerator::GenerateValueInitializer(google::protobuf::io::Printer *printer, int index) | ||
| 708 | { | ||
| 709 | @@ -176,7 +176,7 @@ static int compare_value_indices_by_name(const void *a, const void *b) | ||
| 710 | { | ||
| 711 | const ValueIndex *vi_a = (const ValueIndex *) a; | ||
| 712 | const ValueIndex *vi_b = (const ValueIndex *) b; | ||
| 713 | - return strcmp (vi_a->name, vi_b->name); | ||
| 714 | + return vi_a->name.compare(vi_b->name); | ||
| 715 | } | ||
| 716 | |||
| 717 | void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printer) { | ||
| 718 | @@ -194,18 +194,20 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe | ||
| 719 | |||
| 720 | // Sort by name and value, dropping duplicate values if they appear later. | ||
| 721 | // TODO: use a c++ paradigm for this! | ||
| 722 | - NameIndex *name_index = new NameIndex[descriptor_->value_count()]; | ||
| 723 | - ValueIndex *value_index = new ValueIndex[descriptor_->value_count()]; | ||
| 724 | - for (int j = 0; j < descriptor_->value_count(); j++) { | ||
| 725 | + std::vector<ValueIndex> value_index; | ||
| 726 | + for (unsigned j = 0; j < descriptor_->value_count(); j++) { | ||
| 727 | const google::protobuf::EnumValueDescriptor *vd = descriptor_->value(j); | ||
| 728 | - name_index[j].index = j; | ||
| 729 | - name_index[j].name = vd->name().c_str(); | ||
| 730 | - value_index[j].index = j; | ||
| 731 | - value_index[j].value = vd->number(); | ||
| 732 | - value_index[j].name = vd->name().c_str(); | ||
| 733 | + value_index.push_back({ | ||
| 734 | + .value = vd->number(), | ||
| 735 | + .index = j, | ||
| 736 | + .final_index = 0, | ||
| 737 | + .name = vd->name(), | ||
| 738 | + }); | ||
| 739 | } | ||
| 740 | - qsort(value_index, descriptor_->value_count(), | ||
| 741 | - sizeof(ValueIndex), compare_value_indices_by_value_then_index); | ||
| 742 | + qsort(&value_index[0], | ||
| 743 | + value_index.size(), | ||
| 744 | + sizeof(ValueIndex), | ||
| 745 | + compare_value_indices_by_value_then_index); | ||
| 746 | |||
| 747 | // only record unique values | ||
| 748 | int n_unique_values; | ||
| 749 | @@ -275,8 +277,10 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe | ||
| 750 | vars["n_ranges"] = SimpleItoa(n_ranges); | ||
| 751 | |||
| 752 | if (!optimize_code_size) { | ||
| 753 | - qsort(value_index, descriptor_->value_count(), | ||
| 754 | - sizeof(ValueIndex), compare_value_indices_by_name); | ||
| 755 | + qsort(&value_index[0], | ||
| 756 | + value_index.size(), | ||
| 757 | + sizeof(ValueIndex), | ||
| 758 | + compare_value_indices_by_name); | ||
| 759 | printer->Print(vars, | ||
| 760 | "static const ProtobufCEnumValueIndex $lcclassname$__enum_values_by_name[$value_count$] =\n" | ||
| 761 | "{\n"); | ||
| 762 | @@ -319,9 +323,6 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe | ||
| 763 | " NULL,NULL,NULL,NULL /* reserved[1234] */\n" | ||
| 764 | "};\n"); | ||
| 765 | } | ||
| 766 | - | ||
| 767 | - delete[] value_index; | ||
| 768 | - delete[] name_index; | ||
| 769 | } | ||
| 770 | |||
| 771 | } // namespace protobuf_c | ||
| 772 | diff --git a/protoc-gen-c/c_helpers.cc b/protoc-gen-c/c_helpers.cc | ||
| 773 | index 1aecef93..dec9ce28 100644 | ||
| 774 | --- a/protoc-gen-c/c_helpers.cc | ||
| 775 | +++ b/protoc-gen-c/c_helpers.cc | ||
| 776 | @@ -261,7 +261,7 @@ int compare_name_indices_by_name(const void *a, const void *b) | ||
| 777 | { | ||
| 778 | const NameIndex *ni_a = (const NameIndex *) a; | ||
| 779 | const NameIndex *ni_b = (const NameIndex *) b; | ||
| 780 | - return strcmp (ni_a->name, ni_b->name); | ||
| 781 | + return ni_a->name.compare(ni_b->name); | ||
| 782 | } | ||
| 783 | |||
| 784 | std::string CEscape(compat::StringView src); | ||
| 785 | diff --git a/protoc-gen-c/c_helpers.h b/protoc-gen-c/c_helpers.h | ||
| 786 | index 985e4db6..69369997 100644 | ||
| 787 | --- a/protoc-gen-c/c_helpers.h | ||
| 788 | +++ b/protoc-gen-c/c_helpers.h | ||
| 789 | @@ -160,7 +160,7 @@ unsigned WriteIntRanges(google::protobuf::io::Printer* printer, int n_values, co | ||
| 790 | struct NameIndex | ||
| 791 | { | ||
| 792 | unsigned index; | ||
| 793 | - const char *name; | ||
| 794 | + compat::StringView name; | ||
| 795 | }; | ||
| 796 | int compare_name_indices_by_name(const void*, const void*); | ||
| 797 | |||
| 798 | diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc | ||
| 799 | index 46413873..7252923c 100644 | ||
| 800 | --- a/protoc-gen-c/c_message.cc | ||
| 801 | +++ b/protoc-gen-c/c_message.cc | ||
| 802 | @@ -567,27 +567,26 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) | ||
| 803 | "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n" | ||
| 804 | "{\n"); | ||
| 805 | printer->Indent(); | ||
| 806 | - const google::protobuf::FieldDescriptor **sorted_fields = new const google::protobuf::FieldDescriptor *[descriptor_->field_count()]; | ||
| 807 | + | ||
| 808 | + std::vector<const google::protobuf::FieldDescriptor*> sorted_fields; | ||
| 809 | for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 810 | - sorted_fields[i] = descriptor_->field(i); | ||
| 811 | + sorted_fields.push_back(descriptor_->field(i)); | ||
| 812 | } | ||
| 813 | - qsort (sorted_fields, descriptor_->field_count(), | ||
| 814 | + qsort(&sorted_fields[0], sorted_fields.size(), | ||
| 815 | sizeof(const google::protobuf::FieldDescriptor*), | ||
| 816 | compare_pfields_by_number); | ||
| 817 | - for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 818 | - const google::protobuf::FieldDescriptor* field = sorted_fields[i]; | ||
| 819 | + for (auto field : sorted_fields) { | ||
| 820 | field_generators_.get(field).GenerateDescriptorInitializer(printer); | ||
| 821 | } | ||
| 822 | printer->Outdent(); | ||
| 823 | printer->Print(vars, "};\n"); | ||
| 824 | |||
| 825 | if (!optimize_code_size) { | ||
| 826 | - NameIndex *field_indices = new NameIndex [descriptor_->field_count()]; | ||
| 827 | - for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 828 | - field_indices[i].name = sorted_fields[i]->name().c_str(); | ||
| 829 | - field_indices[i].index = i; | ||
| 830 | + std::vector<NameIndex> field_indices; | ||
| 831 | + for (unsigned i = 0; i < descriptor_->field_count(); i++) { | ||
| 832 | + field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); | ||
| 833 | } | ||
| 834 | - qsort (field_indices, descriptor_->field_count(), sizeof (NameIndex), | ||
| 835 | + qsort(&field_indices[0], field_indices.size(), sizeof(NameIndex), | ||
| 836 | compare_name_indices_by_name); | ||
| 837 | printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n"); | ||
| 838 | for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 839 | @@ -596,19 +595,16 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) | ||
| 840 | printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n"); | ||
| 841 | } | ||
| 842 | printer->Print("};\n"); | ||
| 843 | - delete[] field_indices; | ||
| 844 | } | ||
| 845 | |||
| 846 | // create range initializers | ||
| 847 | - int *values = new int[descriptor_->field_count()]; | ||
| 848 | + std::vector<int> values; | ||
| 849 | for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 850 | - values[i] = sorted_fields[i]->number(); | ||
| 851 | + values.push_back(sorted_fields[i]->number()); | ||
| 852 | } | ||
| 853 | int n_ranges = WriteIntRanges(printer, | ||
| 854 | - descriptor_->field_count(), values, | ||
| 855 | + descriptor_->field_count(), &values[0], | ||
| 856 | vars["lcclassname"] + "__number_ranges"); | ||
| 857 | - delete [] values; | ||
| 858 | - delete [] sorted_fields; | ||
| 859 | |||
| 860 | vars["n_ranges"] = SimpleItoa(n_ranges); | ||
| 861 | } else { | ||
| 862 | diff --git a/protoc-gen-c/c_service.cc b/protoc-gen-c/c_service.cc | ||
| 863 | index ee4d4a95..2c3ddcf3 100644 | ||
| 864 | --- a/protoc-gen-c/c_service.cc | ||
| 865 | +++ b/protoc-gen-c/c_service.cc | ||
| 866 | @@ -184,19 +184,19 @@ void ServiceGenerator::GenerateInit(google::protobuf::io::Printer* printer) | ||
| 867 | "}\n"); | ||
| 868 | } | ||
| 869 | |||
| 870 | -struct MethodIndexAndName { unsigned i; const char *name; }; | ||
| 871 | +struct MethodIndexAndName { unsigned i; compat::StringView name; }; | ||
| 872 | static int | ||
| 873 | compare_method_index_and_name_by_name (const void *a, const void *b) | ||
| 874 | { | ||
| 875 | const MethodIndexAndName *ma = (const MethodIndexAndName *) a; | ||
| 876 | const MethodIndexAndName *mb = (const MethodIndexAndName *) b; | ||
| 877 | - return strcmp (ma->name, mb->name); | ||
| 878 | + return ma->name.compare(mb->name); | ||
| 879 | } | ||
| 880 | |||
| 881 | void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* printer) | ||
| 882 | { | ||
| 883 | int n_methods = descriptor_->method_count(); | ||
| 884 | - MethodIndexAndName *mi_array = new MethodIndexAndName[n_methods]; | ||
| 885 | + std::vector<MethodIndexAndName> mi_array; | ||
| 886 | |||
| 887 | bool optimize_code_size = descriptor_->file()->options().has_optimize_for() && | ||
| 888 | descriptor_->file()->options().optimize_for() == | ||
| 889 | @@ -205,7 +205,7 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* | ||
| 890 | vars_["n_methods"] = SimpleItoa(n_methods); | ||
| 891 | printer->Print(vars_, "static const ProtobufCMethodDescriptor $lcfullname$__method_descriptors[$n_methods$] =\n" | ||
| 892 | "{\n"); | ||
| 893 | - for (int i = 0; i < n_methods; i++) { | ||
| 894 | + for (unsigned i = 0; i < n_methods; i++) { | ||
| 895 | const google::protobuf::MethodDescriptor* method = descriptor_->method(i); | ||
| 896 | vars_["method"] = method->name(); | ||
| 897 | vars_["input_descriptor"] = "&" + FullNameToLower(method->input_type()->full_name(), method->input_type()->file()) + "__descriptor"; | ||
| 898 | @@ -217,14 +217,15 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* | ||
| 899 | printer->Print(vars_, | ||
| 900 | " { \"$method$\", $input_descriptor$, $output_descriptor$ },\n"); | ||
| 901 | } | ||
| 902 | - mi_array[i].i = i; | ||
| 903 | - mi_array[i].name = method->name().c_str(); | ||
| 904 | + mi_array.push_back({i, method->name()}); | ||
| 905 | } | ||
| 906 | printer->Print(vars_, "};\n"); | ||
| 907 | |||
| 908 | if (!optimize_code_size) { | ||
| 909 | - qsort ((void*)mi_array, n_methods, sizeof (MethodIndexAndName), | ||
| 910 | - compare_method_index_and_name_by_name); | ||
| 911 | + qsort(&mi_array[0], | ||
| 912 | + mi_array.size(), | ||
| 913 | + sizeof(MethodIndexAndName), | ||
| 914 | + compare_method_index_and_name_by_name); | ||
| 915 | printer->Print(vars_, "const unsigned $lcfullname$__method_indices_by_name[] = {\n"); | ||
| 916 | for (int i = 0; i < n_methods; i++) { | ||
| 917 | vars_["i"] = SimpleItoa(mi_array[i].i); | ||
| 918 | @@ -258,8 +259,6 @@ void ServiceGenerator::GenerateServiceDescriptor(google::protobuf::io::Printer* | ||
| 919 | " $lcfullname$__method_indices_by_name\n" | ||
| 920 | "};\n"); | ||
| 921 | } | ||
| 922 | - | ||
| 923 | - delete[] mi_array; | ||
| 924 | } | ||
| 925 | |||
| 926 | void ServiceGenerator::GenerateCallersImplementations(google::protobuf::io::Printer* printer) | ||
| 927 | |||
| 928 | From ebeddac1a746393a16d9ba4cf80e3d12c3ab7d7f Mon Sep 17 00:00:00 2001 | ||
| 929 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 930 | Date: Sat, 8 Feb 2025 20:56:48 -0500 | ||
| 931 | Subject: [PATCH 07/11] Fix indentation of | ||
| 932 | MessageGenerator::GenerateMessageDescriptor() | ||
| 933 | |||
| 934 | --- | ||
| 935 | protoc-gen-c/c_message.cc | 321 +++++++++++++++++++------------------- | ||
| 936 | 1 file changed, 159 insertions(+), 162 deletions(-) | ||
| 937 | |||
| 938 | diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc | ||
| 939 | index 7252923c..2a3b2a2f 100644 | ||
| 940 | --- a/protoc-gen-c/c_message.cc | ||
| 941 | +++ b/protoc-gen-c/c_message.cc | ||
| 942 | @@ -461,199 +461,196 @@ GenerateHelperFunctionDefinitions(google::protobuf::io::Printer* printer, | ||
| 943 | |||
| 944 | void MessageGenerator:: | ||
| 945 | GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) { | ||
| 946 | - std::map<std::string, std::string> vars; | ||
| 947 | - vars["fullname"] = descriptor_->full_name(); | ||
| 948 | - vars["classname"] = FullNameToC(descriptor_->full_name(), descriptor_->file()); | ||
| 949 | - vars["lcclassname"] = FullNameToLower(descriptor_->full_name(), descriptor_->file()); | ||
| 950 | - vars["shortname"] = ToCamel(descriptor_->name()); | ||
| 951 | - vars["n_fields"] = SimpleItoa(descriptor_->field_count()); | ||
| 952 | - vars["packagename"] = descriptor_->file()->package(); | ||
| 953 | - | ||
| 954 | - bool optimize_code_size = descriptor_->file()->options().has_optimize_for() && | ||
| 955 | - descriptor_->file()->options().optimize_for() == | ||
| 956 | - google::protobuf::FileOptions_OptimizeMode_CODE_SIZE; | ||
| 957 | - | ||
| 958 | - const ProtobufCMessageOptions opt = | ||
| 959 | - descriptor_->options().GetExtension(pb_c_msg); | ||
| 960 | - // Override parent settings, if needed | ||
| 961 | - if (opt.has_gen_init_helpers()) | ||
| 962 | - gen_init = opt.gen_init_helpers(); | ||
| 963 | - | ||
| 964 | - for (int i = 0; i < descriptor_->nested_type_count(); i++) { | ||
| 965 | - nested_generators_[i]->GenerateMessageDescriptor(printer, gen_init); | ||
| 966 | - } | ||
| 967 | + std::map<std::string, std::string> vars; | ||
| 968 | + vars["fullname"] = descriptor_->full_name(); | ||
| 969 | + vars["classname"] = FullNameToC(descriptor_->full_name(), descriptor_->file()); | ||
| 970 | + vars["lcclassname"] = FullNameToLower(descriptor_->full_name(), descriptor_->file()); | ||
| 971 | + vars["shortname"] = ToCamel(descriptor_->name()); | ||
| 972 | + vars["n_fields"] = SimpleItoa(descriptor_->field_count()); | ||
| 973 | + vars["packagename"] = descriptor_->file()->package(); | ||
| 974 | |||
| 975 | - for (int i = 0; i < descriptor_->enum_type_count(); i++) { | ||
| 976 | - enum_generators_[i]->GenerateEnumDescriptor(printer); | ||
| 977 | - } | ||
| 978 | + bool optimize_code_size = descriptor_->file()->options().has_optimize_for() && | ||
| 979 | + descriptor_->file()->options().optimize_for() == | ||
| 980 | + google::protobuf::FileOptions_OptimizeMode_CODE_SIZE; | ||
| 981 | |||
| 982 | - for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 983 | - const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); | ||
| 984 | - if (fd->has_default_value()) { | ||
| 985 | - field_generators_.get(fd).GenerateDefaultValueImplementations(printer); | ||
| 986 | - } | ||
| 987 | - } | ||
| 988 | + const ProtobufCMessageOptions opt = descriptor_->options().GetExtension(pb_c_msg); | ||
| 989 | + // Override parent settings, if needed | ||
| 990 | + if (opt.has_gen_init_helpers()) { | ||
| 991 | + gen_init = opt.gen_init_helpers(); | ||
| 992 | + } | ||
| 993 | |||
| 994 | - for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 995 | - const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); | ||
| 996 | - const ProtobufCFieldOptions opt = fd->options().GetExtension(pb_c_field); | ||
| 997 | - if (fd->has_default_value()) { | ||
| 998 | - | ||
| 999 | - bool already_defined = false; | ||
| 1000 | - vars["name"] = fd->name(); | ||
| 1001 | - vars["lcname"] = CamelToLower(fd->name()); | ||
| 1002 | - vars["maybe_static"] = "static "; | ||
| 1003 | - vars["field_dv_ctype_suffix"] = ""; | ||
| 1004 | - vars["default_value"] = field_generators_.get(fd).GetDefaultValue(); | ||
| 1005 | - switch (fd->cpp_type()) { | ||
| 1006 | - case google::protobuf::FieldDescriptor::CPPTYPE_INT32: | ||
| 1007 | - vars["field_dv_ctype"] = "int32_t"; | ||
| 1008 | - break; | ||
| 1009 | - case google::protobuf::FieldDescriptor::CPPTYPE_INT64: | ||
| 1010 | - vars["field_dv_ctype"] = "int64_t"; | ||
| 1011 | - break; | ||
| 1012 | - case google::protobuf::FieldDescriptor::CPPTYPE_UINT32: | ||
| 1013 | - vars["field_dv_ctype"] = "uint32_t"; | ||
| 1014 | - break; | ||
| 1015 | - case google::protobuf::FieldDescriptor::CPPTYPE_UINT64: | ||
| 1016 | - vars["field_dv_ctype"] = "uint64_t"; | ||
| 1017 | - break; | ||
| 1018 | - case google::protobuf::FieldDescriptor::CPPTYPE_FLOAT: | ||
| 1019 | - vars["field_dv_ctype"] = "float"; | ||
| 1020 | - break; | ||
| 1021 | - case google::protobuf::FieldDescriptor::CPPTYPE_DOUBLE: | ||
| 1022 | - vars["field_dv_ctype"] = "double"; | ||
| 1023 | - break; | ||
| 1024 | - case google::protobuf::FieldDescriptor::CPPTYPE_BOOL: | ||
| 1025 | - vars["field_dv_ctype"] = "protobuf_c_boolean"; | ||
| 1026 | - break; | ||
| 1027 | - | ||
| 1028 | - case google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE: | ||
| 1029 | - // NOTE: not supported by protobuf | ||
| 1030 | - vars["maybe_static"] = ""; | ||
| 1031 | - vars["field_dv_ctype"] = "{ ... }"; | ||
| 1032 | - GOOGLE_LOG(FATAL) << "Messages can't have default values!"; | ||
| 1033 | - break; | ||
| 1034 | - case google::protobuf::FieldDescriptor::CPPTYPE_STRING: | ||
| 1035 | - if (fd->type() == google::protobuf::FieldDescriptor::TYPE_BYTES || opt.string_as_bytes()) | ||
| 1036 | - { | ||
| 1037 | - vars["field_dv_ctype"] = "ProtobufCBinaryData"; | ||
| 1038 | - } | ||
| 1039 | - else /* STRING type */ | ||
| 1040 | - { | ||
| 1041 | - already_defined = true; | ||
| 1042 | - vars["maybe_static"] = ""; | ||
| 1043 | - vars["field_dv_ctype"] = "char"; | ||
| 1044 | - vars["field_dv_ctype_suffix"] = "[]"; | ||
| 1045 | - } | ||
| 1046 | - break; | ||
| 1047 | - case google::protobuf::FieldDescriptor::CPPTYPE_ENUM: | ||
| 1048 | - { | ||
| 1049 | - const google::protobuf::EnumValueDescriptor* vd = fd->default_value_enum(); | ||
| 1050 | - vars["field_dv_ctype"] = FullNameToC(vd->type()->full_name(), vd->type()->file()); | ||
| 1051 | - break; | ||
| 1052 | - } | ||
| 1053 | - default: | ||
| 1054 | - GOOGLE_LOG(FATAL) << "Unknown CPPTYPE"; | ||
| 1055 | - break; | ||
| 1056 | - } | ||
| 1057 | - if (!already_defined) | ||
| 1058 | - printer->Print(vars, "$maybe_static$const $field_dv_ctype$ $lcclassname$__$lcname$__default_value$field_dv_ctype_suffix$ = $default_value$;\n"); | ||
| 1059 | - } | ||
| 1060 | - } | ||
| 1061 | + for (int i = 0; i < descriptor_->nested_type_count(); i++) { | ||
| 1062 | + nested_generators_[i]->GenerateMessageDescriptor(printer, gen_init); | ||
| 1063 | + } | ||
| 1064 | |||
| 1065 | - if ( descriptor_->field_count() ) { | ||
| 1066 | - printer->Print(vars, | ||
| 1067 | - "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n" | ||
| 1068 | - "{\n"); | ||
| 1069 | - printer->Indent(); | ||
| 1070 | + for (int i = 0; i < descriptor_->enum_type_count(); i++) { | ||
| 1071 | + enum_generators_[i]->GenerateEnumDescriptor(printer); | ||
| 1072 | + } | ||
| 1073 | |||
| 1074 | - std::vector<const google::protobuf::FieldDescriptor*> sorted_fields; | ||
| 1075 | for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1076 | - sorted_fields.push_back(descriptor_->field(i)); | ||
| 1077 | - } | ||
| 1078 | - qsort(&sorted_fields[0], sorted_fields.size(), | ||
| 1079 | - sizeof(const google::protobuf::FieldDescriptor*), | ||
| 1080 | - compare_pfields_by_number); | ||
| 1081 | - for (auto field : sorted_fields) { | ||
| 1082 | - field_generators_.get(field).GenerateDescriptorInitializer(printer); | ||
| 1083 | + const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); | ||
| 1084 | + if (fd->has_default_value()) { | ||
| 1085 | + field_generators_.get(fd).GenerateDefaultValueImplementations(printer); | ||
| 1086 | + } | ||
| 1087 | } | ||
| 1088 | - printer->Outdent(); | ||
| 1089 | - printer->Print(vars, "};\n"); | ||
| 1090 | |||
| 1091 | - if (!optimize_code_size) { | ||
| 1092 | - std::vector<NameIndex> field_indices; | ||
| 1093 | - for (unsigned i = 0; i < descriptor_->field_count(); i++) { | ||
| 1094 | - field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); | ||
| 1095 | + for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1096 | + const google::protobuf::FieldDescriptor* fd = descriptor_->field(i); | ||
| 1097 | + const ProtobufCFieldOptions opt = fd->options().GetExtension(pb_c_field); | ||
| 1098 | + if (fd->has_default_value()) { | ||
| 1099 | + bool already_defined = false; | ||
| 1100 | + vars["name"] = fd->name(); | ||
| 1101 | + vars["lcname"] = CamelToLower(fd->name()); | ||
| 1102 | + vars["maybe_static"] = "static "; | ||
| 1103 | + vars["field_dv_ctype_suffix"] = ""; | ||
| 1104 | + vars["default_value"] = field_generators_.get(fd).GetDefaultValue(); | ||
| 1105 | + switch (fd->cpp_type()) { | ||
| 1106 | + case google::protobuf::FieldDescriptor::CPPTYPE_INT32: | ||
| 1107 | + vars["field_dv_ctype"] = "int32_t"; | ||
| 1108 | + break; | ||
| 1109 | + case google::protobuf::FieldDescriptor::CPPTYPE_INT64: | ||
| 1110 | + vars["field_dv_ctype"] = "int64_t"; | ||
| 1111 | + break; | ||
| 1112 | + case google::protobuf::FieldDescriptor::CPPTYPE_UINT32: | ||
| 1113 | + vars["field_dv_ctype"] = "uint32_t"; | ||
| 1114 | + break; | ||
| 1115 | + case google::protobuf::FieldDescriptor::CPPTYPE_UINT64: | ||
| 1116 | + vars["field_dv_ctype"] = "uint64_t"; | ||
| 1117 | + break; | ||
| 1118 | + case google::protobuf::FieldDescriptor::CPPTYPE_FLOAT: | ||
| 1119 | + vars["field_dv_ctype"] = "float"; | ||
| 1120 | + break; | ||
| 1121 | + case google::protobuf::FieldDescriptor::CPPTYPE_DOUBLE: | ||
| 1122 | + vars["field_dv_ctype"] = "double"; | ||
| 1123 | + break; | ||
| 1124 | + case google::protobuf::FieldDescriptor::CPPTYPE_BOOL: | ||
| 1125 | + vars["field_dv_ctype"] = "protobuf_c_boolean"; | ||
| 1126 | + break; | ||
| 1127 | + case google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE: | ||
| 1128 | + // NOTE: not supported by protobuf | ||
| 1129 | + vars["maybe_static"] = ""; | ||
| 1130 | + vars["field_dv_ctype"] = "{ ... }"; | ||
| 1131 | + GOOGLE_LOG(FATAL) << "Messages can't have default values!"; | ||
| 1132 | + break; | ||
| 1133 | + case google::protobuf::FieldDescriptor::CPPTYPE_STRING: | ||
| 1134 | + if (fd->type() == google::protobuf::FieldDescriptor::TYPE_BYTES || opt.string_as_bytes()) { | ||
| 1135 | + vars["field_dv_ctype"] = "ProtobufCBinaryData"; | ||
| 1136 | + } else { | ||
| 1137 | + /* STRING type */ | ||
| 1138 | + already_defined = true; | ||
| 1139 | + vars["maybe_static"] = ""; | ||
| 1140 | + vars["field_dv_ctype"] = "char"; | ||
| 1141 | + vars["field_dv_ctype_suffix"] = "[]"; | ||
| 1142 | + } | ||
| 1143 | + break; | ||
| 1144 | + case google::protobuf::FieldDescriptor::CPPTYPE_ENUM: { | ||
| 1145 | + const google::protobuf::EnumValueDescriptor* vd = fd->default_value_enum(); | ||
| 1146 | + vars["field_dv_ctype"] = FullNameToC(vd->type()->full_name(), vd->type()->file()); | ||
| 1147 | + break; | ||
| 1148 | + } | ||
| 1149 | + default: | ||
| 1150 | + GOOGLE_LOG(FATAL) << "Unknown CPPTYPE"; | ||
| 1151 | + break; | ||
| 1152 | + } | ||
| 1153 | + if (!already_defined) { | ||
| 1154 | + printer->Print(vars, "$maybe_static$const $field_dv_ctype$ $lcclassname$__$lcname$__default_value$field_dv_ctype_suffix$ = $default_value$;\n"); | ||
| 1155 | + } | ||
| 1156 | } | ||
| 1157 | - qsort(&field_indices[0], field_indices.size(), sizeof(NameIndex), | ||
| 1158 | - compare_name_indices_by_name); | ||
| 1159 | - printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n"); | ||
| 1160 | + } | ||
| 1161 | + | ||
| 1162 | + if (descriptor_->field_count()) { | ||
| 1163 | + printer->Print(vars, | ||
| 1164 | + "static const ProtobufCFieldDescriptor $lcclassname$__field_descriptors[$n_fields$] =\n" | ||
| 1165 | + "{\n"); | ||
| 1166 | + printer->Indent(); | ||
| 1167 | + | ||
| 1168 | + std::vector<const google::protobuf::FieldDescriptor*> sorted_fields; | ||
| 1169 | for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1170 | - vars["index"] = SimpleItoa(field_indices[i].index); | ||
| 1171 | - vars["name"] = field_indices[i].name; | ||
| 1172 | - printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n"); | ||
| 1173 | + sorted_fields.push_back(descriptor_->field(i)); | ||
| 1174 | } | ||
| 1175 | - printer->Print("};\n"); | ||
| 1176 | - } | ||
| 1177 | + qsort(&sorted_fields[0], | ||
| 1178 | + sorted_fields.size(), | ||
| 1179 | + sizeof(const google::protobuf::FieldDescriptor*), | ||
| 1180 | + compare_pfields_by_number); | ||
| 1181 | + for (auto field : sorted_fields) { | ||
| 1182 | + field_generators_.get(field).GenerateDescriptorInitializer(printer); | ||
| 1183 | + } | ||
| 1184 | + printer->Outdent(); | ||
| 1185 | + printer->Print(vars, "};\n"); | ||
| 1186 | |||
| 1187 | - // create range initializers | ||
| 1188 | - std::vector<int> values; | ||
| 1189 | - for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1190 | - values.push_back(sorted_fields[i]->number()); | ||
| 1191 | - } | ||
| 1192 | - int n_ranges = WriteIntRanges(printer, | ||
| 1193 | - descriptor_->field_count(), &values[0], | ||
| 1194 | - vars["lcclassname"] + "__number_ranges"); | ||
| 1195 | + if (!optimize_code_size) { | ||
| 1196 | + std::vector<NameIndex> field_indices; | ||
| 1197 | + for (unsigned i = 0; i < descriptor_->field_count(); i++) { | ||
| 1198 | + field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); | ||
| 1199 | + } | ||
| 1200 | + qsort(&field_indices[0], | ||
| 1201 | + field_indices.size(), | ||
| 1202 | + sizeof(NameIndex), | ||
| 1203 | + compare_name_indices_by_name); | ||
| 1204 | + printer->Print(vars, "static const unsigned $lcclassname$__field_indices_by_name[] = {\n"); | ||
| 1205 | + for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1206 | + vars["index"] = SimpleItoa(field_indices[i].index); | ||
| 1207 | + vars["name"] = field_indices[i].name; | ||
| 1208 | + printer->Print(vars, " $index$, /* field[$index$] = $name$ */\n"); | ||
| 1209 | + } | ||
| 1210 | + printer->Print("};\n"); | ||
| 1211 | + } | ||
| 1212 | |||
| 1213 | - vars["n_ranges"] = SimpleItoa(n_ranges); | ||
| 1214 | - } else { | ||
| 1215 | - /* MS compiler can't handle arrays with zero size and empty | ||
| 1216 | - * initialization list. Furthermore it is an extension of GCC only but | ||
| 1217 | - * not a standard. */ | ||
| 1218 | - vars["n_ranges"] = "0"; | ||
| 1219 | - printer->Print(vars, | ||
| 1220 | - "#define $lcclassname$__field_descriptors NULL\n" | ||
| 1221 | - "#define $lcclassname$__field_indices_by_name NULL\n" | ||
| 1222 | - "#define $lcclassname$__number_ranges NULL\n"); | ||
| 1223 | + // create range initializers | ||
| 1224 | + std::vector<int> values; | ||
| 1225 | + for (int i = 0; i < descriptor_->field_count(); i++) { | ||
| 1226 | + values.push_back(sorted_fields[i]->number()); | ||
| 1227 | } | ||
| 1228 | + int n_ranges = WriteIntRanges(printer, | ||
| 1229 | + descriptor_->field_count(), | ||
| 1230 | + &values[0], | ||
| 1231 | + vars["lcclassname"] + "__number_ranges"); | ||
| 1232 | + | ||
| 1233 | + vars["n_ranges"] = SimpleItoa(n_ranges); | ||
| 1234 | + } else { | ||
| 1235 | + /* MS compiler can't handle arrays with zero size and empty | ||
| 1236 | + * initialization list. Furthermore it is an extension of GCC only but | ||
| 1237 | + * not a standard. */ | ||
| 1238 | + vars["n_ranges"] = "0"; | ||
| 1239 | + printer->Print(vars, | ||
| 1240 | + "#define $lcclassname$__field_descriptors NULL\n" | ||
| 1241 | + "#define $lcclassname$__field_indices_by_name NULL\n" | ||
| 1242 | + "#define $lcclassname$__number_ranges NULL\n"); | ||
| 1243 | + } | ||
| 1244 | |||
| 1245 | printer->Print(vars, | ||
| 1246 | - "const ProtobufCMessageDescriptor $lcclassname$__descriptor =\n" | ||
| 1247 | - "{\n" | ||
| 1248 | - " PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,\n"); | ||
| 1249 | + "const ProtobufCMessageDescriptor $lcclassname$__descriptor =\n" | ||
| 1250 | + "{\n" | ||
| 1251 | + " PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,\n"); | ||
| 1252 | if (optimize_code_size) { | ||
| 1253 | printer->Print(" NULL,NULL,NULL,NULL, /* CODE_SIZE */\n"); | ||
| 1254 | } else { | ||
| 1255 | printer->Print(vars, | ||
| 1256 | - " \"$fullname$\",\n" | ||
| 1257 | - " \"$shortname$\",\n" | ||
| 1258 | - " \"$classname$\",\n" | ||
| 1259 | - " \"$packagename$\",\n"); | ||
| 1260 | + " \"$fullname$\",\n" | ||
| 1261 | + " \"$shortname$\",\n" | ||
| 1262 | + " \"$classname$\",\n" | ||
| 1263 | + " \"$packagename$\",\n"); | ||
| 1264 | } | ||
| 1265 | printer->Print(vars, | ||
| 1266 | - " sizeof($classname$),\n" | ||
| 1267 | - " $n_fields$,\n" | ||
| 1268 | - " $lcclassname$__field_descriptors,\n"); | ||
| 1269 | + " sizeof($classname$),\n" | ||
| 1270 | + " $n_fields$,\n" | ||
| 1271 | + " $lcclassname$__field_descriptors,\n"); | ||
| 1272 | if (optimize_code_size) { | ||
| 1273 | printer->Print(" NULL, /* CODE_SIZE */\n"); | ||
| 1274 | } else { | ||
| 1275 | - printer->Print(vars, | ||
| 1276 | - " $lcclassname$__field_indices_by_name,\n"); | ||
| 1277 | + printer->Print(vars, " $lcclassname$__field_indices_by_name,\n"); | ||
| 1278 | } | ||
| 1279 | printer->Print(vars, | ||
| 1280 | - " $n_ranges$," | ||
| 1281 | - " $lcclassname$__number_ranges,\n"); | ||
| 1282 | + " $n_ranges$," | ||
| 1283 | + " $lcclassname$__number_ranges,\n"); | ||
| 1284 | if (gen_init) { | ||
| 1285 | - printer->Print(vars, | ||
| 1286 | - " (ProtobufCMessageInit) $lcclassname$__init,\n"); | ||
| 1287 | + printer->Print(vars, " (ProtobufCMessageInit) $lcclassname$__init,\n"); | ||
| 1288 | } else { | ||
| 1289 | - printer->Print(vars, | ||
| 1290 | - " NULL, /* gen_init_helpers = false */\n"); | ||
| 1291 | + printer->Print(vars, " NULL, /* gen_init_helpers = false */\n"); | ||
| 1292 | } | ||
| 1293 | printer->Print(vars, | ||
| 1294 | - " NULL,NULL,NULL /* reserved[123] */\n" | ||
| 1295 | - "};\n"); | ||
| 1296 | + " NULL,NULL,NULL /* reserved[123] */\n" | ||
| 1297 | + "};\n"); | ||
| 1298 | } | ||
| 1299 | |||
| 1300 | int MessageGenerator::GetOneofUnionOrder(const google::protobuf::FieldDescriptor* fd) | ||
| 1301 | |||
| 1302 | From c59b146aee2d97091ca2adeecd3f2741cb7f0082 Mon Sep 17 00:00:00 2001 | ||
| 1303 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 1304 | Date: Sat, 8 Feb 2025 21:10:37 -0500 | ||
| 1305 | Subject: [PATCH 08/11] compat: Use absl::string_view instead of | ||
| 1306 | google::protobuf::internal::DescriptorStringView | ||
| 1307 | |||
| 1308 | Even though google::protobuf::internal::DescriptorStringView is exposed | ||
| 1309 | in public protobuf headers, it's probably not a good idea to rely on an | ||
| 1310 | "internal" typedef. | ||
| 1311 | |||
| 1312 | According to https://protobuf.dev/news/2024-10-02/#descriptor-apis: | ||
| 1313 | |||
| 1314 | v30 will update return types in descriptor (such as full_name) to be | ||
| 1315 | absl::string_view. | ||
| 1316 | |||
| 1317 | So `absl::string_view` is probably the right type to use here. | ||
| 1318 | --- | ||
| 1319 | protoc-gen-c/compat.h | 6 +++++- | ||
| 1320 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
| 1321 | |||
| 1322 | diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h | ||
| 1323 | index fe8041b5..a70cef34 100644 | ||
| 1324 | --- a/protoc-gen-c/compat.h | ||
| 1325 | +++ b/protoc-gen-c/compat.h | ||
| 1326 | @@ -37,12 +37,16 @@ | ||
| 1327 | # define GOOGLE_LOG ABSL_LOG | ||
| 1328 | #endif | ||
| 1329 | |||
| 1330 | +#if GOOGLE_PROTOBUF_VERSION >= 6030000 | ||
| 1331 | +# include <absl/strings/string_view.h> | ||
| 1332 | +#endif | ||
| 1333 | + | ||
| 1334 | namespace protobuf_c { | ||
| 1335 | |||
| 1336 | namespace compat { | ||
| 1337 | |||
| 1338 | #if GOOGLE_PROTOBUF_VERSION >= 6030000 | ||
| 1339 | -typedef google::protobuf::internal::DescriptorStringView StringView; | ||
| 1340 | +typedef absl::string_view StringView; | ||
| 1341 | #else | ||
| 1342 | typedef const std::string& StringView; | ||
| 1343 | #endif | ||
| 1344 | |||
| 1345 | From 9c56038fd9d3cc2552c297457d7a66efe5cbd2c7 Mon Sep 17 00:00:00 2001 | ||
| 1346 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 1347 | Date: Sat, 8 Feb 2025 21:37:30 -0500 | ||
| 1348 | Subject: [PATCH 09/11] Makefile.am: Add compat.h to | ||
| 1349 | protoc_gen_c_protoc_gen_c_SOURCES | ||
| 1350 | |||
| 1351 | --- | ||
| 1352 | Makefile.am | 1 + | ||
| 1353 | 1 file changed, 1 insertion(+) | ||
| 1354 | |||
| 1355 | diff --git a/Makefile.am b/Makefile.am | ||
| 1356 | index 77aa9d99..26d19f16 100644 | ||
| 1357 | --- a/Makefile.am | ||
| 1358 | +++ b/Makefile.am | ||
| 1359 | @@ -102,6 +102,7 @@ protoc_gen_c_protoc_gen_c_SOURCES = \ | ||
| 1360 | protoc-gen-c/c_service.h \ | ||
| 1361 | protoc-gen-c/c_string_field.cc \ | ||
| 1362 | protoc-gen-c/c_string_field.h \ | ||
| 1363 | + protoc-gen-c/compat.h \ | ||
| 1364 | protobuf-c/protobuf-c.pb.cc \ | ||
| 1365 | protobuf-c/protobuf-c.pb.h \ | ||
| 1366 | protoc-gen-c/main.cc | ||
| 1367 | |||
| 1368 | From 4ebd5cd8238d1f2ac6291b8c8925f34e16ce2123 Mon Sep 17 00:00:00 2001 | ||
| 1369 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 1370 | Date: Sat, 8 Feb 2025 21:38:07 -0500 | ||
| 1371 | Subject: [PATCH 10/11] compat: Conditionalize the include of <string> | ||
| 1372 | |||
| 1373 | It is only needed on older protobuf versions where absl::string_view is | ||
| 1374 | not being used. | ||
| 1375 | --- | ||
| 1376 | protoc-gen-c/compat.h | 4 ++-- | ||
| 1377 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 1378 | |||
| 1379 | diff --git a/protoc-gen-c/compat.h b/protoc-gen-c/compat.h | ||
| 1380 | index a70cef34..f6ace7cb 100644 | ||
| 1381 | --- a/protoc-gen-c/compat.h | ||
| 1382 | +++ b/protoc-gen-c/compat.h | ||
| 1383 | @@ -28,8 +28,6 @@ | ||
| 1384 | #ifndef PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 1385 | #define PROTOBUF_C_PROTOC_GEN_C_COMPAT_H__ | ||
| 1386 | |||
| 1387 | -#include <string> | ||
| 1388 | - | ||
| 1389 | #if GOOGLE_PROTOBUF_VERSION >= 4022000 | ||
| 1390 | # define GOOGLE_ARRAYSIZE ABSL_ARRAYSIZE | ||
| 1391 | # define GOOGLE_CHECK_EQ ABSL_CHECK_EQ | ||
| 1392 | @@ -39,6 +37,8 @@ | ||
| 1393 | |||
| 1394 | #if GOOGLE_PROTOBUF_VERSION >= 6030000 | ||
| 1395 | # include <absl/strings/string_view.h> | ||
| 1396 | +#else | ||
| 1397 | +# include <string> | ||
| 1398 | #endif | ||
| 1399 | |||
| 1400 | namespace protobuf_c { | ||
| 1401 | |||
| 1402 | From 9a6b35e1e6956fb5cb044910448049b7a5339244 Mon Sep 17 00:00:00 2001 | ||
| 1403 | From: Robert Edmonds <edmonds@users.noreply.github.com> | ||
| 1404 | Date: Sat, 8 Feb 2025 21:44:42 -0500 | ||
| 1405 | Subject: [PATCH 11/11] Cater to Microsoft Visual C++ | ||
| 1406 | |||
| 1407 | Apparently MSVC doesn't support designated initializers for some reason. | ||
| 1408 | --- | ||
| 1409 | protoc-gen-c/c_enum.cc | 9 ++------- | ||
| 1410 | protoc-gen-c/c_message.cc | 2 +- | ||
| 1411 | 2 files changed, 3 insertions(+), 8 deletions(-) | ||
| 1412 | |||
| 1413 | diff --git a/protoc-gen-c/c_enum.cc b/protoc-gen-c/c_enum.cc | ||
| 1414 | index c7839edd..1940ba9d 100644 | ||
| 1415 | --- a/protoc-gen-c/c_enum.cc | ||
| 1416 | +++ b/protoc-gen-c/c_enum.cc | ||
| 1417 | @@ -195,14 +195,9 @@ void EnumGenerator::GenerateEnumDescriptor(google::protobuf::io::Printer* printe | ||
| 1418 | // Sort by name and value, dropping duplicate values if they appear later. | ||
| 1419 | // TODO: use a c++ paradigm for this! | ||
| 1420 | std::vector<ValueIndex> value_index; | ||
| 1421 | - for (unsigned j = 0; j < descriptor_->value_count(); j++) { | ||
| 1422 | + for (int j = 0; j < descriptor_->value_count(); j++) { | ||
| 1423 | const google::protobuf::EnumValueDescriptor *vd = descriptor_->value(j); | ||
| 1424 | - value_index.push_back({ | ||
| 1425 | - .value = vd->number(), | ||
| 1426 | - .index = j, | ||
| 1427 | - .final_index = 0, | ||
| 1428 | - .name = vd->name(), | ||
| 1429 | - }); | ||
| 1430 | + value_index.push_back({ vd->number(), (unsigned)j, 0, vd->name() }); | ||
| 1431 | } | ||
| 1432 | qsort(&value_index[0], | ||
| 1433 | value_index.size(), | ||
| 1434 | diff --git a/protoc-gen-c/c_message.cc b/protoc-gen-c/c_message.cc | ||
| 1435 | index 2a3b2a2f..94889179 100644 | ||
| 1436 | --- a/protoc-gen-c/c_message.cc | ||
| 1437 | +++ b/protoc-gen-c/c_message.cc | ||
| 1438 | @@ -581,7 +581,7 @@ GenerateMessageDescriptor(google::protobuf::io::Printer* printer, bool gen_init) | ||
| 1439 | if (!optimize_code_size) { | ||
| 1440 | std::vector<NameIndex> field_indices; | ||
| 1441 | for (unsigned i = 0; i < descriptor_->field_count(); i++) { | ||
| 1442 | - field_indices.push_back({ .index = i, .name = sorted_fields[i]->name() }); | ||
| 1443 | + field_indices.push_back({ i, sorted_fields[i]->name() }); | ||
| 1444 | } | ||
| 1445 | qsort(&field_indices[0], | ||
| 1446 | field_indices.size(), | ||
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.2.bb index 30c9e19b16..7fe514fe07 100644 --- a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.1.bb +++ b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.2.bb | |||
| @@ -13,11 +13,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bd8de4f63e06b1ccc06e9f8dc5b1aa97" | |||
| 13 | DEPENDS = "protobuf-native protobuf" | 13 | DEPENDS = "protobuf-native protobuf" |
| 14 | 14 | ||
| 15 | SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https \ | 15 | SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https \ |
| 16 | file://protobuf-30.patch \ | ||
| 17 | " | 16 | " |
| 18 | SRC_URI:append:class-native = " file://0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch" | 17 | SRC_URI:append:class-native = " file://0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch" |
| 19 | 18 | ||
| 20 | SRCREV = "185beed28e65494be7505b30c1afeaf199e19b23" | 19 | SRCREV = "4719fdd7760624388c2c5b9d6759eb6a47490626" |
| 21 | 20 | ||
| 22 | 21 | ||
| 23 | inherit autotools pkgconfig | 22 | inherit autotools pkgconfig |
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb b/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb index 4af48b0b99..880dd82b1d 100644 --- a/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb +++ b/meta-oe/recipes-devtools/protobuf/protobuf_6.33.6.bb | |||
| @@ -29,6 +29,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d\.\d+\.\d+)" | |||
| 29 | CVE_PRODUCT = "google:protobuf protobuf:protobuf google-protobuf protobuf-cpp" | 29 | CVE_PRODUCT = "google:protobuf protobuf:protobuf google-protobuf protobuf-cpp" |
| 30 | 30 | ||
| 31 | CVE_STATUS[CVE-2026-0994] = "cpe-incorrect: the vulnerability affects only python3-protobuf recipe" | 31 | CVE_STATUS[CVE-2026-0994] = "cpe-incorrect: the vulnerability affects only python3-protobuf recipe" |
| 32 | CVE_STATUS[CVE-2026-6409] = "cpe-incorrect: the vulnerability affects only the php library" | ||
| 32 | 33 | ||
| 33 | inherit cmake pkgconfig ptest | 34 | inherit cmake pkgconfig ptest |
| 34 | 35 | ||
diff --git a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb index 102e329878..0a3fbf5b93 100644 --- a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb +++ b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.3.0.bb | |||
| @@ -9,7 +9,7 @@ SECTION = "libs" | |||
| 9 | LICENSE = "Apache-2.0" | 9 | LICENSE = "Apache-2.0" |
| 10 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | 10 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" |
| 11 | 11 | ||
| 12 | CVE_PRODUCT = "xerces-c\+\+" | 12 | CVE_PRODUCT = "xerces-c++" |
| 13 | 13 | ||
| 14 | SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2 \ | 14 | SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2 \ |
| 15 | file://0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch \ | 15 | file://0001-aclocal.m4-don-t-use-full-path-of-with_curl-in-xerce.patch \ |
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch new file mode 100644 index 0000000000..2d51253e69 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | From bad5d689a69dca3d1dc3e7653946f1205661afbf Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Fri, 10 Apr 2026 13:25:39 +0800 | ||
| 4 | Subject: [PATCH 1/2] CMakeLists.txt: make CONFIGURATION_FILES_DIR aligned | ||
| 5 | |||
| 6 | Commit [723e90e dlt: Adaptation for QNX build system with SDP 7.x | ||
| 7 | (#609)], refer [1], make CONFIGURATION_FILES_DIR not aligned. the CMake | ||
| 8 | variable CONFIGURATION_FILES_DIR set to CMAKE_INSTALL_SYSCONFDIR, but | ||
| 9 | the tell the compiler to define macro CONFIGURATION_FILES_DIR as | ||
| 10 | ${CMAKE_INSTALL_PREFIX}/${CONFIGURATION_FILES_DIR}. | ||
| 11 | |||
| 12 | At least for linux, this will cause failure of the systemd service. Eg: | ||
| 13 | if CMAKE_INSTALL_PREFIX is /usr, then the configuration file is | ||
| 14 | installed under ${CONFIGURATION_FILES_DIR}, usually is /etc. But the | ||
| 15 | application like dlt-daemon/dlt-system will find the default | ||
| 16 | configuration file under /usr/etc. This makes service start failed. | ||
| 17 | |||
| 18 | [1] https://github.com/COVESA/dlt-daemon/commit/723e90e77db91130375238a592b9a292302a32bb | ||
| 19 | |||
| 20 | Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/issues/848] | ||
| 21 | |||
| 22 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 23 | --- | ||
| 24 | CMakeLists.txt | 2 +- | ||
| 25 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 26 | |||
| 27 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
| 28 | index bb9250f..821730a 100644 | ||
| 29 | --- a/CMakeLists.txt | ||
| 30 | +++ b/CMakeLists.txt | ||
| 31 | @@ -289,7 +289,7 @@ endif() | ||
| 32 | |||
| 33 | set(CONFIGURATION_FILES_DIR ${CMAKE_INSTALL_SYSCONFDIR}) | ||
| 34 | |||
| 35 | -add_definitions(-DCONFIGURATION_FILES_DIR="${CMAKE_INSTALL_PREFIX}/${CONFIGURATION_FILES_DIR}") | ||
| 36 | +add_definitions(-DCONFIGURATION_FILES_DIR="${CONFIGURATION_FILES_DIR}") | ||
| 37 | |||
| 38 | add_subdirectory(cmake) | ||
| 39 | |||
| 40 | -- | ||
| 41 | 2.34.1 | ||
| 42 | |||
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-daemon.c-fix-wrong-len.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-daemon.c-fix-wrong-len.patch new file mode 100644 index 0000000000..bac7691c32 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-dlt-daemon.c-fix-wrong-len.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | From 7e94c281563ff0eb67e521cf0a6fc3049f732214 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Wed, 15 Apr 2026 16:52:19 +0800 | ||
| 4 | Subject: [PATCH] dlt-daemon.c: fix wrong len | ||
| 5 | |||
| 6 | Set len to 0 makes the application description always empty. | ||
| 7 | One of the failure case: | ||
| 8 | Running "dlt-example-user 'test'", | ||
| 9 | Check "dlt-control -j localhost", will not get application description: | ||
| 10 | APID:LOG- | ||
| 11 | |||
| 12 | Expected: | ||
| 13 | APID:LOG- Test Application for Logging | ||
| 14 | |||
| 15 | Upstream-Status: Backport [https://github.com/COVESA/dlt-daemon/pull/852] | ||
| 16 | |||
| 17 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 18 | --- | ||
| 19 | src/daemon/dlt-daemon.c | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c | ||
| 23 | index 8c318a4..38fe824 100644 | ||
| 24 | --- a/src/daemon/dlt-daemon.c | ||
| 25 | +++ b/src/daemon/dlt-daemon.c | ||
| 26 | @@ -4110,7 +4110,7 @@ int dlt_daemon_process_user_message_register_application(DltDaemon *daemon, | ||
| 27 | to_remove = (uint32_t) temp; | ||
| 28 | } | ||
| 29 | |||
| 30 | - len = 0; | ||
| 31 | + len = userapp.description_length; | ||
| 32 | |||
| 33 | if (len > DLT_DAEMON_DESCSIZE) { | ||
| 34 | len = DLT_DAEMON_DESCSIZE; | ||
| 35 | -- | ||
| 36 | 2.34.1 | ||
| 37 | |||
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-fix-build-failure-when-systemd-is-enabled.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-fix-build-failure-when-systemd-is-enabled.patch index d19a23cd9c..b1ba08a7d3 100644 --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-fix-build-failure-when-systemd-is-enabled.patch +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-fix-build-failure-when-systemd-is-enabled.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 28322f951bb8510ddb4cf767426a67c81ce826ab Mon Sep 17 00:00:00 2001 | 1 | From 6a95cc20d3c5adfc5c16f269f6dca9f7e2305b4e Mon Sep 17 00:00:00 2001 |
| 2 | From: Changqing Li <changqing.li@windriver.com> | 2 | From: Changqing Li <changqing.li@windriver.com> |
| 3 | Date: Tue, 17 Mar 2026 13:04:11 +0800 | 3 | Date: Tue, 17 Mar 2026 13:04:11 +0800 |
| 4 | Subject: [PATCH] fix build failure when systemd is enabled | 4 | Subject: [PATCH] fix build failure when systemd is enabled |
| @@ -42,10 +42,10 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com> | |||
| 42 | src/system/dlt-system-logfile.c | 4 +-- | 42 | src/system/dlt-system-logfile.c | 4 +-- |
| 43 | src/system/dlt-system-process-handling.c | 2 +- | 43 | src/system/dlt-system-process-handling.c | 2 +- |
| 44 | src/system/dlt-system-processes.c | 2 +- | 44 | src/system/dlt-system-processes.c | 2 +- |
| 45 | src/system/dlt-system-syslog.c | 6 ++-- | 45 | src/system/dlt-system-syslog.c | 8 ++--- |
| 46 | src/system/dlt-system-watchdog.c | 8 ++--- | 46 | src/system/dlt-system-watchdog.c | 8 ++--- |
| 47 | systemd/3rdparty/sd-daemon.c | 5 +-- | 47 | systemd/3rdparty/sd-daemon.c | 5 +-- |
| 48 | 10 files changed, 40 insertions(+), 42 deletions(-) | 48 | 10 files changed, 41 insertions(+), 43 deletions(-) |
| 49 | 49 | ||
| 50 | diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c | 50 | diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c |
| 51 | index ef42f89..8c318a4 100644 | 51 | index ef42f89..8c318a4 100644 |
| @@ -329,10 +329,10 @@ index c35596c..b17b8ee 100644 | |||
| 329 | 329 | ||
| 330 | /* go through all process files in directory */ | 330 | /* go through all process files in directory */ |
| 331 | diff --git a/src/system/dlt-system-syslog.c b/src/system/dlt-system-syslog.c | 331 | diff --git a/src/system/dlt-system-syslog.c b/src/system/dlt-system-syslog.c |
| 332 | index 59e9d3f..d6b1b8a 100644 | 332 | index 59e9d3f..f0bf3dc 100644 |
| 333 | --- a/src/system/dlt-system-syslog.c | 333 | --- a/src/system/dlt-system-syslog.c |
| 334 | +++ b/src/system/dlt-system-syslog.c | 334 | +++ b/src/system/dlt-system-syslog.c |
| 335 | @@ -88,7 +88,7 @@ int init_socket(SyslogOptions opts) | 335 | @@ -88,11 +88,11 @@ int init_socket(SyslogOptions opts) |
| 336 | #ifdef DLT_USE_IPv6 | 336 | #ifdef DLT_USE_IPv6 |
| 337 | syslog_addr.sin6_family = AF_INET6; | 337 | syslog_addr.sin6_family = AF_INET6; |
| 338 | syslog_addr.sin6_addr = in6addr_any; | 338 | syslog_addr.sin6_addr = in6addr_any; |
| @@ -341,6 +341,11 @@ index 59e9d3f..d6b1b8a 100644 | |||
| 341 | #else | 341 | #else |
| 342 | syslog_addr.sin_family = AF_INET; | 342 | syslog_addr.sin_family = AF_INET; |
| 343 | syslog_addr.sin_addr.s_addr = INADDR_ANY; | 343 | syslog_addr.sin_addr.s_addr = INADDR_ANY; |
| 344 | - syslog_addr.sin_port = htons(opts.Port); | ||
| 345 | + syslog_addr.sin_port = htons((uint16_t)opts.Port); | ||
| 346 | memset(&(syslog_addr.sin_zero), 0, 8); | ||
| 347 | #endif | ||
| 348 | |||
| 344 | @@ -117,7 +117,7 @@ int read_socket(int sock) | 349 | @@ -117,7 +117,7 @@ int read_socket(int sock) |
| 345 | struct sockaddr_in client_addr; | 350 | struct sockaddr_in client_addr; |
| 346 | socklen_t addr_len = sizeof(struct sockaddr_in); | 351 | socklen_t addr_len = sizeof(struct sockaddr_in); |
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch new file mode 100644 index 0000000000..208e433e53 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-warnings-Fix-clang-generated-warnings.patch | |||
| @@ -0,0 +1,1003 @@ | |||
| 1 | From 74b36fab6e7e66ca470b7b2ca2a494edd8c673d5 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Fri, 10 Apr 2026 23:42:05 -0700 | ||
| 4 | Subject: [PATCH] warnings: Fix clang generated warnings | ||
| 5 | |||
| 6 | This patch ensures that it can compile with clang-22 | ||
| 7 | |||
| 8 | Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/850] | ||
| 9 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 10 | --- | ||
| 11 | CMakeLists.txt | 3 + | ||
| 12 | examples/example1/example1.c | 2 +- | ||
| 13 | examples/example1_v2/example1.c | 2 +- | ||
| 14 | examples/example2/example2.c | 2 +- | ||
| 15 | examples/example2_v2/example2.c | 2 +- | ||
| 16 | examples/example3/example3.c | 2 +- | ||
| 17 | examples/example3_v2/example3.c | 2 +- | ||
| 18 | examples/example4/example4.c | 2 +- | ||
| 19 | examples/example4_v2/example4.c | 2 +- | ||
| 20 | src/console/dlt-control-v2.c | 2 +- | ||
| 21 | src/console/dlt-passive-node-ctrl.c | 8 +-- | ||
| 22 | src/console/dlt-receive-v2.c | 2 +- | ||
| 23 | src/console/dlt-sortbytimestamp.c | 2 +- | ||
| 24 | src/console/logstorage/dlt-logstorage-ctrl.c | 2 +- | ||
| 25 | src/daemon/dlt-daemon.c | 6 +- | ||
| 26 | src/daemon/dlt-daemon.h | 2 +- | ||
| 27 | src/daemon/dlt_daemon_client.c | 6 +- | ||
| 28 | src/examples/dlt-example-filetransfer.c | 8 ++- | ||
| 29 | .../dlt-example-multicast-clientmsg-view.c | 4 +- | ||
| 30 | src/examples/dlt-example-user-common-api.c | 2 +- | ||
| 31 | src/examples/dlt-example-user-func-v2.c | 2 +- | ||
| 32 | src/examples/dlt-example-user-func.c | 2 +- | ||
| 33 | src/examples/dlt-example-user-v2.c | 4 +- | ||
| 34 | src/examples/dlt-example-user.c | 2 +- | ||
| 35 | src/lib/dlt_env_ll.c | 3 +- | ||
| 36 | src/lib/dlt_user.c | 70 +++++++++---------- | ||
| 37 | .../dlt_offline_logstorage.c | 2 +- | ||
| 38 | src/shared/dlt_log.c | 8 +-- | ||
| 39 | src/system/dlt-system-journal.c | 8 ++- | ||
| 40 | src/system/dlt-system-process-handling.c | 2 +- | ||
| 41 | src/system/dlt-system-shell.c | 2 +- | ||
| 42 | src/system/dlt-system.h | 4 +- | ||
| 43 | src/tests/dlt-test-client-v2.c | 2 +- | ||
| 44 | src/tests/dlt-test-fork-handler-v2.c | 2 +- | ||
| 45 | src/tests/dlt-test-fork-handler.c | 2 +- | ||
| 46 | src/tests/dlt-test-multi-process-v2.c | 8 +-- | ||
| 47 | src/tests/dlt-test-multi-process.c | 8 +-- | ||
| 48 | src/tests/dlt-test-non-verbose.c | 4 +- | ||
| 49 | src/tests/dlt-test-preregister-context-v2.c | 2 +- | ||
| 50 | src/tests/dlt-test-preregister-context.c | 2 +- | ||
| 51 | src/tests/dlt-test-qnx-slogger.c | 2 +- | ||
| 52 | src/tests/dlt-test-stress-client-v2.c | 2 +- | ||
| 53 | src/tests/dlt-test-stress-user-v2.c | 2 +- | ||
| 54 | src/tests/dlt-test-stress-v2.c | 2 +- | ||
| 55 | src/tests/dlt-test-stress.c | 2 +- | ||
| 56 | src/tests/dlt-test-user-v2.c | 2 +- | ||
| 57 | src/tests/dlt-test-user.c | 2 +- | ||
| 58 | tests/dlt_test_receiver.c | 2 +- | ||
| 59 | 48 files changed, 110 insertions(+), 108 deletions(-) | ||
| 60 | |||
| 61 | --- a/CMakeLists.txt | ||
| 62 | +++ b/CMakeLists.txt | ||
| 63 | @@ -261,7 +261,11 @@ add_compile_options( | ||
| 64 | -Wcast-qual | ||
| 65 | -Wno-system-headers | ||
| 66 | -Wno-unused-function | ||
| 67 | - -Wno-stringop-truncation | ||
| 68 | + $<$<AND:$<COMPILE_LANGUAGE:C>,$<C_COMPILER_ID:Clang>>:-Wno-gnu-statement-expression-from-macro-expansion> | ||
| 69 | + $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CXX_COMPILER_ID:Clang>>:-Wno-gnu-statement-expression-from-macro-expansion> | ||
| 70 | + $<$<CXX_COMPILER_ID:Clang>:-Wno-gnu-zero-variadic-macro-arguments> | ||
| 71 | + $<$<AND:$<COMPILE_LANGUAGE:C>,$<C_COMPILER_ID:GNU>>:-Wno-stringop-truncation> | ||
| 72 | + $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CXX_COMPILER_ID:GNU>>:-Wno-stringop-truncation> | ||
| 73 | ) | ||
| 74 | |||
| 75 | if(WITH_DOC STREQUAL "OFF") | ||
| 76 | --- a/examples/example1/example1.c | ||
| 77 | +++ b/examples/example1/example1.c | ||
| 78 | @@ -50,7 +50,7 @@ | ||
| 79 | |||
| 80 | DLT_DECLARE_CONTEXT(con_exa1); | ||
| 81 | |||
| 82 | -int main() | ||
| 83 | +int main(void) | ||
| 84 | { | ||
| 85 | struct timespec ts; | ||
| 86 | |||
| 87 | --- a/examples/example1_v2/example1.c | ||
| 88 | +++ b/examples/example1_v2/example1.c | ||
| 89 | @@ -50,7 +50,7 @@ | ||
| 90 | |||
| 91 | DLT_DECLARE_CONTEXT(con_exa1); | ||
| 92 | |||
| 93 | -int main() | ||
| 94 | +int main(void) | ||
| 95 | { | ||
| 96 | struct timespec ts; | ||
| 97 | |||
| 98 | --- a/examples/example2/example2.c | ||
| 99 | +++ b/examples/example2/example2.c | ||
| 100 | @@ -52,7 +52,7 @@ | ||
| 101 | |||
| 102 | DLT_DECLARE_CONTEXT(con_exa2); | ||
| 103 | |||
| 104 | -int main() | ||
| 105 | +int main(void) | ||
| 106 | { | ||
| 107 | int num; | ||
| 108 | struct timespec ts; | ||
| 109 | --- a/examples/example2_v2/example2.c | ||
| 110 | +++ b/examples/example2_v2/example2.c | ||
| 111 | @@ -52,7 +52,7 @@ | ||
| 112 | |||
| 113 | DLT_DECLARE_CONTEXT(con_exa2); | ||
| 114 | |||
| 115 | -int main() | ||
| 116 | +int main(void) | ||
| 117 | { | ||
| 118 | int num; | ||
| 119 | struct timespec ts; | ||
| 120 | --- a/examples/example3/example3.c | ||
| 121 | +++ b/examples/example3/example3.c | ||
| 122 | @@ -52,7 +52,7 @@ | ||
| 123 | |||
| 124 | DLT_DECLARE_CONTEXT(con_exa3); | ||
| 125 | |||
| 126 | -int main() | ||
| 127 | +int main(void) | ||
| 128 | { | ||
| 129 | int num; | ||
| 130 | struct timespec ts; | ||
| 131 | --- a/examples/example3_v2/example3.c | ||
| 132 | +++ b/examples/example3_v2/example3.c | ||
| 133 | @@ -52,7 +52,7 @@ | ||
| 134 | |||
| 135 | DLT_DECLARE_CONTEXT(con_exa3); | ||
| 136 | |||
| 137 | -int main() | ||
| 138 | +int main(void) | ||
| 139 | { | ||
| 140 | int num; | ||
| 141 | struct timespec ts; | ||
| 142 | --- a/examples/example4/example4.c | ||
| 143 | +++ b/examples/example4/example4.c | ||
| 144 | @@ -50,7 +50,7 @@ | ||
| 145 | |||
| 146 | DLT_DECLARE_CONTEXT(con_exa1); | ||
| 147 | |||
| 148 | -int main() | ||
| 149 | +int main(void) | ||
| 150 | { | ||
| 151 | unsigned char buffer[256]; | ||
| 152 | int num; | ||
| 153 | --- a/examples/example4_v2/example4.c | ||
| 154 | +++ b/examples/example4_v2/example4.c | ||
| 155 | @@ -50,7 +50,7 @@ | ||
| 156 | |||
| 157 | DLT_DECLARE_CONTEXT(con_exa1); | ||
| 158 | |||
| 159 | -int main() | ||
| 160 | +int main(void) | ||
| 161 | { | ||
| 162 | unsigned char buffer[256]; | ||
| 163 | int num; | ||
| 164 | --- a/src/console/dlt-control-v2.c | ||
| 165 | +++ b/src/console/dlt-control-v2.c | ||
| 166 | @@ -129,7 +129,7 @@ typedef struct { | ||
| 167 | /** | ||
| 168 | * Print usage information of tool. | ||
| 169 | */ | ||
| 170 | -void usage() | ||
| 171 | +void usage(void) | ||
| 172 | { | ||
| 173 | char version[255]; | ||
| 174 | |||
| 175 | --- a/src/console/dlt-passive-node-ctrl.c | ||
| 176 | +++ b/src/console/dlt-passive-node-ctrl.c | ||
| 177 | @@ -118,7 +118,7 @@ void set_node_id(char *id) | ||
| 178 | } | ||
| 179 | } | ||
| 180 | |||
| 181 | -char *get_node_id() | ||
| 182 | +char *get_node_id(void) | ||
| 183 | { | ||
| 184 | return g_options.node_id; | ||
| 185 | } | ||
| 186 | @@ -211,7 +211,7 @@ static int dlt_passive_node_analyze_resp | ||
| 187 | * | ||
| 188 | * @return Pointer ot DltControlMsgBody, NULL otherwise | ||
| 189 | */ | ||
| 190 | -DltControlMsgBody *dlt_passive_node_prepare_message_body() | ||
| 191 | +DltControlMsgBody *dlt_passive_node_prepare_message_body(void) | ||
| 192 | { | ||
| 193 | DltControlMsgBody *mb = calloc(1, sizeof(DltControlMsgBody)); | ||
| 194 | char *ecuid = get_node_id(); | ||
| 195 | @@ -271,7 +271,7 @@ void dlt_passive_node_destroy_message_bo | ||
| 196 | * | ||
| 197 | * @return 0 on success, -1 on error | ||
| 198 | */ | ||
| 199 | -static int dlt_passive_node_ctrl_single_request() | ||
| 200 | +static int dlt_passive_node_ctrl_single_request(void) | ||
| 201 | { | ||
| 202 | int ret = -1; | ||
| 203 | |||
| 204 | @@ -301,7 +301,7 @@ static int dlt_passive_node_ctrl_single_ | ||
| 205 | return ret; | ||
| 206 | } | ||
| 207 | |||
| 208 | -static void usage() | ||
| 209 | +static void usage(void) | ||
| 210 | { | ||
| 211 | printf("Usage: dlt-passive-node-ctrl [options]\n"); | ||
| 212 | printf("Send a trigger to DLT daemon to (dis)connect a passive node " | ||
| 213 | --- a/src/console/dlt-receive-v2.c | ||
| 214 | +++ b/src/console/dlt-receive-v2.c | ||
| 215 | @@ -144,7 +144,7 @@ typedef struct { | ||
| 216 | /** | ||
| 217 | * Print usage information of tool. | ||
| 218 | */ | ||
| 219 | -void usage() | ||
| 220 | +void usage(void) | ||
| 221 | { | ||
| 222 | char version[255]; | ||
| 223 | |||
| 224 | --- a/src/console/dlt-sortbytimestamp.c | ||
| 225 | +++ b/src/console/dlt-sortbytimestamp.c | ||
| 226 | @@ -194,7 +194,7 @@ void write_messages(int ohandle, DltFile | ||
| 227 | /** | ||
| 228 | * Print usage information of tool. | ||
| 229 | */ | ||
| 230 | -void usage() { | ||
| 231 | +void usage(void) { | ||
| 232 | char version[DLT_VERBUFSIZE]; | ||
| 233 | |||
| 234 | dlt_get_version(version, DLT_VERBUFSIZE); | ||
| 235 | --- a/src/console/logstorage/dlt-logstorage-ctrl.c | ||
| 236 | +++ b/src/console/logstorage/dlt-logstorage-ctrl.c | ||
| 237 | @@ -354,7 +354,7 @@ static int dlt_logstorage_ctrl_setup_eve | ||
| 238 | * | ||
| 239 | * @return 0 on success, -1 otherwise. | ||
| 240 | */ | ||
| 241 | -static int dlt_logstorage_ctrl_single_request() | ||
| 242 | +static int dlt_logstorage_ctrl_single_request(void) | ||
| 243 | { | ||
| 244 | int ret = 0; | ||
| 245 | |||
| 246 | --- a/src/daemon/dlt-daemon.c | ||
| 247 | +++ b/src/daemon/dlt-daemon.c | ||
| 248 | @@ -207,7 +207,7 @@ void close_pipes(int fds[2]) | ||
| 249 | /** | ||
| 250 | * Print usage information of tool. | ||
| 251 | */ | ||
| 252 | -void usage() | ||
| 253 | +void usage(void) | ||
| 254 | { | ||
| 255 | char version[DLT_DAEMON_TEXTBUFSIZE]; | ||
| 256 | dlt_get_version(version, DLT_DAEMON_TEXTBUFSIZE); | ||
| 257 | @@ -2489,7 +2489,7 @@ void dlt_daemon_local_cleanup(DltDaemon | ||
| 258 | free(daemon_local->flags.ipNodes); | ||
| 259 | } | ||
| 260 | |||
| 261 | -void dlt_daemon_exit_trigger() | ||
| 262 | +void dlt_daemon_exit_trigger(void) | ||
| 263 | { | ||
| 264 | /* stop event loop */ | ||
| 265 | g_exit = -1; | ||
| 266 | @@ -2655,7 +2655,7 @@ int dlt_daemon_log_internal(DltDaemon *d | ||
| 267 | |||
| 268 | msg.storageheadersizev2 = (uint32_t)(STORAGE_HEADER_V2_FIXED_SIZE + strlen(DLT_DAEMON_ECU_ID)); | ||
| 269 | msg.baseheadersizev2 = BASE_HEADER_V2_FIXED_SIZE; | ||
| 270 | - msg.baseheaderextrasizev2 = (int32_t)dlt_message_get_extraparameters_size_v2(msgcontent); | ||
| 271 | + msg.baseheaderextrasizev2 = (uint32_t)dlt_message_get_extraparameters_size_v2(msgcontent); | ||
| 272 | /* Ecu Id, App Id, Ctx Id and Session Id*/ | ||
| 273 | msg.extendedheadersizev2 = (uint32_t)(1 + strlen(DLT_DAEMON_ECU_ID) + 1 + strlen(app_id) + 1 + strlen(ctx_id) + sizeof(uint32_t)); | ||
| 274 | |||
| 275 | --- a/src/daemon/dlt-daemon.h | ||
| 276 | +++ b/src/daemon/dlt-daemon.h | ||
| 277 | @@ -217,7 +217,7 @@ int dlt_daemon_local_connection_init(Dlt | ||
| 278 | int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose); | ||
| 279 | |||
| 280 | void dlt_daemon_daemonize(int verbose); | ||
| 281 | -void dlt_daemon_exit_trigger(); | ||
| 282 | +void dlt_daemon_exit_trigger(void); | ||
| 283 | void dlt_daemon_signal_handler(int sig); | ||
| 284 | #ifdef __QNX__ | ||
| 285 | void dlt_daemon_cleanup_timers(); | ||
| 286 | --- a/src/daemon/dlt_daemon_client.c | ||
| 287 | +++ b/src/daemon/dlt_daemon_client.c | ||
| 288 | @@ -817,7 +817,7 @@ int dlt_daemon_client_send_control_messa | ||
| 289 | |||
| 290 | msg->storageheadersizev2 = (uint32_t)(STORAGE_HEADER_V2_FIXED_SIZE + (daemon->ecuid2len)); | ||
| 291 | msg->baseheadersizev2 = BASE_HEADER_V2_FIXED_SIZE; | ||
| 292 | - msg->baseheaderextrasizev2 = (int32_t)dlt_message_get_extraparameters_size_v2(DLT_CONTROL_MSG); | ||
| 293 | + msg->baseheaderextrasizev2 = (uint32_t)dlt_message_get_extraparameters_size_v2(DLT_CONTROL_MSG); | ||
| 294 | msg->extendedheadersizev2 = (uint32_t)((daemon->ecuid2len) + 1 + appidlen + 1 + ctxidlen + 1); | ||
| 295 | |||
| 296 | msg->headersizev2 = (int32_t)(msg->storageheadersizev2 + msg->baseheadersizev2 + | ||
| 297 | @@ -5388,7 +5388,7 @@ void dlt_daemon_control_passive_node_con | ||
| 298 | |||
| 299 | con = &daemon_local->pGateway.connections[i]; | ||
| 300 | |||
| 301 | - resp->connection_status[i] = con->status; | ||
| 302 | + resp->connection_status[i] = (uint8_t)con->status; | ||
| 303 | //TBD: Review node_id[i * con->ecuid2len] | ||
| 304 | memcpy(&resp->node_id[i * con->ecuid2len], con->ecuid2, con->ecuid2len); | ||
| 305 | } | ||
| 306 | @@ -5471,7 +5471,7 @@ void dlt_daemon_control_passive_node_con | ||
| 307 | |||
| 308 | con = &daemon_local->pGateway.connections[i]; | ||
| 309 | |||
| 310 | - resp->connection_status[i] = con->status; | ||
| 311 | + resp->connection_status[i] = (uint8_t)con->status; | ||
| 312 | memcpy(&resp->node_id[i * DLT_ID_SIZE], con->ecuid, DLT_ID_SIZE); | ||
| 313 | } | ||
| 314 | |||
| 315 | --- a/src/examples/dlt-example-filetransfer.c | ||
| 316 | +++ b/src/examples/dlt-example-filetransfer.c | ||
| 317 | @@ -84,9 +84,10 @@ bool shutdownStatus = false; | ||
| 318 | * The function will set the flag (shutdownStatus) to true after .2 sec | ||
| 319 | * @return Null to stop thread | ||
| 320 | */ | ||
| 321 | -void *cancel_filetransfer() | ||
| 322 | +void *cancel_filetransfer(void* arg) | ||
| 323 | { | ||
| 324 | // wait 200msec once a filetransfer is started and then set the flag to true | ||
| 325 | + (void)arg; | ||
| 326 | struct timespec ts; | ||
| 327 | ts.tv_sec = 0; | ||
| 328 | ts.tv_nsec = 200000000; // 200 ms | ||
| 329 | @@ -99,8 +100,9 @@ void *cancel_filetransfer() | ||
| 330 | * The function will start dlt filetransfer and will throw error if status of shutdownStatus is high | ||
| 331 | * @return Null to stop thread | ||
| 332 | */ | ||
| 333 | -void *filetransfer() | ||
| 334 | +void *filetransfer(void* arg) | ||
| 335 | { | ||
| 336 | + (void)arg; | ||
| 337 | int transferResult; | ||
| 338 | |||
| 339 | transferResult = dlt_user_log_file_header(&fileContext, file); | ||
| 340 | @@ -125,7 +127,7 @@ void *filetransfer() | ||
| 341 | /** | ||
| 342 | * Print usage information of tool. | ||
| 343 | */ | ||
| 344 | -void usage() | ||
| 345 | +void usage(void) | ||
| 346 | { | ||
| 347 | char version[255]; | ||
| 348 | |||
| 349 | --- a/src/examples/dlt-example-multicast-clientmsg-view.c | ||
| 350 | +++ b/src/examples/dlt-example-multicast-clientmsg-view.c | ||
| 351 | @@ -96,7 +96,7 @@ int dlt_receive_message_callback_udp(Dlt | ||
| 352 | { | ||
| 353 | static char text[DLT_RECEIVE_TEXTBUFSIZE]; | ||
| 354 | |||
| 355 | - if ((message == NULL)) { | ||
| 356 | + if (message == NULL) { | ||
| 357 | printf("NULL message in dlt_receive_message_callback_udp\n"); | ||
| 358 | return -1; | ||
| 359 | } | ||
| 360 | @@ -119,7 +119,7 @@ int dlt_receive_message_callback_udp(Dlt | ||
| 361 | } | ||
| 362 | |||
| 363 | |||
| 364 | -int main() | ||
| 365 | +int main(void) | ||
| 366 | { | ||
| 367 | struct clientinfostruct clientinfo; | ||
| 368 | struct ip_mreq mreq; | ||
| 369 | --- a/src/examples/dlt-example-user-common-api.c | ||
| 370 | +++ b/src/examples/dlt-example-user-common-api.c | ||
| 371 | @@ -66,7 +66,7 @@ DLT_DECLARE_CONTEXT(mycontext) | ||
| 372 | /** | ||
| 373 | * Print usage information of tool. | ||
| 374 | */ | ||
| 375 | -void usage() | ||
| 376 | +void usage(void) | ||
| 377 | { | ||
| 378 | char version[255]; | ||
| 379 | |||
| 380 | --- a/src/examples/dlt-example-user-func-v2.c | ||
| 381 | +++ b/src/examples/dlt-example-user-func-v2.c | ||
| 382 | @@ -84,7 +84,7 @@ DltContextData mycontextdata; | ||
| 383 | /** | ||
| 384 | * Print usage information of tool. | ||
| 385 | */ | ||
| 386 | -void usage() | ||
| 387 | +void usage(void) | ||
| 388 | { | ||
| 389 | char version[255]; | ||
| 390 | |||
| 391 | --- a/src/examples/dlt-example-user-func.c | ||
| 392 | +++ b/src/examples/dlt-example-user-func.c | ||
| 393 | @@ -82,7 +82,7 @@ DltContextData mycontextdata; | ||
| 394 | /** | ||
| 395 | * Print usage information of tool. | ||
| 396 | */ | ||
| 397 | -void usage() | ||
| 398 | +void usage(void) | ||
| 399 | { | ||
| 400 | char version[255]; | ||
| 401 | |||
| 402 | --- a/src/examples/dlt-example-user-v2.c | ||
| 403 | +++ b/src/examples/dlt-example-user-v2.c | ||
| 404 | @@ -88,7 +88,7 @@ DLT_DECLARE_CONTEXT(mycontext3) | ||
| 405 | /** | ||
| 406 | * Print usage information of tool. | ||
| 407 | */ | ||
| 408 | -void usage() | ||
| 409 | +void usage(void) | ||
| 410 | { | ||
| 411 | char version[255]; | ||
| 412 | |||
| 413 | @@ -458,4 +458,4 @@ int dlt_user_injection_callback_with_spe | ||
| 414 | void dlt_user_log_level_changed_callback_v2(char *context_id, uint8_t log_level, uint8_t trace_status) | ||
| 415 | { | ||
| 416 | printf("Log level changed of context %s, LogLevel=%u, TraceState=%u\n", context_id, log_level, trace_status); | ||
| 417 | -} | ||
| 418 | \ No newline at end of file | ||
| 419 | +} | ||
| 420 | --- a/src/examples/dlt-example-user.c | ||
| 421 | +++ b/src/examples/dlt-example-user.c | ||
| 422 | @@ -86,7 +86,7 @@ DLT_DECLARE_CONTEXT(mycontext3) | ||
| 423 | /** | ||
| 424 | * Print usage information of tool. | ||
| 425 | */ | ||
| 426 | -void usage() | ||
| 427 | +void usage(void) | ||
| 428 | { | ||
| 429 | char version[255]; | ||
| 430 | |||
| 431 | --- a/src/lib/dlt_env_ll.c | ||
| 432 | +++ b/src/lib/dlt_env_ll.c | ||
| 433 | @@ -125,7 +125,8 @@ int dlt_env_helper_to_lower(char **const | ||
| 434 | |||
| 435 | int dlt_env_extract_symbolic_ll(char **const env, int8_t *ll) | ||
| 436 | { | ||
| 437 | - char result[strlen("verbose") + 1]; | ||
| 438 | + char result[sizeof("verbose")]; | ||
| 439 | + | ||
| 440 | |||
| 441 | if (!env || !ll) { | ||
| 442 | return -1; | ||
| 443 | --- a/src/lib/dlt_user.c | ||
| 444 | +++ b/src/lib/dlt_user.c | ||
| 445 | @@ -545,7 +545,7 @@ DltReturnValue dlt_init(void) | ||
| 446 | |||
| 447 | /* Check logging mode and internal log file is opened or not*/ | ||
| 448 | if (logging_mode == DLT_LOG_TO_FILE && logging_handle == NULL) { | ||
| 449 | - dlt_log_init(logging_mode); | ||
| 450 | + dlt_log_init((int)logging_mode); | ||
| 451 | } | ||
| 452 | |||
| 453 | /* Initialize common part of dlt_init()/dlt_init_file() */ | ||
| 454 | @@ -2391,14 +2391,14 @@ DltReturnValue dlt_set_application_ll_ts | ||
| 455 | |||
| 456 | /* Update local structures */ | ||
| 457 | for (i = 0; i < dlt_user.dlt_ll_ts_num_entries; i++) { | ||
| 458 | - dlt_user.dlt_ll_ts[i].log_level = loglevel; | ||
| 459 | - dlt_user.dlt_ll_ts[i].trace_status = tracestatus; | ||
| 460 | + dlt_user.dlt_ll_ts[i].log_level = (int8_t)loglevel; | ||
| 461 | + dlt_user.dlt_ll_ts[i].trace_status = (int8_t)tracestatus; | ||
| 462 | |||
| 463 | if (dlt_user.dlt_ll_ts[i].log_level_ptr) | ||
| 464 | - *(dlt_user.dlt_ll_ts[i].log_level_ptr) = loglevel; | ||
| 465 | + *(dlt_user.dlt_ll_ts[i].log_level_ptr) = (int8_t)loglevel; | ||
| 466 | |||
| 467 | if (dlt_user.dlt_ll_ts[i].trace_status_ptr) | ||
| 468 | - *(dlt_user.dlt_ll_ts[i].trace_status_ptr) = tracestatus; | ||
| 469 | + *(dlt_user.dlt_ll_ts[i].trace_status_ptr) = (int8_t)tracestatus; | ||
| 470 | } | ||
| 471 | |||
| 472 | dlt_mutex_unlock(); | ||
| 473 | @@ -2413,7 +2413,7 @@ DltReturnValue dlt_set_application_ll_ts | ||
| 474 | } | ||
| 475 | } | ||
| 476 | |||
| 477 | -int dlt_get_log_state() | ||
| 478 | +int dlt_get_log_state(void) | ||
| 479 | { | ||
| 480 | return dlt_user.log_state; | ||
| 481 | } | ||
| 482 | @@ -2500,25 +2500,6 @@ DltReturnValue dlt_user_log_write_start_ | ||
| 483 | return DLT_RETURN_TRUE; | ||
| 484 | } | ||
| 485 | |||
| 486 | -static DltReturnValue dlt_user_log_write_start_internal(DltContext *handle, | ||
| 487 | - DltContextData *log, | ||
| 488 | - DltLogLevelType loglevel, | ||
| 489 | - uint32_t messageid, | ||
| 490 | - bool is_verbose); | ||
| 491 | - | ||
| 492 | -inline DltReturnValue dlt_user_log_write_start(DltContext *handle, DltContextData *log, DltLogLevelType loglevel) | ||
| 493 | -{ | ||
| 494 | - return dlt_user_log_write_start_internal(handle, log, loglevel, DLT_USER_DEFAULT_MSGID, true); | ||
| 495 | -} | ||
| 496 | - | ||
| 497 | -DltReturnValue dlt_user_log_write_start_id(DltContext *handle, | ||
| 498 | - DltContextData *log, | ||
| 499 | - DltLogLevelType loglevel, | ||
| 500 | - uint32_t messageid) | ||
| 501 | -{ | ||
| 502 | - return dlt_user_log_write_start_internal(handle, log, loglevel, messageid, false); | ||
| 503 | -} | ||
| 504 | - | ||
| 505 | DltReturnValue dlt_user_log_write_start_internal(DltContext *handle, | ||
| 506 | DltContextData *log, | ||
| 507 | DltLogLevelType loglevel, | ||
| 508 | @@ -2587,6 +2568,19 @@ DltReturnValue dlt_user_log_write_start_ | ||
| 509 | return ret; | ||
| 510 | } | ||
| 511 | |||
| 512 | +inline DltReturnValue dlt_user_log_write_start(DltContext *handle, DltContextData *log, DltLogLevelType loglevel) | ||
| 513 | +{ | ||
| 514 | + return dlt_user_log_write_start_internal(handle, log, loglevel, DLT_USER_DEFAULT_MSGID, true); | ||
| 515 | +} | ||
| 516 | + | ||
| 517 | +DltReturnValue dlt_user_log_write_start_id(DltContext *handle, | ||
| 518 | + DltContextData *log, | ||
| 519 | + DltLogLevelType loglevel, | ||
| 520 | + uint32_t messageid) | ||
| 521 | +{ | ||
| 522 | + return dlt_user_log_write_start_internal(handle, log, loglevel, messageid, false); | ||
| 523 | +} | ||
| 524 | + | ||
| 525 | DltReturnValue dlt_user_log_write_start_w_given_buffer(DltContext *handle, | ||
| 526 | DltContextData *log, | ||
| 527 | DltLogLevelType loglevel, | ||
| 528 | @@ -3746,7 +3740,7 @@ DltReturnValue dlt_user_trace_network_se | ||
| 529 | } | ||
| 530 | |||
| 531 | log.args_num = 0; | ||
| 532 | - log.trace_status = nw_trace_type; | ||
| 533 | + log.trace_status = (int32_t)nw_trace_type; | ||
| 534 | log.size = 0; | ||
| 535 | |||
| 536 | gettimeofday(&tv, NULL); | ||
| 537 | @@ -3848,7 +3842,7 @@ DltReturnValue dlt_user_trace_network_se | ||
| 538 | } | ||
| 539 | |||
| 540 | log.args_num = 0; | ||
| 541 | - log.trace_status = nw_trace_type; | ||
| 542 | + log.trace_status = (int32_t)nw_trace_type; | ||
| 543 | log.size = 0; | ||
| 544 | |||
| 545 | /* Write identifier */ | ||
| 546 | @@ -3917,7 +3911,7 @@ DltReturnValue dlt_user_trace_network_se | ||
| 547 | } | ||
| 548 | |||
| 549 | log.args_num = 0; | ||
| 550 | - log.trace_status = nw_trace_type; | ||
| 551 | + log.trace_status = (int32_t)nw_trace_type; | ||
| 552 | log.size = 0; | ||
| 553 | |||
| 554 | /* Write identifier */ | ||
| 555 | @@ -4184,7 +4178,7 @@ DltReturnValue dlt_user_trace_network_tr | ||
| 556 | } | ||
| 557 | |||
| 558 | log.args_num = 0; | ||
| 559 | - log.trace_status = nw_trace_type; | ||
| 560 | + log.trace_status = (int32_t)nw_trace_type; | ||
| 561 | log.size = 0; | ||
| 562 | |||
| 563 | if (header == NULL) | ||
| 564 | @@ -4556,7 +4550,7 @@ DltReturnValue dlt_log_raw_v2(DltContext | ||
| 565 | return DLT_RETURN_OK; | ||
| 566 | } | ||
| 567 | |||
| 568 | -DltReturnValue dlt_log_marker() | ||
| 569 | +DltReturnValue dlt_log_marker(void) | ||
| 570 | { | ||
| 571 | if (!DLT_USER_INITIALIZED) { | ||
| 572 | if (dlt_init() < DLT_RETURN_OK) { | ||
| 573 | @@ -6299,8 +6293,8 @@ DltReturnValue dlt_send_app_ll_ts_limit( | ||
| 574 | |||
| 575 | /* set usercontext */ | ||
| 576 | dlt_set_id(usercontext.apid, apid); /* application id */ | ||
| 577 | - usercontext.log_level = loglevel; | ||
| 578 | - usercontext.trace_status = tracestatus; | ||
| 579 | + usercontext.log_level = (uint8_t)loglevel; | ||
| 580 | + usercontext.trace_status = (uint8_t)tracestatus; | ||
| 581 | |||
| 582 | if (dlt_user.dlt_is_file) | ||
| 583 | return DLT_RETURN_OK; | ||
| 584 | @@ -6354,8 +6348,8 @@ DltReturnValue dlt_send_app_ll_ts_limit_ | ||
| 585 | } | ||
| 586 | usercontext.apidlen = (uint8_t)apidlen_sz; | ||
| 587 | dlt_set_id_v2(usercontext.apid, apid, usercontext.apidlen); /* application id */ | ||
| 588 | - usercontext.log_level = loglevel; | ||
| 589 | - usercontext.trace_status = tracestatus; | ||
| 590 | + usercontext.log_level = (uint8_t)loglevel; | ||
| 591 | + usercontext.trace_status = (uint8_t)tracestatus; | ||
| 592 | |||
| 593 | size_t buffersize = sizeof(uint8_t) + usercontext.apidlen + sizeof(uint8_t) + sizeof(uint8_t); | ||
| 594 | uint8_t buffer[DLT_ID_SIZE + 3]; | ||
| 595 | @@ -6435,7 +6429,7 @@ DltReturnValue dlt_user_log_send_log_mod | ||
| 596 | return DLT_RETURN_OK; | ||
| 597 | } | ||
| 598 | |||
| 599 | -DltReturnValue dlt_user_log_send_marker() | ||
| 600 | +DltReturnValue dlt_user_log_send_marker(void) | ||
| 601 | { | ||
| 602 | DltUserHeader userheader; | ||
| 603 | DltReturnValue ret; | ||
| 604 | @@ -7349,7 +7343,7 @@ void dlt_user_test_corrupt_message_size( | ||
| 605 | #endif | ||
| 606 | |||
| 607 | |||
| 608 | -int dlt_start_threads() | ||
| 609 | +int dlt_start_threads(void) | ||
| 610 | { | ||
| 611 | struct timespec time_to_wait, single_wait; | ||
| 612 | struct timespec now; | ||
| 613 | @@ -7438,7 +7432,7 @@ int dlt_start_threads() | ||
| 614 | return 0; | ||
| 615 | } | ||
| 616 | |||
| 617 | -void dlt_stop_threads() | ||
| 618 | +void dlt_stop_threads(void) | ||
| 619 | { | ||
| 620 | int dlt_housekeeperthread_result = 0; | ||
| 621 | int joined = 0; | ||
| 622 | @@ -7510,7 +7504,7 @@ void dlt_stop_threads() | ||
| 623 | #endif /* DLT_NETWORK_TRACE_ENABLE */ | ||
| 624 | } | ||
| 625 | |||
| 626 | -static void dlt_fork_child_fork_handler() | ||
| 627 | +static void dlt_fork_child_fork_handler(void) | ||
| 628 | { | ||
| 629 | g_dlt_is_child = 1; | ||
| 630 | dlt_user_init_state = INIT_UNITIALIZED; | ||
| 631 | --- a/src/offlinelogstorage/dlt_offline_logstorage.c | ||
| 632 | +++ b/src/offlinelogstorage/dlt_offline_logstorage.c | ||
| 633 | @@ -1732,7 +1732,7 @@ DLT_STATIC int dlt_daemon_offline_setup_ | ||
| 634 | continue; | ||
| 635 | |||
| 636 | /* check value and store temporary */ | ||
| 637 | - ret = dlt_logstorage_check_param(&tmp_data, i, value); | ||
| 638 | + ret = dlt_logstorage_check_param(&tmp_data, (DltLogstorageFilterConfType)i, value); | ||
| 639 | |||
| 640 | if (ret != 0) { | ||
| 641 | if (tmp_data.apids != NULL) { | ||
| 642 | --- a/src/shared/dlt_log.c | ||
| 643 | +++ b/src/shared/dlt_log.c | ||
| 644 | @@ -113,7 +113,7 @@ DltReturnValue dlt_log_init_multiple_log | ||
| 645 | return result; | ||
| 646 | } | ||
| 647 | |||
| 648 | -DltReturnValue dlt_log_init_single_logfile() | ||
| 649 | +DltReturnValue dlt_log_init_single_logfile(void) | ||
| 650 | { | ||
| 651 | /* internal logging to file */ | ||
| 652 | errno = 0; | ||
| 653 | @@ -333,14 +333,14 @@ void dlt_log_free(void) | ||
| 654 | } | ||
| 655 | } | ||
| 656 | |||
| 657 | -void dlt_log_free_single_logfile() | ||
| 658 | +void dlt_log_free_single_logfile(void) | ||
| 659 | { | ||
| 660 | if (logging_handle != NULL) { | ||
| 661 | fclose(logging_handle); | ||
| 662 | } | ||
| 663 | } | ||
| 664 | |||
| 665 | -void dlt_log_free_multiple_logfiles() | ||
| 666 | +void dlt_log_free_multiple_logfiles(void) | ||
| 667 | { | ||
| 668 | if (DLT_RETURN_ERROR == multiple_files_buffer_free(&multiple_files_ring_buffer)) return; | ||
| 669 | |||
| 670 | @@ -348,7 +348,7 @@ void dlt_log_free_multiple_logfiles() | ||
| 671 | multiple_files_ring_buffer.ohandle = -1; | ||
| 672 | } | ||
| 673 | |||
| 674 | -bool dlt_is_log_in_multiple_files_active() | ||
| 675 | +bool dlt_is_log_in_multiple_files_active(void) | ||
| 676 | { | ||
| 677 | return multiple_files_ring_buffer.ohandle > -1; | ||
| 678 | } | ||
| 679 | --- a/src/system/dlt-system-journal.c | ||
| 680 | +++ b/src/system/dlt-system-journal.c | ||
| 681 | @@ -73,7 +73,7 @@ typedef struct | ||
| 682 | DLT_IMPORT_CONTEXT(dltsystem) | ||
| 683 | DLT_DECLARE_CONTEXT(journalContext) | ||
| 684 | |||
| 685 | -int journal_checkUserBufferForFreeSpace() | ||
| 686 | +int journal_checkUserBufferForFreeSpace(void) | ||
| 687 | { | ||
| 688 | int total_size, used_size; | ||
| 689 | |||
| 690 | @@ -87,7 +87,7 @@ int journal_checkUserBufferForFreeSpace( | ||
| 691 | |||
| 692 | int dlt_system_journal_get(sd_journal *j, char *target, const char *field, size_t max_size) | ||
| 693 | { | ||
| 694 | - char *data; | ||
| 695 | + const char *data; | ||
| 696 | size_t length; | ||
| 697 | int error_code; | ||
| 698 | size_t field_size; | ||
| 699 | @@ -100,7 +100,9 @@ int dlt_system_journal_get(sd_journal *j | ||
| 700 | target[0] = 0; | ||
| 701 | |||
| 702 | /* get data from journal */ | ||
| 703 | - error_code = sd_journal_get_data(j, field, (const void **)&data, &length); | ||
| 704 | + const void *tmp; | ||
| 705 | + error_code = sd_journal_get_data(j, field, &tmp, &length); | ||
| 706 | + data = (const char *)tmp; | ||
| 707 | |||
| 708 | /* check if an error */ | ||
| 709 | if (error_code) | ||
| 710 | --- a/src/system/dlt-system-process-handling.c | ||
| 711 | +++ b/src/system/dlt-system-process-handling.c | ||
| 712 | @@ -72,7 +72,7 @@ volatile uint8_t quit = 0; | ||
| 713 | extern s_ft_inotify ino; | ||
| 714 | #endif | ||
| 715 | |||
| 716 | -int daemonize() | ||
| 717 | +int daemonize(void) | ||
| 718 | { | ||
| 719 | DLT_LOG(dltsystem, DLT_LOG_DEBUG, | ||
| 720 | DLT_STRING("dlt-system-process-handling, daemonize")); | ||
| 721 | --- a/src/system/dlt-system-shell.c | ||
| 722 | +++ b/src/system/dlt-system-shell.c | ||
| 723 | @@ -112,7 +112,7 @@ int dlt_shell_injection_callback(uint32_ | ||
| 724 | return 0; | ||
| 725 | } | ||
| 726 | |||
| 727 | -void init_shell() | ||
| 728 | +void init_shell(void) | ||
| 729 | { | ||
| 730 | DLT_LOG(dltsystem, DLT_LOG_DEBUG, | ||
| 731 | DLT_STRING("dlt-system-shell, register callback")); | ||
| 732 | --- a/src/system/dlt-system.h | ||
| 733 | +++ b/src/system/dlt-system.h | ||
| 734 | @@ -193,8 +193,8 @@ int read_configuration_file(DltSystemCon | ||
| 735 | void cleanup_config(DltSystemConfiguration *config, DltSystemCliOptions *options); | ||
| 736 | |||
| 737 | /* For dlt-process-handling.c */ | ||
| 738 | -int daemonize(); | ||
| 739 | -void init_shell(); | ||
| 740 | +int daemonize(void); | ||
| 741 | +void init_shell(void); | ||
| 742 | void dlt_system_signal_handler(int sig); | ||
| 743 | |||
| 744 | /* Main function for creating/registering all needed file descriptors and starting the poll for all of them. */ | ||
| 745 | --- a/src/tests/dlt-test-client-v2.c | ||
| 746 | +++ b/src/tests/dlt-test-client-v2.c | ||
| 747 | @@ -125,7 +125,7 @@ typedef struct | ||
| 748 | /** | ||
| 749 | * Print usage information of tool. | ||
| 750 | */ | ||
| 751 | -void usage() | ||
| 752 | +void usage(void) | ||
| 753 | { | ||
| 754 | char version[255]; | ||
| 755 | |||
| 756 | --- a/src/tests/dlt-test-fork-handler-v2.c | ||
| 757 | +++ b/src/tests/dlt-test-fork-handler-v2.c | ||
| 758 | @@ -91,7 +91,7 @@ void dlt_log_message(DltContext *context | ||
| 759 | /** | ||
| 760 | * @brief sample code for using at_fork-handler | ||
| 761 | */ | ||
| 762 | -int main() | ||
| 763 | +int main(void) | ||
| 764 | { | ||
| 765 | DltContext mainContext; | ||
| 766 | struct timespec timeout, r; | ||
| 767 | --- a/src/tests/dlt-test-fork-handler.c | ||
| 768 | +++ b/src/tests/dlt-test-fork-handler.c | ||
| 769 | @@ -49,7 +49,7 @@ void dlt_log_message(DltContext *context | ||
| 770 | /** | ||
| 771 | * @brief sample code for using at_fork-handler | ||
| 772 | */ | ||
| 773 | -int main() | ||
| 774 | +int main(void) | ||
| 775 | { | ||
| 776 | DltContext mainContext; | ||
| 777 | struct timespec timeout, r; | ||
| 778 | --- a/src/tests/dlt-test-multi-process-v2.c | ||
| 779 | +++ b/src/tests/dlt-test-multi-process-v2.c | ||
| 780 | @@ -112,11 +112,11 @@ typedef struct { | ||
| 781 | /* Forward declarations */ | ||
| 782 | void init_params(s_parameters *params); | ||
| 783 | void quit_handler(int signum); | ||
| 784 | -void cleanup(); | ||
| 785 | +void cleanup(void); | ||
| 786 | void do_forks(s_parameters params); | ||
| 787 | void run_threads(s_parameters params); | ||
| 788 | void *do_logging(void *data); | ||
| 789 | -int wait_for_death(); | ||
| 790 | +int wait_for_death(void); | ||
| 791 | |||
| 792 | /* State information */ | ||
| 793 | volatile sig_atomic_t in_handler = 0; | ||
| 794 | @@ -323,7 +323,7 @@ void quit_handler(int signum) | ||
| 795 | /** | ||
| 796 | * Ask the child processes to die | ||
| 797 | */ | ||
| 798 | -void cleanup() | ||
| 799 | +void cleanup(void) | ||
| 800 | { | ||
| 801 | unsigned int i; | ||
| 802 | |||
| 803 | @@ -458,7 +458,7 @@ void run_threads(s_parameters params) | ||
| 804 | /** | ||
| 805 | * Wait for child processes to complete their work. | ||
| 806 | */ | ||
| 807 | -int wait_for_death() | ||
| 808 | +int wait_for_death(void) | ||
| 809 | { | ||
| 810 | int pids_left = (int) pidcount; | ||
| 811 | |||
| 812 | --- a/src/tests/dlt-test-multi-process.c | ||
| 813 | +++ b/src/tests/dlt-test-multi-process.c | ||
| 814 | @@ -89,11 +89,11 @@ typedef struct { | ||
| 815 | /* Forward declarations */ | ||
| 816 | void init_params(s_parameters *params); | ||
| 817 | void quit_handler(int signum); | ||
| 818 | -void cleanup(); | ||
| 819 | +void cleanup(void); | ||
| 820 | void do_forks(s_parameters params); | ||
| 821 | void run_threads(s_parameters params); | ||
| 822 | void *do_logging(void *arg); | ||
| 823 | -int wait_for_death(); | ||
| 824 | +int wait_for_death(void); | ||
| 825 | |||
| 826 | /* State information */ | ||
| 827 | volatile sig_atomic_t in_handler = 0; | ||
| 828 | @@ -300,7 +300,7 @@ void quit_handler(int signum) | ||
| 829 | /** | ||
| 830 | * Ask the child processes to die | ||
| 831 | */ | ||
| 832 | -void cleanup() | ||
| 833 | +void cleanup(void) | ||
| 834 | { | ||
| 835 | unsigned int i; | ||
| 836 | |||
| 837 | @@ -435,7 +435,7 @@ void run_threads(s_parameters params) | ||
| 838 | /** | ||
| 839 | * Wait for child processes to complete their work. | ||
| 840 | */ | ||
| 841 | -int wait_for_death() | ||
| 842 | +int wait_for_death(void) | ||
| 843 | { | ||
| 844 | int pids_left = (int) pidcount; | ||
| 845 | |||
| 846 | --- a/src/tests/dlt-test-non-verbose.c | ||
| 847 | +++ b/src/tests/dlt-test-non-verbose.c | ||
| 848 | @@ -58,7 +58,7 @@ DltContextData context_data; | ||
| 849 | |||
| 850 | void dlt_user_log_level_changed_callback(char context_id[DLT_ID_SIZE],uint8_t log_level,uint8_t trace_status); | ||
| 851 | |||
| 852 | -void usage() | ||
| 853 | +void usage(void) | ||
| 854 | { | ||
| 855 | char version[DLT_COMMON_BUFFER_LENGTH]; | ||
| 856 | |||
| 857 | @@ -84,7 +84,7 @@ void usage() | ||
| 858 | /******************/ | ||
| 859 | /* The test cases */ | ||
| 860 | /******************/ | ||
| 861 | -int test_logstorage() | ||
| 862 | +int test_logstorage(void) | ||
| 863 | { | ||
| 864 | int delay = LOG_DELAY; | ||
| 865 | int i; | ||
| 866 | --- a/src/tests/dlt-test-preregister-context-v2.c | ||
| 867 | +++ b/src/tests/dlt-test-preregister-context-v2.c | ||
| 868 | @@ -72,7 +72,7 @@ | ||
| 869 | /** | ||
| 870 | * @brief sample code for using pre-registered contexts | ||
| 871 | */ | ||
| 872 | -int main() | ||
| 873 | +int main(void) | ||
| 874 | { | ||
| 875 | DltContext mainContext; | ||
| 876 | struct timespec ts; | ||
| 877 | --- a/src/tests/dlt-test-preregister-context.c | ||
| 878 | +++ b/src/tests/dlt-test-preregister-context.c | ||
| 879 | @@ -30,7 +30,7 @@ | ||
| 880 | /** | ||
| 881 | * @brief sample code for using pre-registered contexts | ||
| 882 | */ | ||
| 883 | -int main() | ||
| 884 | +int main(void) | ||
| 885 | { | ||
| 886 | DltContext mainContext; | ||
| 887 | struct timespec ts; | ||
| 888 | --- a/src/tests/dlt-test-qnx-slogger.c | ||
| 889 | +++ b/src/tests/dlt-test-qnx-slogger.c | ||
| 890 | @@ -28,7 +28,7 @@ | ||
| 891 | #define DELAY 500 | ||
| 892 | #define LENGTH 100 | ||
| 893 | |||
| 894 | -void usage() | ||
| 895 | +void usage(void) | ||
| 896 | { | ||
| 897 | char version[255]; | ||
| 898 | |||
| 899 | --- a/src/tests/dlt-test-stress-client-v2.c | ||
| 900 | +++ b/src/tests/dlt-test-stress-client-v2.c | ||
| 901 | @@ -127,7 +127,7 @@ typedef struct | ||
| 902 | /** | ||
| 903 | * Print usage information of tool. | ||
| 904 | */ | ||
| 905 | -void usage() | ||
| 906 | +void usage(void) | ||
| 907 | { | ||
| 908 | char version[255]; | ||
| 909 | |||
| 910 | --- a/src/tests/dlt-test-stress-user-v2.c | ||
| 911 | +++ b/src/tests/dlt-test-stress-user-v2.c | ||
| 912 | @@ -86,7 +86,7 @@ DltContextData context_data; | ||
| 913 | /** | ||
| 914 | * Print usage information of tool. | ||
| 915 | */ | ||
| 916 | -void usage() | ||
| 917 | +void usage(void) | ||
| 918 | { | ||
| 919 | char version[255]; | ||
| 920 | |||
| 921 | --- a/src/tests/dlt-test-stress-v2.c | ||
| 922 | +++ b/src/tests/dlt-test-stress-v2.c | ||
| 923 | @@ -104,7 +104,7 @@ char *env_manual_interruption = 0; | ||
| 924 | /** | ||
| 925 | * Print usage information of tool. | ||
| 926 | */ | ||
| 927 | -void usage() | ||
| 928 | +void usage(void) | ||
| 929 | { | ||
| 930 | char version[255]; | ||
| 931 | |||
| 932 | --- a/src/tests/dlt-test-stress.c | ||
| 933 | +++ b/src/tests/dlt-test-stress.c | ||
| 934 | @@ -105,7 +105,7 @@ char *env_manual_interruption = 0; | ||
| 935 | /** | ||
| 936 | * Print usage information of tool. | ||
| 937 | */ | ||
| 938 | -void usage() | ||
| 939 | +void usage(void) | ||
| 940 | { | ||
| 941 | char version[255]; | ||
| 942 | |||
| 943 | --- a/src/tests/dlt-test-user-v2.c | ||
| 944 | +++ b/src/tests/dlt-test-user-v2.c | ||
| 945 | @@ -142,7 +142,7 @@ DltContextData context_data; | ||
| 946 | /** | ||
| 947 | * Print usage information of tool. | ||
| 948 | */ | ||
| 949 | -void usage() | ||
| 950 | +void usage(void) | ||
| 951 | { | ||
| 952 | char version[255]; | ||
| 953 | |||
| 954 | --- a/src/tests/dlt-test-user.c | ||
| 955 | +++ b/src/tests/dlt-test-user.c | ||
| 956 | @@ -144,7 +144,7 @@ DltContextData context_data; | ||
| 957 | /** | ||
| 958 | * Print usage information of tool. | ||
| 959 | */ | ||
| 960 | -void usage() | ||
| 961 | +void usage(void) | ||
| 962 | { | ||
| 963 | char version[255]; | ||
| 964 | |||
| 965 | --- a/tests/dlt_test_receiver.c | ||
| 966 | +++ b/tests/dlt_test_receiver.c | ||
| 967 | @@ -107,7 +107,7 @@ int result = 0; | ||
| 968 | /** | ||
| 969 | * Print usage information of tool. | ||
| 970 | */ | ||
| 971 | -void usage() | ||
| 972 | +void usage(void) | ||
| 973 | { | ||
| 974 | char version[255]; | ||
| 975 | |||
| 976 | --- a/src/shared/dlt_common.c | ||
| 977 | +++ b/src/shared/dlt_common.c | ||
| 978 | @@ -6108,7 +6108,7 @@ DltReturnValue dlt_message_argument_prin | ||
| 979 | return DLT_RETURN_OK; | ||
| 980 | } | ||
| 981 | |||
| 982 | -void dlt_check_envvar() | ||
| 983 | +void dlt_check_envvar(void) | ||
| 984 | { | ||
| 985 | char *env_log_filename = getenv("DLT_LOG_FILENAME"); | ||
| 986 | |||
| 987 | --- a/src/system/dlt-system-filetransfer.c | ||
| 988 | +++ b/src/system/dlt-system-filetransfer.c | ||
| 989 | @@ -724,10 +724,14 @@ int process_files(FiletransferOptions co | ||
| 990 | } | ||
| 991 | |||
| 992 | char *tosend = malloc(length); | ||
| 993 | +#ifndef __clang__ | ||
| 994 | #pragma GCC diagnostic push | ||
| 995 | #pragma GCC diagnostic ignored "-Wformat-truncation=" | ||
| 996 | +#endif | ||
| 997 | snprintf(tosend, length, "%s/%s", opts->Directory[j], ie->name); | ||
| 998 | +#ifndef __clang__ | ||
| 999 | #pragma GCC diagnostic pop | ||
| 1000 | +#endif | ||
| 1001 | send_one(tosend, opts, j); | ||
| 1002 | free(tosend); | ||
| 1003 | } | ||
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/char_conversion.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/char_conversion.patch new file mode 100644 index 0000000000..8d943b9764 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/char_conversion.patch | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | daemon: fix sign-conversion warning in dlt_timer_conn_types array type | ||
| 2 | |||
| 3 | Change dlt_timer_conn_types from char[] to DltConnectionType[] to match | ||
| 4 | the actual type of values stored in the array. | ||
| 5 | |||
| 6 | This was silently working on arm64 because char is unsigned by default on | ||
| 7 | that architecture, making it compatible with DltConnectionType (an unsigned | ||
| 8 | enum). On x86_64, char is signed by default, causing an implicit signed-to- | ||
| 9 | unsigned conversion when passing array elements to dlt_connection_create(), | ||
| 10 | which triggered -Wsign-conversion and broke the build. | ||
| 11 | |||
| 12 | The fix corrects the array's declared type to match its contents, making the | ||
| 13 | code portable regardless of the platform's char signedness. | ||
| 14 | |||
| 15 | Upstream-Status: Pending | ||
| 16 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 17 | --- a/src/daemon/dlt-daemon.c | ||
| 18 | +++ b/src/daemon/dlt-daemon.c | ||
| 19 | @@ -140,7 +140,7 @@ int g_signo = 0; | ||
| 20 | /* used for value from conf file */ | ||
| 21 | static int value_length = 1024; | ||
| 22 | |||
| 23 | -static char dlt_timer_conn_types[DLT_TIMER_UNKNOWN + 1] = { | ||
| 24 | +static DltConnectionType dlt_timer_conn_types[DLT_TIMER_UNKNOWN + 1] = { | ||
| 25 | [DLT_TIMER_PACKET] = DLT_CONNECTION_ONE_S_TIMER, | ||
| 26 | [DLT_TIMER_ECU] = DLT_CONNECTION_SIXTY_S_TIMER, | ||
| 27 | #ifdef DLT_SYSTEMD_WATCHDOG_ENABLE | ||
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb index 431e9f3067..6de62c2a3d 100644 --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb | |||
| @@ -22,6 +22,10 @@ SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \ | |||
| 22 | file://0001-Fix-build-failures.patch \ | 22 | file://0001-Fix-build-failures.patch \ |
| 23 | file://0001-fix-build-failure-when-systemd-is-enabled.patch \ | 23 | file://0001-fix-build-failure-when-systemd-is-enabled.patch \ |
| 24 | file://0001-Fix-build-failure-with-glibc-2.43.patch \ | 24 | file://0001-Fix-build-failure-with-glibc-2.43.patch \ |
| 25 | file://0001-CMakeLists.txt-make-CONFIGURATION_FILES_DIR-aligned.patch \ | ||
| 26 | file://0001-warnings-Fix-clang-generated-warnings.patch \ | ||
| 27 | file://0001-dlt-daemon.c-fix-wrong-len.patch \ | ||
| 28 | file://char_conversion.patch \ | ||
| 25 | " | 29 | " |
| 26 | SRCREV = "f595ea29d1007ca1c3b2d1fd3a88adf7d3db6320" | 30 | SRCREV = "f595ea29d1007ca1c3b2d1fd3a88adf7d3db6320" |
| 27 | 31 | ||
| @@ -53,7 +57,7 @@ inherit autotools gettext cmake pkgconfig systemd | |||
| 53 | 57 | ||
| 54 | # -DWITH_DLT_COREDUMPHANDLER=ON this feature is too experimental, disable for now | 58 | # -DWITH_DLT_COREDUMPHANDLER=ON this feature is too experimental, disable for now |
| 55 | #FILES:${PN} += "${libdir}/sysctl.d" | 59 | #FILES:${PN} += "${libdir}/sysctl.d" |
| 56 | EXTRA_OECMAKE += "-DWITH_DLT_LOGSTORAGE_GZIP=ON -DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}" | 60 | EXTRA_OECMAKE += "-DWITH_DLT_LOGSTORAGE_GZIP=ON -DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir} -DWITH_DLT_USE_IPv6=OFF" |
| 57 | 61 | ||
| 58 | PACKAGES += "${PN}-systemd" | 62 | PACKAGES += "${PN}-systemd" |
| 59 | SYSTEMD_PACKAGES = "${PN} ${PN}-systemd" | 63 | SYSTEMD_PACKAGES = "${PN} ${PN}-systemd" |
diff --git a/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb b/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb index 4ca7c081ea..d1480e836a 100644 --- a/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb +++ b/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb | |||
| @@ -19,6 +19,8 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ | |||
| 19 | 19 | ||
| 20 | inherit autotools gettext | 20 | inherit autotools gettext |
| 21 | 21 | ||
| 22 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 23 | |||
| 22 | EXTRA_OECONF += "PERL='${USRBINPATH}/env perl'" | 24 | EXTRA_OECONF += "PERL='${USRBINPATH}/env perl'" |
| 23 | 25 | ||
| 24 | SRC_URI[sha256sum] = "6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb" | 26 | SRC_URI[sha256sum] = "6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb" |
diff --git a/meta-oe/recipes-extended/figlet/figlet_git.bb b/meta-oe/recipes-extended/figlet/figlet_git.bb index d226806050..6a8bb42699 100644 --- a/meta-oe/recipes-extended/figlet/figlet_git.bb +++ b/meta-oe/recipes-extended/figlet/figlet_git.bb | |||
| @@ -10,5 +10,6 @@ SRCREV = "5bbcd7383a8c3a531299b216b0c734e1495c6db3" | |||
| 10 | PV = "2.2.5+git" | 10 | PV = "2.2.5+git" |
| 11 | 11 | ||
| 12 | inherit autotools | 12 | inherit autotools |
| 13 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 13 | 14 | ||
| 14 | BBCLASSEXTEND = "native nativesdk" | 15 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta-oe/recipes-extended/flatpak/flatpak_1.17.3.bb b/meta-oe/recipes-extended/flatpak/flatpak_1.17.6.bb index cd461e2632..1512b7239f 100644 --- a/meta-oe/recipes-extended/flatpak/flatpak_1.17.3.bb +++ b/meta-oe/recipes-extended/flatpak/flatpak_1.17.6.bb | |||
| @@ -8,7 +8,7 @@ SRC_URI = " \ | |||
| 8 | file://0001-flatpak-pc-add-pc_sysrootdir.patch \ | 8 | file://0001-flatpak-pc-add-pc_sysrootdir.patch \ |
| 9 | " | 9 | " |
| 10 | 10 | ||
| 11 | SRCREV = "13b26a94a3bd6fec309a16982a3a80d83776d7ac" | 11 | SRCREV = "9b21874f1a175a9b7c79175a221fa043e202ca73" |
| 12 | 12 | ||
| 13 | 13 | ||
| 14 | inherit meson pkgconfig gettext systemd gtk-doc gobject-introspection python3native mime features_check useradd | 14 | inherit meson pkgconfig gettext systemd gtk-doc gobject-introspection python3native mime features_check useradd |
| @@ -76,3 +76,6 @@ USERADD_PACKAGES = "${PN}" | |||
| 76 | USERADD_PARAM:${PN} = "--system --no-create-home --user-group --shell /sbin/nologin flatpak" | 76 | USERADD_PARAM:${PN} = "--system --no-create-home --user-group --shell /sbin/nologin flatpak" |
| 77 | 77 | ||
| 78 | FILES:${PN} += "${libdir} ${datadir}" | 78 | FILES:${PN} += "${libdir} ${datadir}" |
| 79 | |||
| 80 | CVE_STATUS[CVE-2026-34078] = "fixed-version: fixed in v1.17.4" | ||
| 81 | CVE_STATUS[CVE-2026-34079] = "fixed-version: fixed in v1.17.4" | ||
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch index 1756d74560..55fb0c7414 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 4b47a8f0e3d1d429356cdda8efa7682ab88d344a Mon Sep 17 00:00:00 2001 | 1 | From 8d93bb7c866f88dd7f2cac81d2acfcffae9d555d Mon Sep 17 00:00:00 2001 |
| 2 | From: Niko Mauno <niko.mauno@vaisala.com> | 2 | From: Niko Mauno <niko.mauno@vaisala.com> |
| 3 | Date: Sun, 29 Sep 2024 12:00:00 +0000 | 3 | Date: Sun, 29 Sep 2024 12:00:00 +0000 |
| 4 | Subject: [PATCH] lib: Do not use private makefile targets in CMakelists.txt | 4 | Subject: [PATCH] lib: Do not use private makefile targets in CMakelists.txt |
| @@ -48,7 +48,7 @@ index 489570026..06d99cbbe 100644 | |||
| 48 | 48 | ||
| 49 | 49 | ||
| 50 | diff --git a/lib/cmetrics/CMakeLists.txt b/lib/cmetrics/CMakeLists.txt | 50 | diff --git a/lib/cmetrics/CMakeLists.txt b/lib/cmetrics/CMakeLists.txt |
| 51 | index 5421f8c80..0dcf7645c 100644 | 51 | index a3385a8ba..80170f8e7 100644 |
| 52 | --- a/lib/cmetrics/CMakeLists.txt | 52 | --- a/lib/cmetrics/CMakeLists.txt |
| 53 | +++ b/lib/cmetrics/CMakeLists.txt | 53 | +++ b/lib/cmetrics/CMakeLists.txt |
| 54 | @@ -60,12 +60,8 @@ if(NOT MSVC) | 54 | @@ -60,12 +60,8 @@ if(NOT MSVC) |
| @@ -67,11 +67,11 @@ index 5421f8c80..0dcf7645c 100644 | |||
| 67 | # Configuration options | 67 | # Configuration options |
| 68 | option(CMT_DEV "Enable development mode" No) | 68 | option(CMT_DEV "Enable development mode" No) |
| 69 | diff --git a/lib/ctraces/CMakeLists.txt b/lib/ctraces/CMakeLists.txt | 69 | diff --git a/lib/ctraces/CMakeLists.txt b/lib/ctraces/CMakeLists.txt |
| 70 | index 73723433d..9f60699d5 100644 | 70 | index bb2c54fa6..7d59dd834 100644 |
| 71 | --- a/lib/ctraces/CMakeLists.txt | 71 | --- a/lib/ctraces/CMakeLists.txt |
| 72 | +++ b/lib/ctraces/CMakeLists.txt | 72 | +++ b/lib/ctraces/CMakeLists.txt |
| 73 | @@ -30,12 +30,8 @@ set(CTR_VERSION_MINOR 6) | 73 | @@ -30,12 +30,8 @@ set(CTR_VERSION_MINOR 7) |
| 74 | set(CTR_VERSION_PATCH 6) | 74 | set(CTR_VERSION_PATCH 1) |
| 75 | set(CTR_VERSION_STR "${CTR_VERSION_MAJOR}.${CTR_VERSION_MINOR}.${CTR_VERSION_PATCH}") | 75 | set(CTR_VERSION_STR "${CTR_VERSION_MAJOR}.${CTR_VERSION_MINOR}.${CTR_VERSION_PATCH}") |
| 76 | 76 | ||
| 77 | -# Define __FILENAME__ consistently across Operating Systems | 77 | -# Define __FILENAME__ consistently across Operating Systems |
| @@ -86,7 +86,7 @@ index 73723433d..9f60699d5 100644 | |||
| 86 | # Configuration options | 86 | # Configuration options |
| 87 | option(CTR_DEV "Enable development mode" No) | 87 | option(CTR_DEV "Enable development mode" No) |
| 88 | diff --git a/lib/monkey/CMakeLists.txt b/lib/monkey/CMakeLists.txt | 88 | diff --git a/lib/monkey/CMakeLists.txt b/lib/monkey/CMakeLists.txt |
| 89 | index 3fbace595..1c6ad031c 100644 | 89 | index 3dc1ef28a..2d08fc5fd 100644 |
| 90 | --- a/lib/monkey/CMakeLists.txt | 90 | --- a/lib/monkey/CMakeLists.txt |
| 91 | +++ b/lib/monkey/CMakeLists.txt | 91 | +++ b/lib/monkey/CMakeLists.txt |
| 92 | @@ -15,10 +15,8 @@ include(GNUInstallDirs) | 92 | @@ -15,10 +15,8 @@ include(GNUInstallDirs) |
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch index 4c6cac0cbd..51f48544b1 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 596a53c35166e6cc5c20fb1d28bb5c92a248f695 Mon Sep 17 00:00:00 2001 | 1 | From e7b98c452343a43b924bca684e5ec423eae5d644 Mon Sep 17 00:00:00 2001 |
| 2 | From: Paulo Neves <ptsneves@gmail.com> | 2 | From: Paulo Neves <ptsneves@gmail.com> |
| 3 | Date: Thu, 28 Jul 2022 11:42:31 +0200 | 3 | Date: Thu, 28 Jul 2022 11:42:31 +0200 |
| 4 | Subject: [PATCH] flb_info.h.in: Do not hardcode compilation directories | 4 | Subject: [PATCH] flb_info.h.in: Do not hardcode compilation directories |
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch index 6bd4c6bbb6..2e0e988c19 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-CMakeLists.txt-Revise-init-manager-deduction.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 5cc79bdede89e75d713e23cf0fde26634320bc3e Mon Sep 17 00:00:00 2001 | 1 | From fef234a565d5150dc3d3d1374843024381e4f4de Mon Sep 17 00:00:00 2001 |
| 2 | From: Niko Mauno <niko.mauno@vaisala.com> | 2 | From: Niko Mauno <niko.mauno@vaisala.com> |
| 3 | Date: Mon, 21 Oct 2024 16:02:46 +0000 | 3 | Date: Mon, 21 Oct 2024 16:02:46 +0000 |
| 4 | Subject: [PATCH] CMakeLists.txt: Revise init manager deduction | 4 | Subject: [PATCH] CMakeLists.txt: Revise init manager deduction |
| @@ -15,10 +15,10 @@ Upstream-Status: Inappropriate [configuration] | |||
| 15 | 1 file changed, 2 insertions(+), 2 deletions(-) | 15 | 1 file changed, 2 insertions(+), 2 deletions(-) |
| 16 | 16 | ||
| 17 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | 17 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt |
| 18 | index ac5fe5ef8..f47a01b82 100644 | 18 | index a47a5d9d6..ddc93827c 100644 |
| 19 | --- a/src/CMakeLists.txt | 19 | --- a/src/CMakeLists.txt |
| 20 | +++ b/src/CMakeLists.txt | 20 | +++ b/src/CMakeLists.txt |
| 21 | @@ -600,7 +600,7 @@ if(FLB_BINARY) | 21 | @@ -627,7 +627,7 @@ if(FLB_BINARY) |
| 22 | set(SYSTEMD_UNITDIR /lib/systemd/system) | 22 | set(SYSTEMD_UNITDIR /lib/systemd/system) |
| 23 | endif() | 23 | endif() |
| 24 | 24 | ||
| @@ -27,7 +27,7 @@ index ac5fe5ef8..f47a01b82 100644 | |||
| 27 | if (FLB_AMAZON_LINUX2) | 27 | if (FLB_AMAZON_LINUX2) |
| 28 | set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service") | 28 | set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service") |
| 29 | configure_file( | 29 | configure_file( |
| 30 | @@ -625,7 +625,7 @@ if(FLB_BINARY) | 30 | @@ -652,7 +652,7 @@ if(FLB_BINARY) |
| 31 | install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR}) | 31 | install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR}) |
| 32 | install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary) | 32 | install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary) |
| 33 | endif() | 33 | endif() |
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch index 6df53613c3..1192449909 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-chunkio-Link-with-fts-library-with-musl.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From cc688b91c02df9a45ca8816a1d09649fadb9dc4a Mon Sep 17 00:00:00 2001 | 1 | From 26431b786b4c703bc2dcdb57d59487a3fef4a139 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Wed, 10 Aug 2022 01:27:16 -0700 | 3 | Date: Wed, 10 Aug 2022 01:27:16 -0700 |
| 4 | Subject: [PATCH] chunkio: Link with fts library with musl | 4 | Subject: [PATCH] chunkio: Link with fts library with musl |
| @@ -10,7 +10,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 10 | 10 | ||
| 11 | Upstream-Status: Pending | 11 | Upstream-Status: Pending |
| 12 | --- | 12 | --- |
| 13 | |||
| 14 | lib/chunkio/src/CMakeLists.txt | 1 + | 13 | lib/chunkio/src/CMakeLists.txt | 1 + |
| 15 | 1 file changed, 1 insertion(+) | 14 | 1 file changed, 1 insertion(+) |
| 16 | 15 | ||
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_4.2.3.1.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb index 03f9e0e003..3f3299459c 100644 --- a/meta-oe/recipes-extended/fluentbit/fluentbit_4.2.3.1.bb +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_5.0.2.bb | |||
| @@ -17,7 +17,7 @@ DEPENDS = "\ | |||
| 17 | " | 17 | " |
| 18 | DEPENDS:append:libc-musl = " fts" | 18 | DEPENDS:append:libc-musl = " fts" |
| 19 | 19 | ||
| 20 | SRCREV = "fca8b5bf46416267a4c8de185e4044da09cf0f16" | 20 | SRCREV = "66ffbe43bd0b393ec418e6f5851a23461fa478d4" |
| 21 | SRC_URI = "\ | 21 | SRC_URI = "\ |
| 22 | git://github.com/fluent/fluent-bit.git;nobranch=1;protocol=https;tag=v${PV} \ | 22 | git://github.com/fluent/fluent-bit.git;nobranch=1;protocol=https;tag=v${PV} \ |
| 23 | file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \ | 23 | file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch \ |
diff --git a/meta-oe/recipes-extended/highway/highway_1.3.0.bb b/meta-oe/recipes-extended/highway/highway_1.3.0.bb index d279994301..ddd684bb45 100644 --- a/meta-oe/recipes-extended/highway/highway_1.3.0.bb +++ b/meta-oe/recipes-extended/highway/highway_1.3.0.bb | |||
| @@ -2,14 +2,15 @@ SUMMARY = "Highway is a C++ library for SIMD (Single Instruction, Multiple Data) | |||
| 2 | HOMEPAGE = "https://github.com/google/highway/" | 2 | HOMEPAGE = "https://github.com/google/highway/" |
| 3 | 3 | ||
| 4 | LICENSE = "Apache-2.0" | 4 | LICENSE = "Apache-2.0" |
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=2b42edef8fa55315f34f2370b4715ca9" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e583f1fc1c22da0f388b23a31df5b591" |
| 6 | 6 | ||
| 7 | inherit cmake | 7 | inherit cmake |
| 8 | 8 | ||
| 9 | SRC_URI = "git://github.com/google/highway.git;protocol=https;branch=master \ | 9 | SRC_URI = "git://github.com/google/highway.git;protocol=https;branch=master \ |
| 10 | file://0001-Add-cmake-check-for-deducing-32bit-or-64bit-RISCV.patch" | 10 | file://0001-Add-cmake-check-for-deducing-32bit-or-64bit-RISCV.patch" |
| 11 | 11 | ||
| 12 | SRCREV = "ac0d5d297b13ab1b89f48484fc7911082d76a93f" | 12 | SRCREV = "c34a36fb145de0a922a6e719b217033e1ff2eece" |
| 13 | PV .= "+git" | ||
| 13 | 14 | ||
| 14 | EXTRA_OECMAKE = "-DBUILD_TESTING=0 -DCMAKE_BUILD_TYPE=Release" | 15 | EXTRA_OECMAKE = "-DBUILD_TESTING=0 -DCMAKE_BUILD_TYPE=Release" |
| 15 | 16 | ||
diff --git a/meta-oe/recipes-extended/libcbor/libcbor_0.13.0.bb b/meta-oe/recipes-extended/libcbor/libcbor_0.14.0.bb index 3bed8a6e72..7d65688384 100755 --- a/meta-oe/recipes-extended/libcbor/libcbor_0.13.0.bb +++ b/meta-oe/recipes-extended/libcbor/libcbor_0.14.0.bb | |||
| @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f3b3881df62ca763a02d359a6e94071" | |||
| 6 | 6 | ||
| 7 | SRC_URI = "git://github.com/PJK/libcbor.git;protocol=https;branch=master;tag=v${PV}" | 7 | SRC_URI = "git://github.com/PJK/libcbor.git;protocol=https;branch=master;tag=v${PV}" |
| 8 | 8 | ||
| 9 | SRCREV = "9826a4315116a588f7416912db9da6fcecd8da11" | 9 | SRCREV = "6730c20ab487c0b4dc5fb3fea918937085355bac" |
| 10 | 10 | ||
| 11 | inherit cmake | 11 | inherit cmake |
| 12 | 12 | ||
diff --git a/meta-oe/recipes-extended/lprng/lprng_3.9.0.bb b/meta-oe/recipes-extended/lprng/lprng_3.9.0.bb index 04376b66ed..0f427a7d05 100644 --- a/meta-oe/recipes-extended/lprng/lprng_3.9.0.bb +++ b/meta-oe/recipes-extended/lprng/lprng_3.9.0.bb | |||
| @@ -10,6 +10,7 @@ UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lprng/files/lprng/" | |||
| 10 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" | 10 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" |
| 11 | 11 | ||
| 12 | inherit autotools gettext | 12 | inherit autotools gettext |
| 13 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 13 | 14 | ||
| 14 | EXTRA_OECONF = "--disable-ssl --disable-kerberos --enable-force_localhost \ | 15 | EXTRA_OECONF = "--disable-ssl --disable-kerberos --enable-force_localhost \ |
| 15 | CHOWN=${base_bindir}/chown CHGRP=${base_bindir}/chgrp \ | 16 | CHOWN=${base_bindir}/chown CHGRP=${base_bindir}/chgrp \ |
diff --git a/meta-oe/recipes-extended/magic-enum/magic-enum_0.9.7.bb b/meta-oe/recipes-extended/magic-enum/magic-enum_0.9.7.bb index 6d5399c8d0..958ae21065 100644 --- a/meta-oe/recipes-extended/magic-enum/magic-enum_0.9.7.bb +++ b/meta-oe/recipes-extended/magic-enum/magic-enum_0.9.7.bb | |||
| @@ -16,7 +16,8 @@ SRC_URI = " \ | |||
| 16 | file://run-ptest \ | 16 | file://run-ptest \ |
| 17 | " | 17 | " |
| 18 | 18 | ||
| 19 | SRCREV = "e046b69a3736d314fad813e159b1c192eaef92cd" | 19 | SRCREV = "7d87efb4a3dddbbe8caa9ca14eff05ede1102ab8" |
| 20 | PV .= "+git" | ||
| 20 | 21 | ||
| 21 | inherit cmake ptest | 22 | inherit cmake ptest |
| 22 | 23 | ||
diff --git a/meta-oe/recipes-extended/minio/minio_git.bb b/meta-oe/recipes-extended/minio/minio_git.bb index 511dd4d869..d08b5e754d 100644 --- a/meta-oe/recipes-extended/minio/minio_git.bb +++ b/meta-oe/recipes-extended/minio/minio_git.bb | |||
| @@ -169,4 +169,4 @@ CVE_STATUS_GROUPS += "CVE_STATUS_WRONG_CPE" | |||
| 169 | CVE_STATUS_WRONG_CPE[status] = "cpe-incorrect: The vulnerability is in minio server, not in minio client-tools" | 169 | CVE_STATUS_WRONG_CPE[status] = "cpe-incorrect: The vulnerability is in minio server, not in minio client-tools" |
| 170 | CVE_STATUS_WRONG_CPE = "CVE-2018-1000538 CVE-2020-11012 CVE-2021-21287 CVE-2021-21362 \ | 170 | CVE_STATUS_WRONG_CPE = "CVE-2018-1000538 CVE-2020-11012 CVE-2021-21287 CVE-2021-21362 \ |
| 171 | CVE-2021-21390 CVE-2021-43858 CVE-2022-35919 CVE-2023-28433 \ | 171 | CVE-2021-21390 CVE-2021-43858 CVE-2022-35919 CVE-2023-28433 \ |
| 172 | CVE-2023-28434 CVE-2024-36107" | 172 | CVE-2023-28434 CVE-2024-36107 CVE-2026-33419 CVE-2026-34204" |
diff --git a/meta-oe/recipes-extended/networking/mstpd_0.1.1.bb b/meta-oe/recipes-extended/networking/mstpd_0.2.0.bb index 3ac4d5b1fe..0d60111554 100644 --- a/meta-oe/recipes-extended/networking/mstpd_0.1.1.bb +++ b/meta-oe/recipes-extended/networking/mstpd_0.2.0.bb | |||
| @@ -6,7 +6,7 @@ SRC_URI = " \ | |||
| 6 | file://bridge-stp \ | 6 | file://bridge-stp \ |
| 7 | file://mstpd.service \ | 7 | file://mstpd.service \ |
| 8 | " | 8 | " |
| 9 | SRCREV = "d7dd987b101f277bfef8ac71de7c1d962a424e8e" | 9 | SRCREV = "8995e5d11ee89f2251734e34cea711bb5a5bb911" |
| 10 | 10 | ||
| 11 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+){2,})" | 11 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+){2,})" |
| 12 | 12 | ||
diff --git a/meta-oe/recipes-extended/ostree/ostree/0001-trivial-httpd-Fix-const-correctness-of-slash-pointer.patch b/meta-oe/recipes-extended/ostree/ostree/0001-trivial-httpd-Fix-const-correctness-of-slash-pointer.patch new file mode 100644 index 0000000000..cc0c3d1318 --- /dev/null +++ b/meta-oe/recipes-extended/ostree/ostree/0001-trivial-httpd-Fix-const-correctness-of-slash-pointer.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | From 3b8255e24d0785d6049d473471da53b0c5fd52c1 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Thu, 9 Apr 2026 16:28:07 -0700 | ||
| 4 | Subject: [PATCH] trivial-httpd: Fix const-correctness of slash pointer | ||
| 5 | |||
| 6 | strrchr() returns a 'const char *' when passed a 'const char *' | ||
| 7 | argument. Declare the local 'slash' variable as 'const char *' | ||
| 8 | to match, fixing a build failure with clang when | ||
| 9 | -Werror,-Wincompatible-pointer-types-discards-qualifiers is active. | ||
| 10 | |||
| 11 | Upstream-Status: Submitted [https://github.com/ostreedev/ostree/pull/3579] | ||
| 12 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 13 | --- | ||
| 14 | src/ostree/ostree-trivial-httpd.c | 2 +- | ||
| 15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 16 | |||
| 17 | diff --git a/src/ostree/ostree-trivial-httpd.c b/src/ostree/ostree-trivial-httpd.c | ||
| 18 | index 4a0c6b00..b5a52e61 100644 | ||
| 19 | --- a/src/ostree/ostree-trivial-httpd.c | ||
| 20 | +++ b/src/ostree/ostree-trivial-httpd.c | ||
| 21 | @@ -281,7 +281,7 @@ do_get (OtTrivialHttpd *self, SoupServer *server, SoupServerMessage *msg, const | ||
| 22 | do_get (OtTrivialHttpd *self, SoupServer *server, SoupServerMessage *msg, const char *path) | ||
| 23 | #endif | ||
| 24 | { | ||
| 25 | - char *slash; | ||
| 26 | + const char *slash; | ||
| 27 | int ret; | ||
| 28 | struct stat stbuf; | ||
| 29 | |||
diff --git a/meta-oe/recipes-extended/ostree/ostree_2025.7.bb b/meta-oe/recipes-extended/ostree/ostree_2026.1.bb index a2094f68c3..af726fff12 100644 --- a/meta-oe/recipes-extended/ostree/ostree_2025.7.bb +++ b/meta-oe/recipes-extended/ostree/ostree_2026.1.bb | |||
| @@ -21,8 +21,9 @@ DEPENDS = " \ | |||
| 21 | GITHUB_BASE_URI = "https://github.com/ostreedev/ostree/releases" | 21 | GITHUB_BASE_URI = "https://github.com/ostreedev/ostree/releases" |
| 22 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libostree-${PV}.tar.xz \ | 22 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libostree-${PV}.tar.xz \ |
| 23 | file://run-ptest \ | 23 | file://run-ptest \ |
| 24 | file://0001-trivial-httpd-Fix-const-correctness-of-slash-pointer.patch \ | ||
| 24 | " | 25 | " |
| 25 | SRC_URI[sha256sum] = "af8d080b9585e7fd1faba8f022967e1c268ae62e20ecf32ee7b364c1e307570b" | 26 | SRC_URI[sha256sum] = "8e77c285dd6fa5ec5fb063130390977be727fe11107335ed8778a40385069e95" |
| 26 | 27 | ||
| 27 | S = "${UNPACKDIR}/libostree-${PV}" | 28 | S = "${UNPACKDIR}/libostree-${PV}" |
| 28 | 29 | ||
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2512.0.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2512.0.bb index c50a7a3f7a..186e1ccf24 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2512.0.bb +++ b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2512.0.bb | |||
| @@ -40,6 +40,7 @@ CVE_STATUS[CVE-2015-3243] = "fix-file-included: The shipped default rsyslog.conf | |||
| 40 | 40 | ||
| 41 | inherit autotools pkgconfig systemd update-rc.d ptest | 41 | inherit autotools pkgconfig systemd update-rc.d ptest |
| 42 | 42 | ||
| 43 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 43 | EXTRA_OECONF += "--enable-imfile-tests ${ATOMICS}" | 44 | EXTRA_OECONF += "--enable-imfile-tests ${ATOMICS}" |
| 44 | ATOMICS = "ap_cv_atomic_builtins_64=yes ap_cv_atomic_builtins=yes" | 45 | ATOMICS = "ap_cv_atomic_builtins_64=yes ap_cv_atomic_builtins=yes" |
| 45 | ATOMICS:mipsarch = "" | 46 | ATOMICS:mipsarch = "" |
diff --git a/meta-oe/recipes-extended/sanlock/sanlock_4.2.0.bb b/meta-oe/recipes-extended/sanlock/sanlock_5.1.0.bb index 8babaf8017..72242946c1 100644 --- a/meta-oe/recipes-extended/sanlock/sanlock_4.2.0.bb +++ b/meta-oe/recipes-extended/sanlock/sanlock_5.1.0.bb | |||
| @@ -11,22 +11,18 @@ SECTION = "utils" | |||
| 11 | LICENSE = "LGPL-2.0-or-later & GPL-2.0-only & GPL-2.0-or-later" | 11 | LICENSE = "LGPL-2.0-or-later & GPL-2.0-only & GPL-2.0-or-later" |
| 12 | LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22" | 12 | LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22" |
| 13 | 13 | ||
| 14 | PV .= "+git" | 14 | SRC_URI = "git://codeberg.org/sanlock/sanlock.git;protocol=https;branch=master;tag=${BPN}-${PV} \ |
| 15 | |||
| 16 | SRC_URI = "git://pagure.io/sanlock.git;protocol=http;branch=master \ | ||
| 17 | file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch \ | 15 | file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch \ |
| 18 | file://0001-add-missing-system-header-string.h.patch \ | 16 | file://0001-add-missing-system-header-string.h.patch \ |
| 19 | " | 17 | " |
| 20 | SRCREV = "efe86d2e691383da07942fe9a4bccab13046f3d4" | 18 | SRCREV = "995685ac3ad8909cb7562e74dd13e3b450833d9c" |
| 21 | |||
| 22 | 19 | ||
| 23 | CVE_STATUS[CVE-2012-5638] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." | 20 | CVE_STATUS[CVE-2012-5638] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions." |
| 24 | 21 | ||
| 25 | DEPENDS = "libaio util-linux" | 22 | DEPENDS = "libaio util-linux libdevmapper" |
| 26 | 23 | RDEPENDS:${PN} += "libdevmapper" | |
| 27 | inherit setuptools3 useradd | ||
| 28 | 24 | ||
| 29 | SETUPTOOLS_SETUP_PATH = "${S}/python" | 25 | inherit useradd |
| 30 | 26 | ||
| 31 | do_compile:prepend () { | 27 | do_compile:prepend () { |
| 32 | oe_runmake -C ${S}/wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}" | 28 | oe_runmake -C ${S}/wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}" |
diff --git a/meta-oe/recipes-extended/zsync/zsync-curl_git.bb b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb index e624b26941..79b8ee18e7 100644 --- a/meta-oe/recipes-extended/zsync/zsync-curl_git.bb +++ b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb | |||
| @@ -15,6 +15,8 @@ UPSTREAM_CHECK_COMMITS = "1" | |||
| 15 | 15 | ||
| 16 | inherit autotools | 16 | inherit autotools |
| 17 | 17 | ||
| 18 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 19 | |||
| 18 | AUTOTOOLS_SCRIPT_PATH = "${S}/src" | 20 | AUTOTOOLS_SCRIPT_PATH = "${S}/src" |
| 19 | 21 | ||
| 20 | BBCLASSEXTEND = "native nativesdk" | 22 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm4_4.20.0.bb b/meta-oe/recipes-gnome/gtk+/gtkmm4_4.20.0.bb index 0e08bed8a1..e0b91f02a9 100644 --- a/meta-oe/recipes-gnome/gtk+/gtkmm4_4.20.0.bb +++ b/meta-oe/recipes-gnome/gtk+/gtkmm4_4.20.0.bb | |||
| @@ -8,13 +8,13 @@ LIC_FILES_CHKSUM = " \ | |||
| 8 | file://COPYING.tools;md5=570a9b3749dd0463a1778803b12a6dce \ | 8 | file://COPYING.tools;md5=570a9b3749dd0463a1778803b12a6dce \ |
| 9 | " | 9 | " |
| 10 | 10 | ||
| 11 | DEPENDS = "glib-2.0-native atkmm pangomm-2.48 glibmm gtk4 cairomm-1.16 gdk-pixbuf-native" | 11 | DEPENDS = "glib-2.0-native pangomm-2.48 glibmm gtk4 cairomm-1.16 gdk-pixbuf-native" |
| 12 | 12 | ||
| 13 | GNOMEBN = "gtkmm" | 13 | GNOMEBN = "gtkmm" |
| 14 | 14 | ||
| 15 | inherit gnomebase features_check | 15 | inherit gnomebase features_check |
| 16 | 16 | ||
| 17 | REQUIRED_DISTRO_FEATURES = "opengl x11" | 17 | REQUIRED_DISTRO_FEATURES = "opengl" |
| 18 | 18 | ||
| 19 | SRC_URI[archive.sha256sum] = "daad9bf9b70f90975f91781fc7a656c923a91374261f576c883cd3aebd59c833" | 19 | SRC_URI[archive.sha256sum] = "daad9bf9b70f90975f91781fc7a656c923a91374261f576c883cd3aebd59c833" |
| 20 | 20 | ||
diff --git a/meta-oe/recipes-graphics/feh/feh_3.11.3.bb b/meta-oe/recipes-graphics/feh/feh_3.12.1.bb index c79ad488ba..2ac504a551 100644 --- a/meta-oe/recipes-graphics/feh/feh_3.11.3.bb +++ b/meta-oe/recipes-graphics/feh/feh_3.12.1.bb | |||
| @@ -9,7 +9,7 @@ DEPENDS = "\ | |||
| 9 | " | 9 | " |
| 10 | 10 | ||
| 11 | SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2" | 11 | SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2" |
| 12 | SRC_URI[sha256sum] = "f2cca3592a433922c0db7a9365fd63e5402c121d932a9327e279c71be6501063" | 12 | SRC_URI[sha256sum] = "6772f48e7956a16736e4c165a8367f357efc413b895f5b04133366e01438f95d" |
| 13 | 13 | ||
| 14 | inherit mime-xdg features_check | 14 | inherit mime-xdg features_check |
| 15 | # depends on virtual/libx11 | 15 | # depends on virtual/libx11 |
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch deleted file mode 100644 index e0c3de469a..0000000000 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch +++ /dev/null | |||
| @@ -1,50 +0,0 @@ | |||
| 1 | From 366930ccc1a261c3eb883da2bf3c655162ccd75f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Wed, 1 Mar 2023 22:58:37 -0800 | ||
| 4 | Subject: [PATCH] Match prototypes of callbacks with libgphoto | ||
| 5 | |||
| 6 | In https://github.com/gphoto/gphoto2/pull/535/commits/ccc4c1f092bd21ebc713f4d7b9be85be49f92f1e | ||
| 7 | we tried to fix by using pthread_t but it also needs to make changes in | ||
| 8 | libgphoto and these changes can be invasive, therefore lets revert to | ||
| 9 | older types and to fix musl problem fix it via type casts | ||
| 10 | |||
| 11 | Upstream-Status: Backport [https://github.com/gphoto/gphoto2/pull/569] | ||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | gphoto2/main.c | 8 ++++---- | ||
| 15 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/gphoto2/main.c b/gphoto2/main.c | ||
| 18 | index 0dac947..cd3c990 100644 | ||
| 19 | --- a/gphoto2/main.c | ||
| 20 | +++ b/gphoto2/main.c | ||
| 21 | @@ -1198,7 +1198,7 @@ thread_func (void *data) | ||
| 22 | pthread_cleanup_pop (1); | ||
| 23 | } | ||
| 24 | |||
| 25 | -static pthread_t | ||
| 26 | +static unsigned int | ||
| 27 | start_timeout_func (Camera *camera, unsigned int timeout, | ||
| 28 | CameraTimeoutFunc func, void __unused__ *data) | ||
| 29 | { | ||
| 30 | @@ -1215,14 +1215,14 @@ start_timeout_func (Camera *camera, unsigned int timeout, | ||
| 31 | |||
| 32 | pthread_create (&tid, NULL, thread_func, td); | ||
| 33 | |||
| 34 | - return (tid); | ||
| 35 | + return (unsigned int)tid; | ||
| 36 | } | ||
| 37 | |||
| 38 | static void | ||
| 39 | -stop_timeout_func (Camera __unused__ *camera, pthread_t id, | ||
| 40 | +stop_timeout_func (Camera __unused__ *camera, unsigned int id, | ||
| 41 | void __unused__ *data) | ||
| 42 | { | ||
| 43 | - pthread_t tid = id; | ||
| 44 | + pthread_t tid = (pthread_t)id; | ||
| 45 | |||
| 46 | pthread_cancel (tid); | ||
| 47 | pthread_join (tid, NULL); | ||
| 48 | -- | ||
| 49 | 2.39.2 | ||
| 50 | |||
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch index 3d54d58e18..bd916e339a 100644 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch +++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch | |||
| @@ -14,13 +14,13 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 14 | --- a/configure.ac | 14 | --- a/configure.ac |
| 15 | +++ b/configure.ac | 15 | +++ b/configure.ac |
| 16 | @@ -26,7 +26,9 @@ AC_PROG_INSTALL | 16 | @@ -26,7 +26,9 @@ AC_PROG_INSTALL |
| 17 | AC_SYS_LARGEFILE | 17 | ]) |
| 18 | 18 | ||
| 19 | GP_CONFIG_MSG([Compiler],[${CC}]) | 19 | GP_CONFIG_MSG([Compiler], [${CC}]) |
| 20 | -AC_DEFINE_UNQUOTED([HAVE_CC],"$CC",[The C compiler we're using]) | 20 | -AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC"], [The C compiler we are using]) |
| 21 | +CC_NO_SYSROOT=`echo $CC | sed -e \ | 21 | +CC_NO_SYSROOT=`echo $CC | sed -e \ |
| 22 | + 's|--sysroot=.*\b||g'` | 22 | + 's|--sysroot=.*\b||g'` |
| 23 | +AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"], [The C compiler we're using]) | 23 | +AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"], [The C compiler we are using]) |
| 24 | 24 | ||
| 25 | dnl AC_STRUCT_TIMEZONE | 25 | dnl AC_STRUCT_TIMEZONE |
| 26 | 26 | ||
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch index 14976ffb72..358dbbb51a 100644 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch +++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch | |||
| @@ -14,10 +14,10 @@ Upstream-Status: Pending | |||
| 14 | --- a/configure.ac | 14 | --- a/configure.ac |
| 15 | +++ b/configure.ac | 15 | +++ b/configure.ac |
| 16 | @@ -46,7 +46,6 @@ dnl i18n support | 16 | @@ -46,7 +46,6 @@ dnl i18n support |
| 17 | dnl --------------------------------------------------------------------------- | 17 | GP_GETTEXT_SETUP([GETTEXT_PACKAGE_GPHOTO2], |
| 18 | GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}]) | 18 | [gphoto2], |
| 19 | ALL_LINGUAS="az cs da de en_GB es eu fi fr hu id is it ja nl pa pl pt_BR ro ru rw sk sr sv uk vi zh_CN zh_TW" | 19 | [po]) |
| 20 | -AM_PO_SUBDIRS() | 20 | -AM_PO_SUBDIRS() |
| 21 | AM_GNU_GETTEXT_VERSION([0.14.1]) | 21 | AM_GNU_GETTEXT_VERSION([0.19.1]) |
| 22 | AM_GNU_GETTEXT([external]) | 22 | AM_GNU_GETTEXT([external]) |
| 23 | AM_ICONV() | 23 | AM_ICONV() |
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch deleted file mode 100644 index a27c02cefc..0000000000 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch +++ /dev/null | |||
| @@ -1,39 +0,0 @@ | |||
| 1 | From 23c67e93e51f700d0aeecfc08277e39f51201fc3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 2 Sep 2022 12:59:46 -0700 | ||
| 4 | Subject: [PATCH] gphoto2: Use pthread_t abstract type for thead IDs | ||
| 5 | |||
| 6 | This is not a plain old datatype in every libc, e.g. with musl this | ||
| 7 | would fail in type conversion | ||
| 8 | |||
| 9 | Upstream-Status: Submitted [https://github.com/gphoto/gphoto2/pull/535] | ||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | --- | ||
| 12 | gphoto2/main.c | 4 ++-- | ||
| 13 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/gphoto2/main.c b/gphoto2/main.c | ||
| 16 | index 2bf5964..9a6b05d 100644 | ||
| 17 | --- a/gphoto2/main.c | ||
| 18 | +++ b/gphoto2/main.c | ||
| 19 | @@ -1198,7 +1198,7 @@ thread_func (void *data) | ||
| 20 | pthread_cleanup_pop (1); | ||
| 21 | } | ||
| 22 | |||
| 23 | -static unsigned int | ||
| 24 | +static pthread_t | ||
| 25 | start_timeout_func (Camera *camera, unsigned int timeout, | ||
| 26 | CameraTimeoutFunc func, void __unused__ *data) | ||
| 27 | { | ||
| 28 | @@ -1219,7 +1219,7 @@ start_timeout_func (Camera *camera, unsigned int timeout, | ||
| 29 | } | ||
| 30 | |||
| 31 | static void | ||
| 32 | -stop_timeout_func (Camera __unused__ *camera, unsigned int id, | ||
| 33 | +stop_timeout_func (Camera __unused__ *camera, pthread_t id, | ||
| 34 | void __unused__ *data) | ||
| 35 | { | ||
| 36 | pthread_t tid = id; | ||
| 37 | -- | ||
| 38 | 2.37.3 | ||
| 39 | |||
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.32.bb index 40409ed388..e5e7c6926f 100644 --- a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb +++ b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.32.bb | |||
| @@ -8,11 +8,9 @@ RDEPENDS:gphoto2 = "libgphoto2" | |||
| 8 | 8 | ||
| 9 | SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.bz2;name=gphoto2 \ | 9 | SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.bz2;name=gphoto2 \ |
| 10 | file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ | 10 | file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ |
| 11 | file://0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch \ | ||
| 12 | file://0001-Match-prototypes-of-callbacks-with-libgphoto.patch \ | ||
| 13 | file://0001-configure-Filter-out-buildpaths-from-CC.patch \ | 11 | file://0001-configure-Filter-out-buildpaths-from-CC.patch \ |
| 14 | " | 12 | " |
| 15 | SRC_URI[gphoto2.sha256sum] = "2a648dcdf12da19e208255df4ebed3e7d2a02f905be4165f2443c984cf887375" | 13 | SRC_URI[gphoto2.sha256sum] = "4e379a0f12f72b49ee5ee2283ffd806b5d12d099939d75197a3f4bbc7f27a1a1" |
| 16 | 14 | ||
| 17 | inherit autotools pkgconfig gettext | 15 | inherit autotools pkgconfig gettext |
| 18 | 16 | ||
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch new file mode 100644 index 0000000000..77c307e88d --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch | |||
| @@ -0,0 +1,150 @@ | |||
| 1 | From 8fefd2da7b9e2c7c448086cd251b108c0ebf1262 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 15:18:42 +0200 | ||
| 4 | Subject: [PATCH] Fixed EOS ImageFormat/CustomFuncEx Parsers Lack Length | ||
| 5 | Parameter | ||
| 6 | MIME-Version: 1.0 | ||
| 7 | Content-Type: text/plain; charset=UTF-8 | ||
| 8 | Content-Transfer-Encoding: 8bit | ||
| 9 | |||
| 10 | ptp_unpack_EOS_ImageFormat() and ptp_unpack_EOS_CustomFuncEx() accept | ||
| 11 | const unsigned char** data but no length/size parameter. They perform | ||
| 12 | unbounded reads via dtoh32o calls (up to 36 bytes for ImageFormat, | ||
| 13 | up to 1024 bytes for CustomFuncEx). Callers in ptp_unpack_EOS_events() | ||
| 14 | have xsize available but never pass it. | ||
| 15 | |||
| 16 | CVE-2026-40333 | ||
| 17 | |||
| 18 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 19 | |||
| 20 | CVE: CVE-2026-40333 | ||
| 21 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/1817ecead20c2aafa7549dac9619fe38f47b2f53] | ||
| 22 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 23 | --- | ||
| 24 | camlibs/ptp2/ptp-pack.c | 53 ++++++++++++++++++++++++++++++++++------- | ||
| 25 | 1 file changed, 44 insertions(+), 9 deletions(-) | ||
| 26 | |||
| 27 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 28 | index 09421b7..09dcc24 100644 | ||
| 29 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 30 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 31 | @@ -1448,7 +1448,7 @@ ptp_unpack_Canon_EOS_FE (PTPParams *params, const unsigned char* data, unsigned | ||
| 32 | |||
| 33 | |||
| 34 | static inline uint16_t | ||
| 35 | -ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data ) | ||
| 36 | +ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data, unsigned int *size ) | ||
| 37 | { | ||
| 38 | /* | ||
| 39 | EOS ImageFormat entries look are a sequence of u32 values: | ||
| 40 | @@ -1492,30 +1492,57 @@ ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data ) | ||
| 41 | |||
| 42 | const uint8_t* d = *data; | ||
| 43 | uint32_t offset = 0; | ||
| 44 | - uint32_t n = dtoh32o (d, offset); | ||
| 45 | + uint32_t n; | ||
| 46 | uint32_t l, t1, s1, c1, t2 = 0, s2 = 0, c2 = 0; | ||
| 47 | |||
| 48 | + if (*size < sizeof(uint32_t)) { | ||
| 49 | + ptp_debug (params, "parsing EOS ImageFormat property failed 1 (size %d)", *size); | ||
| 50 | + return 0; | ||
| 51 | + } | ||
| 52 | + n = dtoh32o (d, offset); | ||
| 53 | + *size -= sizeof(uint32_t); | ||
| 54 | + | ||
| 55 | if (n != 1 && n !=2) { | ||
| 56 | ptp_debug (params, "parsing EOS ImageFormat property failed (n != 1 && n != 2: %d)", n); | ||
| 57 | return 0; | ||
| 58 | } | ||
| 59 | - | ||
| 60 | + if (*size < sizeof(uint32_t)) { | ||
| 61 | + ptp_debug (params, "parsing EOS ImageFormat property failed 2 (size %d)", *size); | ||
| 62 | + return 0; | ||
| 63 | + } | ||
| 64 | l = dtoh32o (d, offset); | ||
| 65 | + *size -= sizeof(uint32_t); | ||
| 66 | + | ||
| 67 | if (l != 0x10) { | ||
| 68 | ptp_debug (params, "parsing EOS ImageFormat property failed (l != 0x10: 0x%x)", l); | ||
| 69 | return 0; | ||
| 70 | } | ||
| 71 | |||
| 72 | + if (*size < 3*sizeof(uint32_t)) { | ||
| 73 | + ptp_debug (params, "parsing EOS ImageFormat property failed 3 (size %d)", *size); | ||
| 74 | + return 0; | ||
| 75 | + } | ||
| 76 | t1 = dtoh32o (d, offset); | ||
| 77 | s1 = dtoh32o (d, offset); | ||
| 78 | c1 = dtoh32o (d, offset); | ||
| 79 | + *size -= 3*sizeof(uint32_t); | ||
| 80 | |||
| 81 | if (n == 2) { | ||
| 82 | + if (*size < sizeof(uint32_t)) { | ||
| 83 | + ptp_debug (params, "parsing EOS ImageFormat property failed 4 (size %d)", *size); | ||
| 84 | + return 0; | ||
| 85 | + } | ||
| 86 | l = dtoh32o (d, offset); | ||
| 87 | + *size -= sizeof(uint32_t); | ||
| 88 | + | ||
| 89 | if (l != 0x10) { | ||
| 90 | ptp_debug (params, "parsing EOS ImageFormat property failed (l != 0x10: 0x%x)", l); | ||
| 91 | return 0; | ||
| 92 | } | ||
| 93 | + if (*size < 3*sizeof(uint32_t)) { | ||
| 94 | + ptp_debug (params, "parsing EOS ImageFormat property failed 5 (size %d)", *size); | ||
| 95 | + return 0; | ||
| 96 | + } | ||
| 97 | t2 = dtoh32o (d, offset); | ||
| 98 | s2 = dtoh32o (d, offset); | ||
| 99 | c2 = dtoh32o (d, offset); | ||
| 100 | @@ -1668,12 +1695,20 @@ ptp_unpack_EOS_FocusInfoEx (PTPParams* params, const unsigned char** data, uint3 | ||
| 101 | |||
| 102 | |||
| 103 | static inline char* | ||
| 104 | -ptp_unpack_EOS_CustomFuncEx (PTPParams* params, const unsigned char** data ) | ||
| 105 | +ptp_unpack_EOS_CustomFuncEx (PTPParams* params, const unsigned char** data, unsigned int *size ) | ||
| 106 | { | ||
| 107 | - uint32_t s = dtoh32a( *data ); | ||
| 108 | - uint32_t n = s/4, i; | ||
| 109 | + uint32_t s, n, i; | ||
| 110 | char *str, *p; | ||
| 111 | |||
| 112 | + if (*size < sizeof(uint32_t)) | ||
| 113 | + return strdup("bad length"); | ||
| 114 | + | ||
| 115 | + s = dtoh32a( *data ); | ||
| 116 | + n = s/4; | ||
| 117 | + | ||
| 118 | + if (*size < 4+s) | ||
| 119 | + return strdup("bad length"); | ||
| 120 | + | ||
| 121 | if (s > 1024) { | ||
| 122 | ptp_debug (params, "customfuncex data is larger than 1k / %d... unexpected?", s); | ||
| 123 | return strdup("bad length"); | ||
| 124 | @@ -1962,7 +1997,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in | ||
| 125 | case PTP_DPC_CANON_EOS_ImageFormatExtHD: | ||
| 126 | /* special handling of ImageFormat properties */ | ||
| 127 | for (j=0;j<dpd_count;j++) { | ||
| 128 | - dpd->FORM.Enum.SupportedValue[j].u16 = ptp_unpack_EOS_ImageFormat( params, &xdata ); | ||
| 129 | + dpd->FORM.Enum.SupportedValue[j].u16 = ptp_unpack_EOS_ImageFormat( params, &xdata, &xsize ); | ||
| 130 | ptp_debug (params, INDENT "prop %x option[%2d] == 0x%04x", dpc, j, dpd->FORM.Enum.SupportedValue[j].u16); | ||
| 131 | } | ||
| 132 | break; | ||
| 133 | @@ -2267,7 +2302,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in | ||
| 134 | case PTP_DPC_CANON_EOS_ImageFormatSD: | ||
| 135 | case PTP_DPC_CANON_EOS_ImageFormatExtHD: | ||
| 136 | dpd->DataType = PTP_DTC_UINT16; | ||
| 137 | - dpd->DefaultValue.u16 = ptp_unpack_EOS_ImageFormat( params, &xdata ); | ||
| 138 | + dpd->DefaultValue.u16 = ptp_unpack_EOS_ImageFormat( params, &xdata, &xsize ); | ||
| 139 | dpd->CurrentValue.u16 = dpd->DefaultValue.u16; | ||
| 140 | ptp_debug (params, INDENT "prop %x value == 0x%04x (u16)", dpc, dpd->CurrentValue.u16); | ||
| 141 | break; | ||
| 142 | @@ -2275,7 +2310,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in | ||
| 143 | dpd->DataType = PTP_DTC_STR; | ||
| 144 | free (dpd->DefaultValue.str); | ||
| 145 | free (dpd->CurrentValue.str); | ||
| 146 | - dpd->DefaultValue.str = ptp_unpack_EOS_CustomFuncEx( params, &xdata ); | ||
| 147 | + dpd->DefaultValue.str = ptp_unpack_EOS_CustomFuncEx( params, &xdata, &xsize ); | ||
| 148 | dpd->CurrentValue.str = strdup( (char*)dpd->DefaultValue.str ); | ||
| 149 | ptp_debug (params, INDENT "prop %x value == %s", dpc, dpd->CurrentValue.str); | ||
| 150 | break; | ||
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch new file mode 100644 index 0000000000..883582dff0 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | From 20b33a26b2efdbf2c35c5cacc54a041855ec764b Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 15:15:54 +0200 | ||
| 4 | Subject: [PATCH] Fixed Canon FolderEntry Missing Null Termination | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | ptp_unpack_Canon_FE() copies filename with strncpy into a 13-byte | ||
| 10 | buffer without explicit null termination. The EOS variant at line | ||
| 11 | 1451–1452 correctly adds fe->Filename[PTP_CANON_FilenameBufferLen-1] | ||
| 12 | = 0; confirming this was recognized as necessary but not applied to the | ||
| 13 | original Canon path. | ||
| 14 | |||
| 15 | CVE-2026-40334 | ||
| 16 | |||
| 17 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 18 | |||
| 19 | CVE: CVE-2026-40334 | ||
| 20 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/259fc7d3bfe534ce4b114c464f55b448670ab873] | ||
| 21 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 22 | --- | ||
| 23 | camlibs/ptp2/ptp-pack.c | 1 + | ||
| 24 | 1 file changed, 1 insertion(+) | ||
| 25 | |||
| 26 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 27 | index 09dcc24..982b4f4 100644 | ||
| 28 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 29 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 30 | @@ -1369,6 +1369,7 @@ ptp_unpack_Canon_FE (PTPParams *params, const unsigned char* data, PTPCANONFolde | ||
| 31 | fe->ObjectSize = dtoh32a(data + PTP_cfe_ObjectSize); | ||
| 32 | fe->Time = (time_t)dtoh32a(data + PTP_cfe_Time); | ||
| 33 | strncpy(fe->Filename, (char*)data + PTP_cfe_Filename, PTP_CANON_FilenameBufferLen); | ||
| 34 | + fe->Filename[PTP_CANON_FilenameBufferLen-1] = '\0'; | ||
| 35 | } | ||
| 36 | |||
| 37 | /* | ||
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch new file mode 100644 index 0000000000..dfe832e6c8 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | From edcdf804662eb4340fdc371af4853d6579e969ab Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 15:07:38 +0200 | ||
| 4 | Subject: [PATCH] =?UTF-8?q?Fixed=20UINT128/INT128=20Unchecked=20Offset=20A?= | ||
| 5 | =?UTF-8?q?dvance=20(CWE-125)=20=E2=80=94=20MEDIUM?= | ||
| 6 | MIME-Version: 1.0 | ||
| 7 | Content-Type: text/plain; charset=UTF-8 | ||
| 8 | Content-Transfer-Encoding: 8bit | ||
| 9 | |||
| 10 | Finding 5: UINT128/INT128 Unchecked Offset Advance (CWE-125) — MEDIUM | ||
| 11 | |||
| 12 | In ptp_unpack_DPV(), the PTP_DTC_UINT128 and PTP_DTC_INT128 cases advance *offset += 16 without verifying 16 bytes remain. The entry check at line 609 only guarantees *offset < total (at least 1 byte available). After the unchecked advance, *offset can exceed total, and the CTVAL macro's bounds check (total - *offset < sizeof(target)) wraps due to unsigned arithmetic. | ||
| 13 | |||
| 14 | CVE-2026-40335 | ||
| 15 | |||
| 16 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 17 | |||
| 18 | CVE: CVE-2026-40335 | ||
| 19 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/433bde9888d70aa726e32744cd751d7dbe94379a] | ||
| 20 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 21 | --- | ||
| 22 | camlibs/ptp2/ptp-pack.c | 4 ++++ | ||
| 23 | 1 file changed, 4 insertions(+) | ||
| 24 | |||
| 25 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 26 | index 982b4f4..7fc120d 100644 | ||
| 27 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 28 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 29 | @@ -614,10 +614,14 @@ ptp_unpack_DPV ( | ||
| 30 | case PTP_DTC_UINT64: CTVAL(value->u64,dtoh64a); break; | ||
| 31 | |||
| 32 | case PTP_DTC_UINT128: | ||
| 33 | + if (total - *offset < 16) | ||
| 34 | + return 0; | ||
| 35 | *offset += 16; | ||
| 36 | /*fprintf(stderr,"unhandled unpack of uint128n");*/ | ||
| 37 | break; | ||
| 38 | case PTP_DTC_INT128: | ||
| 39 | + if (total - *offset < 16) | ||
| 40 | + return 0; | ||
| 41 | *offset += 16; | ||
| 42 | /*fprintf(stderr,"unhandled unpack of int128n");*/ | ||
| 43 | break; | ||
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch new file mode 100644 index 0000000000..1a809b4f25 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | From e19c45d3530f1585805711e14aa4ea788e499f46 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 15:13:51 +0200 | ||
| 4 | Subject: [PATCH] Fixed Sony DPD Secondary Enum List Memory Leak | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | Finding 4: Sony DPD Secondary Enum List Memory Leak (CWE-401) — LOW | ||
| 10 | |||
| 11 | File: ptp-pack.c:884-885 | ||
| 12 | |||
| 13 | When processing a secondary enumeration list (2024+ Sony cameras), line | ||
| 14 | 884–885 overwrites dpd->FORM.Enum.SupportedValue with a new calloc() | ||
| 15 | without freeing the previous allocation from line 857. The original | ||
| 16 | array and any string values it contains are leaked. | ||
| 17 | |||
| 18 | CVE-2026-40336 | ||
| 19 | |||
| 20 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 21 | |||
| 22 | CVE: CVE-2026-40336 | ||
| 23 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/404ff02c75f3cb280196fc260a63c4d26cf1a8f6] | ||
| 24 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 25 | --- | ||
| 26 | camlibs/ptp2/ptp-pack.c | 5 +++++ | ||
| 27 | 1 file changed, 5 insertions(+) | ||
| 28 | |||
| 29 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 30 | index 7fc120d..fc51d77 100644 | ||
| 31 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 32 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 33 | @@ -879,6 +879,11 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp | ||
| 34 | /* check if we have a secondary list of items, this is for newer Sonys (2024) */ | ||
| 35 | if (val < 0x200) { /* if a secondary list is not provided, this will be the next property code - 0x5XXX or 0xDxxx */ | ||
| 36 | if (dpd->FormFlag == PTP_DPFF_Enumeration) { | ||
| 37 | + /* free old enum variables */ | ||
| 38 | + for (i=0;i<dpd->FORM.Enum.NumberOfValues;i++) | ||
| 39 | + ptp_free_propvalue (dpd->DataType, dpd->FORM.Enum.SupportedValue+i); | ||
| 40 | + free (dpd->FORM.Enum.SupportedValue); | ||
| 41 | + | ||
| 42 | N = dtoh16o(data, *poffset); | ||
| 43 | dpd->FORM.Enum.SupportedValue = calloc(N,sizeof(dpd->FORM.Enum.SupportedValue[0])); | ||
| 44 | if (!dpd->FORM.Enum.SupportedValue) | ||
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch new file mode 100644 index 0000000000..9f233f2ec9 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From 43cc20e807cd2935869617a7d8b9488070712c0e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Sat, 11 Apr 2026 10:47:52 +0200 | ||
| 4 | Subject: [PATCH] =?UTF-8?q?Fixed=20Sony=20DPD=20Enum=20Count=20OOB=20Read?= | ||
| 5 | =?UTF-8?q?=20(CWE-125)=20=E2=80=94=20MEDIUM?= | ||
| 6 | MIME-Version: 1.0 | ||
| 7 | Content-Type: text/plain; charset=UTF-8 | ||
| 8 | Content-Transfer-Encoding: 8bit | ||
| 9 | |||
| 10 | In the PTP_DPFF_Enumeration case of ptp_unpack_Sony_DPD(), dtoh16o(data, *poffset) reads 2 bytes for enumeration count N without verifying 2 bytes remain. The standard parser at line 704 has this check. | ||
| 11 | |||
| 12 | CVE-2026-40338 | ||
| 13 | |||
| 14 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 15 | |||
| 16 | CVE: CVE-2026-40338 | ||
| 17 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/3b9f9696be76ae51dca983d9dd8ce586a2561845] | ||
| 18 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 19 | --- | ||
| 20 | camlibs/ptp2/ptp-pack.c | 1 + | ||
| 21 | 1 file changed, 1 insertion(+) | ||
| 22 | |||
| 23 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 24 | index fc51d77..f90d2a5 100644 | ||
| 25 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 26 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 27 | @@ -851,6 +851,7 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp | ||
| 28 | break; | ||
| 29 | case PTP_DPFF_Enumeration: { | ||
| 30 | #define N dpd->FORM.Enum.NumberOfValues | ||
| 31 | + if (*poffset + sizeof(uint16_t) > dpdlen) goto outofmemory; | ||
| 32 | N = dtoh16o(data, *poffset); | ||
| 33 | dpd->FORM.Enum.SupportedValue = calloc(N,sizeof(dpd->FORM.Enum.SupportedValue[0])); | ||
| 34 | if (!dpd->FORM.Enum.SupportedValue) | ||
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch new file mode 100644 index 0000000000..b00ac72772 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | From 585e8113b541469347d09c341c2e8b468b431adb Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Sat, 11 Apr 2026 10:50:47 +0200 | ||
| 4 | Subject: [PATCH] =?UTF-8?q?Fixed=20Sony=20DPD=20FormFlag=20OOB=20Read=20(C?= | ||
| 5 | =?UTF-8?q?WE-125)=20=E2=80=94=20MEDIUM?= | ||
| 6 | MIME-Version: 1.0 | ||
| 7 | Content-Type: text/plain; charset=UTF-8 | ||
| 8 | Content-Transfer-Encoding: 8bit | ||
| 9 | |||
| 10 | ptp_unpack_Sony_DPD() reads the FormFlag byte via dtoh8o(data, *poffset) | ||
| 11 | without a prior bounds check. The standard ptp_unpack_DPD() at line | ||
| 12 | 686–687 correctly validates *offset + sizeof(uint8_t) > dpdlen before | ||
| 13 | this same read, but the Sony variant omits this check. | ||
| 14 | |||
| 15 | CVE-2026-40339 | ||
| 16 | |||
| 17 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 18 | |||
| 19 | CVE: CVE-2026-40339 | ||
| 20 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/09f8a940b1e418b5693f5c11e3016a1ad2cea62d] | ||
| 21 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 22 | --- | ||
| 23 | camlibs/ptp2/ptp-pack.c | 3 ++- | ||
| 24 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 25 | |||
| 26 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 27 | index f90d2a5..28648a5 100644 | ||
| 28 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 29 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 30 | @@ -833,9 +833,10 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp | ||
| 31 | code or the Data Type is a string (with two empty strings as | ||
| 32 | values). In both cases Form Flag should be set to 0x00 and FORM is | ||
| 33 | not present. */ | ||
| 34 | - | ||
| 35 | if (*poffset==PTP_dpd_Sony_DefaultValue) | ||
| 36 | return 1; | ||
| 37 | + if (*poffset + sizeof(uint8_t) > dpdlen) | ||
| 38 | + return 1; | ||
| 39 | |||
| 40 | dpd->FormFlag = dtoh8o(data, *poffset); | ||
| 41 | ptp_debug (params, "formflag 0x%04x", dpd->FormFlag); | ||
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch new file mode 100644 index 0000000000..a0852692b0 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | From fd9f234df894caec6c65144b5a4f0264aadf0989 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 16:01:48 +0200 | ||
| 4 | Subject: [PATCH] Fixed ObjectInfo Parser OOB Read | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | ptp_unpack_OI() validates len < PTP_oi_SequenceNumber (i.e., len < 48) but then accesses: | ||
| 10 | |||
| 11 | Offsets 48–51: dtoh32a(data + PTP_oi_SequenceNumber) at line 563 (4 bytes OOB) | ||
| 12 | Offset 52: data[PTP_oi_filenamelen] at line 547 (5 bytes OOB) | ||
| 13 | Offset 56: data[PTP_oi_filenamelen+4] at line 547 (9 bytes OOB) | ||
| 14 | |||
| 15 | The Samsung Galaxy 64-bit objectsize detection heuristic reads up to 9 bytes beyond the validated boundary. | ||
| 16 | |||
| 17 | CVE-2026-40340 | ||
| 18 | |||
| 19 | Reported-By: Sebastián Alba <sebasjosue84@gmail.com> | ||
| 20 | |||
| 21 | CVE: CVE-2026-40340 | ||
| 22 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/7c7f515bc88c3d0c4098ac965d313518e0ccbe33] | ||
| 23 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 24 | --- | ||
| 25 | camlibs/ptp2/ptp-pack.c | 2 +- | ||
| 26 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 27 | |||
| 28 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 29 | index 28648a5..9eba06f 100644 | ||
| 30 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 31 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 32 | @@ -526,7 +526,7 @@ ptp_unpack_OI (PTPParams *params, const unsigned char* data, PTPObjectInfo *oi, | ||
| 33 | { | ||
| 34 | char *capture_date; | ||
| 35 | |||
| 36 | - if (!data || len < PTP_oi_SequenceNumber) | ||
| 37 | + if (!data || len < PTP_oi_filenamelen + 5) | ||
| 38 | return; | ||
| 39 | |||
| 40 | oi->Filename = oi->Keywords = NULL; | ||
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch new file mode 100644 index 0000000000..b71792c185 --- /dev/null +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | From 3674dbeafa5157a264ca5e562ffdbef159a2185f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marcus Meissner <marcus@jet.franken.de> | ||
| 3 | Date: Wed, 8 Apr 2026 15:28:52 +0200 | ||
| 4 | Subject: [PATCH] Fixed OOB read in ptp_unpack_EOS_FocusInfoEx | ||
| 5 | |||
| 6 | Do not read out values before checking there is sufficient size | ||
| 7 | |||
| 8 | CVE-2026-40341 | ||
| 9 | |||
| 10 | CVE: CVE-2026-40341 | ||
| 11 | Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/c385b34af260595dfbb5f9329526be5158985987] | ||
| 12 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 13 | --- | ||
| 14 | camlibs/ptp2/ptp-pack.c | 34 +++++++++++++++++++++++++--------- | ||
| 15 | 1 file changed, 25 insertions(+), 9 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c | ||
| 18 | index 9eba06f..11428ab 100644 | ||
| 19 | --- a/camlibs/ptp2/ptp-pack.c | ||
| 20 | +++ b/camlibs/ptp2/ptp-pack.c | ||
| 21 | @@ -1629,23 +1629,39 @@ ptp_pack_EOS_ImageFormat (PTPParams* params, unsigned char* data, uint16_t value | ||
| 22 | static inline char* | ||
| 23 | ptp_unpack_EOS_FocusInfoEx (PTPParams* params, const unsigned char** data, uint32_t datasize) | ||
| 24 | { | ||
| 25 | - uint32_t size = dtoh32a( *data ); | ||
| 26 | - uint32_t halfsize = dtoh16a( (*data) + 4); | ||
| 27 | - uint32_t version = dtoh16a( (*data) + 6); | ||
| 28 | - uint32_t focus_points_in_struct = dtoh16a( (*data) + 8); | ||
| 29 | - uint32_t focus_points_in_use = dtoh16a( (*data) + 10); | ||
| 30 | - uint32_t sizeX = dtoh16a( (*data) + 12); | ||
| 31 | - uint32_t sizeY = dtoh16a( (*data) + 14); | ||
| 32 | - uint32_t size2X = dtoh16a( (*data) + 16); | ||
| 33 | - uint32_t size2Y = dtoh16a( (*data) + 18); | ||
| 34 | + uint32_t size; | ||
| 35 | + uint32_t halfsize; | ||
| 36 | + uint32_t version; | ||
| 37 | + uint32_t focus_points_in_struct; | ||
| 38 | + uint32_t focus_points_in_use; | ||
| 39 | + uint32_t sizeX; | ||
| 40 | + uint32_t sizeY; | ||
| 41 | + uint32_t size2X; | ||
| 42 | + uint32_t size2Y; | ||
| 43 | uint32_t i; | ||
| 44 | uint32_t maxlen; | ||
| 45 | char *str, *p; | ||
| 46 | |||
| 47 | + if (datasize<4) { | ||
| 48 | + ptp_error(params, "FocusInfoEx has invalid size (%d)", datasize); | ||
| 49 | + return strdup("bad size 0"); | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + size = dtoh32a( *data ); | ||
| 53 | if ((size > datasize) || (size < 20)) { | ||
| 54 | ptp_error(params, "FocusInfoEx has invalid size (%d) vs datasize (%d)", size, datasize); | ||
| 55 | return strdup("bad size 1"); | ||
| 56 | } | ||
| 57 | + | ||
| 58 | + halfsize = dtoh16a( (*data) + 4); | ||
| 59 | + version = dtoh16a( (*data) + 6); | ||
| 60 | + focus_points_in_struct = dtoh16a( (*data) + 8); | ||
| 61 | + focus_points_in_use = dtoh16a( (*data) + 10); | ||
| 62 | + sizeX = dtoh16a( (*data) + 12); | ||
| 63 | + sizeY = dtoh16a( (*data) + 14); | ||
| 64 | + size2X = dtoh16a( (*data) + 16); | ||
| 65 | + size2Y = dtoh16a( (*data) + 18); | ||
| 66 | + | ||
| 67 | /* If data is zero-filled, then it is just a placeholder, so nothing | ||
| 68 | useful, but also not an error */ | ||
| 69 | if (!focus_points_in_struct || !focus_points_in_use) { | ||
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb index 3644bd9bf4..04c4786f84 100644 --- a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb | |||
| @@ -12,8 +12,16 @@ DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2" | |||
| 12 | SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.xz;name=libgphoto2 \ | 12 | SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.xz;name=libgphoto2 \ |
| 13 | file://40-libgphoto2.rules \ | 13 | file://40-libgphoto2.rules \ |
| 14 | file://0001-configure-Filter-out-buildpaths-from-CC.patch \ | 14 | file://0001-configure-Filter-out-buildpaths-from-CC.patch \ |
| 15 | file://0001-libgphoto2-fix-const-correctness-for-c23-builds.patch \ | 15 | file://0001-libgphoto2-fix-const-correctness-for-c23-builds.patch \ |
| 16 | " | 16 | file://CVE-2026-40333.patch \ |
| 17 | file://CVE-2026-40334.patch \ | ||
| 18 | file://CVE-2026-40335.patch \ | ||
| 19 | file://CVE-2026-40336.patch \ | ||
| 20 | file://CVE-2026-40338.patch \ | ||
| 21 | file://CVE-2026-40339.patch \ | ||
| 22 | file://CVE-2026-40340.patch \ | ||
| 23 | file://CVE-2026-40341.patch \ | ||
| 24 | " | ||
| 17 | SRC_URI[libgphoto2.sha256sum] = "28825f767a85544cb58f6e15028f8e53a5bb37a62148b3f1708b524781c3bef2" | 25 | SRC_URI[libgphoto2.sha256sum] = "28825f767a85544cb58f6e15028f8e53a5bb37a62148b3f1708b524781c3bef2" |
| 18 | 26 | ||
| 19 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gphoto/files/libgphoto/" | 27 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gphoto/files/libgphoto/" |
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_14.1.4.bb b/meta-oe/recipes-graphics/graphviz/graphviz_14.1.5.bb index a5f08d0c85..388de9b452 100644 --- a/meta-oe/recipes-graphics/graphviz/graphviz_14.1.4.bb +++ b/meta-oe/recipes-graphics/graphviz/graphviz_14.1.5.bb | |||
| @@ -23,7 +23,7 @@ SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-re | |||
| 23 | SRC_URI:append:class-nativesdk = "\ | 23 | SRC_URI:append:class-nativesdk = "\ |
| 24 | file://graphviz-setup.sh \ | 24 | file://graphviz-setup.sh \ |
| 25 | " | 25 | " |
| 26 | SRC_URI[sha256sum] = "043877c0857d8d46067cd2f18809d54fc876c399f0ecd438f60ea7f4d8037451" | 26 | SRC_URI[sha256sum] = "b017378835f7ca12f1a3f1db5c338d7e7af16b284b7007ad73ccec960c1b45b3" |
| 27 | 27 | ||
| 28 | UPSTREAM_CHECK_URI = "https://graphviz.org/download/" | 28 | UPSTREAM_CHECK_URI = "https://graphviz.org/download/" |
| 29 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" | 29 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb b/meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb new file mode 100644 index 0000000000..8eaaee4492 --- /dev/null +++ b/meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | SUMMARY = "A library for complex text layout" | ||
| 2 | DESCRIPTION = "\ | ||
| 3 | Raqm is a small library that encapsulates the logic for complex text \ | ||
| 4 | layout and provides a convenient API. It currently provides bidirectional \ | ||
| 5 | text support (using FriBiDi or SheenBidi), shaping (using HarfBuzz), and \ | ||
| 6 | proper script itemization. As a result, Raqm can support most writing \ | ||
| 7 | systems covered by Unicode. \ | ||
| 8 | " | ||
| 9 | HOMEPAGE = "https://github.com/HOST-Oman/libraqm" | ||
| 10 | BUGTRACKER = "https://github.com/HOST-Oman/libraqm/issues" | ||
| 11 | SECTION = "graphics" | ||
| 12 | |||
| 13 | LICENSE = "MIT" | ||
| 14 | LIC_FILES_CHKSUM = "file://COPYING;md5=7dc444a99e2824eac906383266fe4fa6" | ||
| 15 | |||
| 16 | SRC_URI = "git://github.com/HOST-Oman/libraqm.git;protocol=https;branch=main;tag=v${PV}" | ||
| 17 | SRCREV = "3a6b891a3db0e0db1364aa38088422f68d8d81e6" | ||
| 18 | |||
| 19 | DEPENDS = "freetype fribidi harfbuzz" | ||
| 20 | |||
| 21 | inherit meson pkgconfig | ||
| 22 | |||
| 23 | PACKAGECONFIG ?= "" | ||
| 24 | |||
| 25 | PACKAGECONFIG[sheenbidi] = "-Dsheenbidi=true,-Dsheenbidi=false,sheenbidi" | ||
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.8.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.10.bb index c15e986dc3..27ddc35381 100644 --- a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.8.bb +++ b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.10.bb | |||
| @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbb0010b2f7cf6e8a13bcac1ef4d2455" | |||
| 7 | DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp" | 7 | DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp" |
| 8 | 8 | ||
| 9 | SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz" | 9 | SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz" |
| 10 | SRC_URI[sha256sum] = "2213b56fdaff2220d0e38c8e420cbe1a83c87374190cba8c70af2156097ce30a" | 10 | SRC_URI[sha256sum] = "ebc059d01c007a62f4b04f10cf858527c875062532296943174df9a80264fd65" |
| 11 | 11 | ||
| 12 | S = "${UNPACKDIR}/SDL2_image-${PV}" | 12 | S = "${UNPACKDIR}/SDL2_image-${PV}" |
| 13 | 13 | ||
diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.0.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.2.bb index 324332eb84..0f7ce92efd 100644 --- a/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.0.bb +++ b/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.2.bb | |||
| @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=df8f4d887d3997f6e9cf81bb7f43dbf7" | |||
| 6 | 6 | ||
| 7 | DEPENDS = "tiff zlib libpng jpeg libsdl3 libwebp libjxl" | 7 | DEPENDS = "tiff zlib libpng jpeg libsdl3 libwebp libjxl" |
| 8 | 8 | ||
| 9 | SRC_URI = "git://github.com/libsdl-org/SDL_image.git;protocol=https;branch=release-3.4.x" | 9 | SRC_URI = "git://github.com/libsdl-org/SDL_image.git;protocol=https;branch=release-3.4.x;tag=release-${PV}" |
| 10 | SRCREV = "ad58ecfc27a1bd09e510ceff8bbbdb1094806476" | 10 | SRCREV = "96a73a551a857b7c8d0ca3cc553a266eabbab6a7" |
| 11 | 11 | ||
| 12 | EXTRA_OECMAKE += "-DSDLIMAGE_JXL=ON" | 12 | EXTRA_OECMAKE += "-DSDLIMAGE_JXL=ON" |
| 13 | 13 | ||
diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.2.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.4.bb index d6501f855c..0159021280 100644 --- a/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.2.bb +++ b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.4.bb | |||
| @@ -18,7 +18,7 @@ SRC_URI = "http://www.libsdl.org/release/SDL3-${PV}.tar.gz" | |||
| 18 | 18 | ||
| 19 | S = "${UNPACKDIR}/SDL3-${PV}" | 19 | S = "${UNPACKDIR}/SDL3-${PV}" |
| 20 | 20 | ||
| 21 | SRC_URI[sha256sum] = "ef39a2e3f9a8a78296c40da701967dd1b0d0d6e267e483863ce70f8a03b4050c" | 21 | SRC_URI[sha256sum] = "ee712dbe6a89bb140bbfc2ce72358fb5ee5cc2240abeabd54855012db30b3864" |
| 22 | 22 | ||
| 23 | inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even | 23 | inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even |
| 24 | 24 | ||
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch b/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch new file mode 100644 index 0000000000..49be9bd0a6 --- /dev/null +++ b/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | From 776b00ff792a3c54b65f3bd92dbe7476a5a54106 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Even Rouault <even.rouault@spatialys.com> | ||
| 3 | Date: Sun, 5 Apr 2026 13:25:27 +0200 | ||
| 4 | Subject: [PATCH] opj_pi_initialise_encode() (write code path): avoid potential | ||
| 5 | integer overflow leading to insufficient memory allocation | ||
| 6 | |||
| 7 | Fixes #1619 | ||
| 8 | |||
| 9 | CVE: CVE-2026-6192 | ||
| 10 | Upstream-Status: Backport [https://github.com/uclouvain/openjpeg/commit/839936aa33eb8899bbbd80fda02796bb65068951] | ||
| 11 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 12 | --- | ||
| 13 | src/lib/openjp2/pi.c | 9 ++++++--- | ||
| 14 | 1 file changed, 6 insertions(+), 3 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/src/lib/openjp2/pi.c b/src/lib/openjp2/pi.c | ||
| 17 | index 15ac3314..4abb87af 100644 | ||
| 18 | --- a/src/lib/openjp2/pi.c | ||
| 19 | +++ b/src/lib/openjp2/pi.c | ||
| 20 | @@ -1694,9 +1694,12 @@ opj_pi_iterator_t *opj_pi_initialise_encode(const opj_image_t *p_image, | ||
| 21 | l_current_pi = l_pi; | ||
| 22 | |||
| 23 | /* memory allocation for include*/ | ||
| 24 | - l_current_pi->include_size = l_tcp->numlayers * l_step_l; | ||
| 25 | - l_current_pi->include = (OPJ_INT16*) opj_calloc(l_current_pi->include_size, | ||
| 26 | - sizeof(OPJ_INT16)); | ||
| 27 | + l_current_pi->include = NULL; | ||
| 28 | + if (l_step_l <= UINT_MAX / l_tcp->numlayers) { | ||
| 29 | + l_current_pi->include_size = l_tcp->numlayers * l_step_l; | ||
| 30 | + l_current_pi->include = (OPJ_INT16*) opj_calloc(l_current_pi->include_size, | ||
| 31 | + sizeof(OPJ_INT16)); | ||
| 32 | + } | ||
| 33 | if (!l_current_pi->include) { | ||
| 34 | opj_free(l_tmp_data); | ||
| 35 | opj_free(l_tmp_ptr); | ||
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb index 33dc48b2ea..968b7a0a5c 100644 --- a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb +++ b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb | |||
| @@ -8,6 +8,7 @@ DEPENDS = "libpng tiff lcms zlib" | |||
| 8 | SRC_URI = "git://github.com/uclouvain/openjpeg.git;branch=master;protocol=https \ | 8 | SRC_URI = "git://github.com/uclouvain/openjpeg.git;branch=master;protocol=https \ |
| 9 | file://0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \ | 9 | file://0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \ |
| 10 | file://CVE-2023-39327.patch \ | 10 | file://CVE-2023-39327.patch \ |
| 11 | file://CVE-2026-6192.patch \ | ||
| 11 | " | 12 | " |
| 12 | SRCREV = "6c4a29b00211eb0430fa0e5e890f1ce5c80f409f" | 13 | SRCREV = "6c4a29b00211eb0430fa0e5e890f1ce5c80f409f" |
| 13 | 14 | ||
diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_407.bb b/meta-oe/recipes-graphics/xorg-app/xterm_408.bb index 4aecd77f98..0f76bc1209 100644 --- a/meta-oe/recipes-graphics/xorg-app/xterm_407.bb +++ b/meta-oe/recipes-graphics/xorg-app/xterm_408.bb | |||
| @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=413ff95100710d7a81 | |||
| 7 | SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ | 7 | SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ |
| 8 | file://0001-include-missing-pty.h-header-for-openpty.patch \ | 8 | file://0001-include-missing-pty.h-header-for-openpty.patch \ |
| 9 | " | 9 | " |
| 10 | SRC_URI[sha256sum] = "2136eba530068a1b7565abbf17823274f5cefb7fe3618355cbc89dc55c8b7b6a" | 10 | SRC_URI[sha256sum] = "27dc9e770885f98fbd0b5b40bcda959dc11ec9ba21f0a33b12aafffcc7f9b813" |
| 11 | 11 | ||
| 12 | PACKAGECONFIG ?= "" | 12 | PACKAGECONFIG ?= "" |
| 13 | PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" | 13 | PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" |
diff --git a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb index 430b5974b3..5c001696d0 100644 --- a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb +++ b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb | |||
| @@ -12,12 +12,17 @@ S = "${UNPACKDIR}" | |||
| 12 | SRC_URI:append:libc-musl = "\ | 12 | SRC_URI:append:libc-musl = "\ |
| 13 | file://userfaultfd.patch \ | 13 | file://userfaultfd.patch \ |
| 14 | " | 14 | " |
| 15 | |||
| 16 | # Fix liburing detection (from Linux v7.0) | ||
| 17 | MM_PATCH = "file://0001-selftests-mm-pass-down-full-CC-and-CFLAGS-to-check_c.patch" | ||
| 18 | |||
| 15 | SRC_URI += "file://run-ptest \ | 19 | SRC_URI += "file://run-ptest \ |
| 16 | file://COPYING \ | 20 | file://COPYING \ |
| 17 | file://0001-selftests-timers-Fix-clock_adjtime-for-newer-32-bit-.patch \ | 21 | file://0001-selftests-timers-Fix-clock_adjtime-for-newer-32-bit-.patch \ |
| 22 | ${@bb.utils.contains('PACKAGECONFIG', 'mm', '${MM_PATCH}', '', d)} \ | ||
| 18 | " | 23 | " |
| 19 | 24 | ||
| 20 | # now we just test bpf and vm | 25 | # now we just test bpf and mm (formerly known as vm) |
| 21 | # we will append other kernel selftest in the future | 26 | # we will append other kernel selftest in the future |
| 22 | # bpf was added in 4.10 with: https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d | 27 | # bpf was added in 4.10 with: https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d |
| 23 | # if you have older kernel than that you need to remove it from PACKAGECONFIG | 28 | # if you have older kernel than that you need to remove it from PACKAGECONFIG |
| @@ -25,20 +30,17 @@ PACKAGECONFIG ??= "firmware" | |||
| 25 | # bpf needs working clang compiler anyway | 30 | # bpf needs working clang compiler anyway |
| 26 | PACKAGECONFIG:append:toolchain-clang:x86-64 = " bpf" | 31 | PACKAGECONFIG:append:toolchain-clang:x86-64 = " bpf" |
| 27 | PACKAGECONFIG:remove:x86 = "bpf" | 32 | PACKAGECONFIG:remove:x86 = "bpf" |
| 28 | PACKAGECONFIG:remove:arm = "bpf vm" | 33 | PACKAGECONFIG:remove:arm = "bpf mm" |
| 29 | # host ptrace.h is used to compile BPF target but mips ptrace.h is needed | 34 | # host ptrace.h is used to compile BPF target but mips ptrace.h is needed |
| 30 | # progs/loop1.c:21:9: error: incomplete definition of type 'struct user_pt_regs' | 35 | # progs/loop1.c:21:9: error: incomplete definition of type 'struct user_pt_regs' |
| 31 | # m = PT_REGS_RC(ctx); | 36 | # m = PT_REGS_RC(ctx); |
| 32 | # vm tests need libhugetlbfs starting 5.8+ (https://lkml.org/lkml/2020/4/22/1654) | 37 | PACKAGECONFIG:remove:qemumips = "bpf" |
| 33 | PACKAGECONFIG:remove:qemumips = "bpf vm" | 38 | PACKAGECONFIG:remove:riscv64 = "bpf" |
| 34 | 39 | PACKAGECONFIG:remove:riscv32 = "bpf" | |
| 35 | # riscv does not support libhugetlbfs yet | ||
| 36 | PACKAGECONFIG:remove:riscv64 = "bpf vm" | ||
| 37 | PACKAGECONFIG:remove:riscv32 = "bpf vm" | ||
| 38 | 40 | ||
| 39 | PACKAGECONFIG[bpf] = ",,elfutils elfutils-native libcap libcap-ng rsync-native python3-docutils-native," | 41 | PACKAGECONFIG[bpf] = ",,elfutils elfutils-native libcap libcap-ng rsync-native python3-docutils-native," |
| 40 | PACKAGECONFIG[firmware] = ",,libcap, bash" | 42 | PACKAGECONFIG[firmware] = ",,libcap, bash" |
| 41 | PACKAGECONFIG[vm] = ",,libcap libhugetlbfs,libgcc bash" | 43 | PACKAGECONFIG[mm] = ",,libcap liburing numactl, libgcc bash" |
| 42 | 44 | ||
| 43 | do_patch[depends] += "virtual/kernel:do_shared_workdir" | 45 | do_patch[depends] += "virtual/kernel:do_shared_workdir" |
| 44 | do_compile[depends] += "virtual/kernel:do_install" | 46 | do_compile[depends] += "virtual/kernel:do_install" |
| @@ -48,7 +50,7 @@ inherit linux-kernel-base module-base kernel-arch ptest siteinfo | |||
| 48 | DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map" | 50 | DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map" |
| 49 | 51 | ||
| 50 | TEST_LIST = "\ | 52 | TEST_LIST = "\ |
| 51 | ${@bb.utils.filter('PACKAGECONFIG', 'bpf firmware vm', d)} \ | 53 | ${@bb.utils.filter('PACKAGECONFIG', 'bpf firmware mm', d)} \ |
| 52 | cpufreq \ | 54 | cpufreq \ |
| 53 | cpu-hotplug \ | 55 | cpu-hotplug \ |
| 54 | rtc \ | 56 | rtc \ |
| @@ -78,6 +80,7 @@ KERNEL_SELFTEST_SRC ?= "Makefile \ | |||
| 78 | tools \ | 80 | tools \ |
| 79 | scripts \ | 81 | scripts \ |
| 80 | arch \ | 82 | arch \ |
| 83 | ${@bb.utils.filter('PACKAGECONFIG', 'mm', d)} \ | ||
| 81 | LICENSES \ | 84 | LICENSES \ |
| 82 | " | 85 | " |
| 83 | do_compile() { | 86 | do_compile() { |
diff --git a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/0001-selftests-mm-pass-down-full-CC-and-CFLAGS-to-check_c.patch b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/0001-selftests-mm-pass-down-full-CC-and-CFLAGS-to-check_c.patch new file mode 100644 index 0000000000..a115d56dd1 --- /dev/null +++ b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/0001-selftests-mm-pass-down-full-CC-and-CFLAGS-to-check_c.patch | |||
| @@ -0,0 +1,76 @@ | |||
| 1 | From 8f9e6395f1f8121b577eeb4cb54f671a9088bddd Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Kevin Brodsky <kevin.brodsky@arm.com> | ||
| 3 | Date: Thu, 22 Jan 2026 17:02:18 +0000 | ||
| 4 | Subject: [PATCH] selftests/mm: pass down full CC and CFLAGS to check_config.sh | ||
| 5 | |||
| 6 | check_config.sh checks that liburing is available by running the compiler | ||
| 7 | provided as its first argument. This makes two assumptions: | ||
| 8 | |||
| 9 | 1. CC consists of only one word | ||
| 10 | 2. No extra flag is required | ||
| 11 | |||
| 12 | Unfortunately, there are many situations where these assumptions don't | ||
| 13 | hold. For instance: | ||
| 14 | |||
| 15 | - When using Clang, CC consists of multiple words | ||
| 16 | - When cross-compiling, extra flags may be required to allow the | ||
| 17 | compiler to find headers | ||
| 18 | |||
| 19 | Remove these assumptions by passing down CC and CFLAGS as-is from the | ||
| 20 | Makefile, so that the same command line is used as when actually building | ||
| 21 | the tests. | ||
| 22 | |||
| 23 | Link: https://lkml.kernel.org/r/20260122170224.4056513-4-kevin.brodsky@arm.com | ||
| 24 | Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com> | ||
| 25 | Reviewed-by: Mark Brown <broonie@kernel.org> | ||
| 26 | Acked-by: David Hildenbrand (Red Hat) <david@kernel.org> | ||
| 27 | Cc: Jason Gunthorpe <jgg@nvidia.com> | ||
| 28 | Cc: John Hubbard <jhubbard@nvidia.com> | ||
| 29 | Cc: Dev Jain <dev.jain@arm.com> | ||
| 30 | Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> | ||
| 31 | Cc: Paolo Abeni <pabeni@redhat.com> | ||
| 32 | Cc: Ryan Roberts <ryan.roberts@arm.com> | ||
| 33 | Cc: SeongJae Park <sj@kernel.org> | ||
| 34 | Cc: Shuah Khan <shuah@kernel.org> | ||
| 35 | Cc: Usama Anjum <Usama.Anjum@arm.com> | ||
| 36 | Cc: wang lian <lianux.mm@gmail.com> | ||
| 37 | Cc: Yunsheng Lin <linyunsheng@huawei.com> | ||
| 38 | Signed-off-by: Andrew Morton <akpm@linux-foundation.org> | ||
| 39 | |||
| 40 | Upstream-Status: Backport [from commit 7f532d19c8be7, in tag v7.0] | ||
| 41 | |||
| 42 | --- | ||
| 43 | tools/testing/selftests/mm/Makefile | 2 +- | ||
| 44 | tools/testing/selftests/mm/check_config.sh | 3 +-- | ||
| 45 | 2 files changed, 2 insertions(+), 3 deletions(-) | ||
| 46 | |||
| 47 | diff --git a/tools/testing/selftests/mm/Makefile b/tools/testing/selftests/mm/Makefile | ||
| 48 | index ae6f994d3add..fc9b9ec367c3 100644 | ||
| 49 | --- a/tools/testing/selftests/mm/Makefile | ||
| 50 | +++ b/tools/testing/selftests/mm/Makefile | ||
| 51 | @@ -228,7 +228,7 @@ $(OUTPUT)/ksm_tests: LDLIBS += -lnuma | ||
| 52 | $(OUTPUT)/migration: LDLIBS += -lnuma | ||
| 53 | |||
| 54 | local_config.mk local_config.h: check_config.sh | ||
| 55 | - /bin/sh ./check_config.sh $(CC) | ||
| 56 | + CC="$(CC)" CFLAGS="$(CFLAGS)" ./check_config.sh | ||
| 57 | |||
| 58 | EXTRA_CLEAN += local_config.mk local_config.h | ||
| 59 | |||
| 60 | diff --git a/tools/testing/selftests/mm/check_config.sh b/tools/testing/selftests/mm/check_config.sh | ||
| 61 | index 3954f4746161..b84c82bbf875 100755 | ||
| 62 | --- a/tools/testing/selftests/mm/check_config.sh | ||
| 63 | +++ b/tools/testing/selftests/mm/check_config.sh | ||
| 64 | @@ -16,8 +16,7 @@ echo "#include <sys/types.h>" > $tmpfile_c | ||
| 65 | echo "#include <liburing.h>" >> $tmpfile_c | ||
| 66 | echo "int func(void) { return 0; }" >> $tmpfile_c | ||
| 67 | |||
| 68 | -CC=${1:?"Usage: $0 <compiler> # example compiler: gcc"} | ||
| 69 | -$CC -c $tmpfile_c -o $tmpfile_o >/dev/null 2>&1 | ||
| 70 | +$CC $CFLAGS -c $tmpfile_c -o $tmpfile_o | ||
| 71 | |||
| 72 | if [ -f $tmpfile_o ]; then | ||
| 73 | echo "#define LOCAL_CONFIG_HAVE_LIBURING 1" > $OUTPUT_H_FILE | ||
| 74 | -- | ||
| 75 | 2.47.0 | ||
| 76 | |||
diff --git a/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb b/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb index 6ebb54e261..c837dad87c 100644 --- a/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb +++ b/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb | |||
| @@ -30,7 +30,7 @@ SRC_URI[sha256sum] = "ea2449ad3f201ec590d811db9da6d02ffc5e87a677d06b92ab15363d8c | |||
| 30 | 30 | ||
| 31 | inherit autotools lib_package pkgconfig ptest | 31 | inherit autotools lib_package pkgconfig ptest |
| 32 | 32 | ||
| 33 | CXXFLAGS += "-std=c++14" | 33 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" |
| 34 | 34 | ||
| 35 | DEPENDS = " \ | 35 | DEPENDS = " \ |
| 36 | asciidoc-native \ | 36 | asciidoc-native \ |
diff --git a/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb b/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb index 9090cabb12..463e9a3dd7 100644 --- a/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb +++ b/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb | |||
| @@ -3,7 +3,7 @@ SECTION = "libs/multimedia" | |||
| 3 | LICENSE = "GPL-2.0-or-later" | 3 | LICENSE = "GPL-2.0-or-later" |
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27" |
| 5 | 5 | ||
| 6 | SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2" | 6 | SRC_URI = "https://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2" |
| 7 | SRC_URI[sha256sum] = "ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369" | 7 | SRC_URI[sha256sum] = "ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369" |
| 8 | 8 | ||
| 9 | inherit autotools lib_package binconfig pkgconfig | 9 | inherit autotools lib_package binconfig pkgconfig |
diff --git a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb index 9e54f49dcb..b6b9a068a9 100644 --- a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb +++ b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb | |||
| @@ -9,7 +9,6 @@ DEPENDS = "gtkmm4 pulseaudio json-glib" | |||
| 9 | inherit meson features_check pkgconfig gettext | 9 | inherit meson features_check pkgconfig gettext |
| 10 | 10 | ||
| 11 | ANY_OF_DISTRO_FEATURES = "opengl vulkan" | 11 | ANY_OF_DISTRO_FEATURES = "opengl vulkan" |
| 12 | REQUIRED_DISTRO_FEATURES = "x11" | ||
| 13 | 12 | ||
| 14 | SRC_URI = "http://www.freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz" | 13 | SRC_URI = "http://www.freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz" |
| 15 | SRC_URI[sha256sum] = "e93a7836c7307dcbc989e95fc7ec0878322514c475fabd90e89ed52fd4f15d32" | 14 | SRC_URI[sha256sum] = "e93a7836c7307dcbc989e95fc7ec0878322514c475fabd90e89ed52fd4f15d32" |
diff --git a/meta-oe/recipes-navigation/geoclue/geoclue_2.8.0.bb b/meta-oe/recipes-navigation/geoclue/geoclue_2.8.1.bb index 54c938c908..4769ed033a 100644 --- a/meta-oe/recipes-navigation/geoclue/geoclue_2.8.0.bb +++ b/meta-oe/recipes-navigation/geoclue/geoclue_2.8.1.bb | |||
| @@ -12,8 +12,8 @@ DEPENDS = "glib-2.0 dbus json-glib libsoup-3.0 intltool-native" | |||
| 12 | 12 | ||
| 13 | inherit meson pkgconfig gtk-doc gobject-introspection vala | 13 | inherit meson pkgconfig gtk-doc gobject-introspection vala |
| 14 | 14 | ||
| 15 | SRCREV = "f59a42a9fbbcfcb341708e5efd6edfe72a9da768" | 15 | SRCREV = "81ddcb11208a59328a04bf022542504ac80602f5" |
| 16 | SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;branch=master \ | 16 | SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;branch=master;tag=${PV} \ |
| 17 | file://0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch \ | 17 | file://0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch \ |
| 18 | " | 18 | " |
| 19 | 19 | ||
diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-style-convert-K-R-function-definitions-to-ANSI-C-sty.patch b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-style-convert-K-R-function-definitions-to-ANSI-C-sty.patch new file mode 100644 index 0000000000..d8efc9b5d7 --- /dev/null +++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-style-convert-K-R-function-definitions-to-ANSI-C-sty.patch | |||
| @@ -0,0 +1,301 @@ | |||
| 1 | From 80bc0c1bfff769728d18ac5d9e22755e60fc23d8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Fri, 10 Apr 2026 13:08:52 -0700 | ||
| 4 | Subject: [PATCH] style: convert K&R function definitions to ANSI C style in | ||
| 5 | md5.c | ||
| 6 | |||
| 7 | Replace old-style K&R function parameter declarations with modern ANSI | ||
| 8 | C prototypes across all functions in lib/md5.c. Also strip trailing | ||
| 9 | whitespace throughout the file. No functional changes. | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [md5 does not exist in master branch] | ||
| 12 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 13 | --- | ||
| 14 | lib/md5.c | 231 +++++++++++++++++++++++++----------------------- | ||
| 15 | saslauthd/md5.c | 77 +++++++++------- | ||
| 16 | 2 files changed, 163 insertions(+), 145 deletions(-) | ||
| 17 | |||
| 18 | --- a/saslauthd/md5.c | ||
| 19 | +++ b/saslauthd/md5.c | ||
| 20 | @@ -98,8 +98,9 @@ Rotation is separate from addition to pr | ||
| 21 | /* MD5 initialization. Begins an MD5 operation, writing a new context. | ||
| 22 | */ | ||
| 23 | |||
| 24 | -void _saslauthd_MD5Init (context) | ||
| 25 | -MD5_CTX *context; /* context */ | ||
| 26 | +void _saslauthd_MD5Init ( | ||
| 27 | +MD5_CTX *context /* context */ | ||
| 28 | +) | ||
| 29 | { | ||
| 30 | context->count[0] = context->count[1] = 0; | ||
| 31 | |||
| 32 | @@ -114,10 +115,11 @@ MD5_CTX *context; /* context */ | ||
| 33 | operation, processing another message block, and updating the context. | ||
| 34 | */ | ||
| 35 | |||
| 36 | -void _saslauthd_MD5Update (context, input, inputLen) | ||
| 37 | -MD5_CTX *context; /* context */ | ||
| 38 | -unsigned char *input; /* input block */ | ||
| 39 | -unsigned int inputLen; /* length of input block */ | ||
| 40 | +void _saslauthd_MD5Update ( | ||
| 41 | +MD5_CTX *context, /* context */ | ||
| 42 | +unsigned char *input, /* input block */ | ||
| 43 | +unsigned int inputLen /* length of input block */ | ||
| 44 | +) | ||
| 45 | { | ||
| 46 | unsigned int i, index, partLen; | ||
| 47 | |||
| 48 | @@ -159,9 +161,10 @@ unsigned int inputLen; /* length of inpu | ||
| 49 | the message digest and zeroizing the context. | ||
| 50 | */ | ||
| 51 | |||
| 52 | -void _saslauthd_MD5Final (digest, context) | ||
| 53 | -unsigned char digest[16]; /* message digest */ | ||
| 54 | -MD5_CTX *context; /* context */ | ||
| 55 | +void _saslauthd_MD5Final ( | ||
| 56 | +unsigned char digest[16], /* message digest */ | ||
| 57 | +MD5_CTX *context /* context */ | ||
| 58 | +) | ||
| 59 | { | ||
| 60 | unsigned char bits[8]; | ||
| 61 | unsigned int index, padLen; | ||
| 62 | @@ -186,9 +189,10 @@ MD5_CTX *context; /* context */ | ||
| 63 | |||
| 64 | /* MD5 basic transformation. Transforms state based on block. */ | ||
| 65 | |||
| 66 | -static void MD5Transform (state, block) | ||
| 67 | -UINT4 state[4]; | ||
| 68 | -unsigned char block[64]; | ||
| 69 | +static void MD5Transform ( | ||
| 70 | +UINT4 state[4], | ||
| 71 | +unsigned char block[64] | ||
| 72 | +) | ||
| 73 | { | ||
| 74 | UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16]; | ||
| 75 | |||
| 76 | @@ -281,10 +285,11 @@ unsigned char block[64]; | ||
| 77 | |||
| 78 | */ | ||
| 79 | |||
| 80 | -static void Encode (output, input, len) | ||
| 81 | -unsigned char *output; | ||
| 82 | -UINT4 *input; | ||
| 83 | -unsigned int len; | ||
| 84 | +static void Encode ( | ||
| 85 | +unsigned char *output, | ||
| 86 | +UINT4 *input, | ||
| 87 | +unsigned int len | ||
| 88 | +) | ||
| 89 | { | ||
| 90 | unsigned int i, j; | ||
| 91 | |||
| 92 | @@ -301,10 +306,11 @@ unsigned int len; | ||
| 93 | |||
| 94 | */ | ||
| 95 | |||
| 96 | -static void Decode (output, input, len) | ||
| 97 | -UINT4 *output; | ||
| 98 | -unsigned char *input; | ||
| 99 | -unsigned int len; | ||
| 100 | +static void Decode ( | ||
| 101 | +UINT4 *output, | ||
| 102 | +unsigned char *input, | ||
| 103 | +unsigned int len | ||
| 104 | +) | ||
| 105 | { | ||
| 106 | unsigned int i, j; | ||
| 107 | |||
| 108 | @@ -317,10 +323,11 @@ unsigned int len; | ||
| 109 | |||
| 110 | */ | ||
| 111 | |||
| 112 | -static void MD5_memcpy (output, input, len) | ||
| 113 | -POINTER output; | ||
| 114 | -POINTER input; | ||
| 115 | -unsigned int len; | ||
| 116 | +static void MD5_memcpy ( | ||
| 117 | +POINTER output, | ||
| 118 | +POINTER input, | ||
| 119 | +unsigned int len | ||
| 120 | +) | ||
| 121 | { | ||
| 122 | unsigned int i; | ||
| 123 | |||
| 124 | @@ -331,10 +338,11 @@ unsigned int len; | ||
| 125 | /* Note: Replace "for loop" with standard memset if possible. | ||
| 126 | */ | ||
| 127 | |||
| 128 | -static void MD5_memset (output, value, len) | ||
| 129 | -POINTER output; | ||
| 130 | -int value; | ||
| 131 | -unsigned int len; | ||
| 132 | +static void MD5_memset ( | ||
| 133 | +POINTER output, | ||
| 134 | +int value, | ||
| 135 | +unsigned int len | ||
| 136 | +) | ||
| 137 | { | ||
| 138 | unsigned int i; | ||
| 139 | |||
| 140 | @@ -452,12 +460,13 @@ void _saslauthd_hmac_md5_final(unsigned | ||
| 141 | } | ||
| 142 | |||
| 143 | |||
| 144 | -void _saslauthd_hmac_md5(text, text_len, key, key_len, digest) | ||
| 145 | -const unsigned char* text; /* pointer to data stream */ | ||
| 146 | -int text_len; /* length of data stream */ | ||
| 147 | -const unsigned char* key; /* pointer to authentication key */ | ||
| 148 | -int key_len; /* length of authentication key */ | ||
| 149 | -unsigned char *digest; /* caller digest to be filled in */ | ||
| 150 | +void _saslauthd_hmac_md5( | ||
| 151 | +const unsigned char* text, /* pointer to data stream */ | ||
| 152 | +int text_len, /* length of data stream */ | ||
| 153 | +const unsigned char* key, /* pointer to authentication key */ | ||
| 154 | +int key_len, /* length of authentication key */ | ||
| 155 | +unsigned char *digest /* caller digest to be filled in */ | ||
| 156 | +) | ||
| 157 | { | ||
| 158 | MD5_CTX context; | ||
| 159 | |||
| 160 | --- a/lib/md5.c | ||
| 161 | +++ b/lib/md5.c | ||
| 162 | @@ -98,8 +98,9 @@ Rotation is separate from addition to pr | ||
| 163 | /* MD5 initialization. Begins an MD5 operation, writing a new context. | ||
| 164 | */ | ||
| 165 | |||
| 166 | -void _sasl_MD5Init (context) | ||
| 167 | -MD5_CTX *context; /* context */ | ||
| 168 | +void _sasl_MD5Init ( | ||
| 169 | +MD5_CTX *context /* context */ | ||
| 170 | +) | ||
| 171 | { | ||
| 172 | context->count[0] = context->count[1] = 0; | ||
| 173 | |||
| 174 | @@ -114,10 +115,11 @@ MD5_CTX *context; /* context */ | ||
| 175 | operation, processing another message block, and updating the context. | ||
| 176 | */ | ||
| 177 | |||
| 178 | -void _sasl_MD5Update (context, input, inputLen) | ||
| 179 | -MD5_CTX *context; /* context */ | ||
| 180 | -const unsigned char *input; /* input block */ | ||
| 181 | -unsigned int inputLen; /* length of input block */ | ||
| 182 | +void _sasl_MD5Update ( | ||
| 183 | +MD5_CTX *context, /* context */ | ||
| 184 | +const unsigned char *input, /* input block */ | ||
| 185 | +unsigned int inputLen /* length of input block */ | ||
| 186 | +) | ||
| 187 | { | ||
| 188 | unsigned int i, index, partLen; | ||
| 189 | |||
| 190 | @@ -159,9 +161,10 @@ unsigned int inputLen; /* length of inpu | ||
| 191 | the message digest and zeroizing the context. | ||
| 192 | */ | ||
| 193 | |||
| 194 | -void _sasl_MD5Final (digest, context) | ||
| 195 | -unsigned char digest[16]; /* message digest */ | ||
| 196 | -MD5_CTX *context; /* context */ | ||
| 197 | +void _sasl_MD5Final ( | ||
| 198 | +unsigned char digest[16], /* message digest */ | ||
| 199 | +MD5_CTX *context /* context */ | ||
| 200 | +) | ||
| 201 | { | ||
| 202 | unsigned char bits[8]; | ||
| 203 | unsigned int index, padLen; | ||
| 204 | @@ -186,9 +189,10 @@ MD5_CTX *context; /* context */ | ||
| 205 | |||
| 206 | /* MD5 basic transformation. Transforms state based on block. */ | ||
| 207 | |||
| 208 | -static void MD5Transform (state, block) | ||
| 209 | -UINT4 state[4]; | ||
| 210 | -const unsigned char block[64]; | ||
| 211 | +static void MD5Transform ( | ||
| 212 | +UINT4 state[4], | ||
| 213 | +const unsigned char block[64] | ||
| 214 | +) | ||
| 215 | { | ||
| 216 | UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16]; | ||
| 217 | |||
| 218 | @@ -281,10 +285,11 @@ const unsigned char block[64]; | ||
| 219 | |||
| 220 | */ | ||
| 221 | |||
| 222 | -static void Encode (output, input, len) | ||
| 223 | -unsigned char *output; | ||
| 224 | -UINT4 *input; | ||
| 225 | -unsigned int len; | ||
| 226 | +static void Encode ( | ||
| 227 | +unsigned char *output, | ||
| 228 | +UINT4 *input, | ||
| 229 | +unsigned int len | ||
| 230 | +) | ||
| 231 | { | ||
| 232 | unsigned int i, j; | ||
| 233 | |||
| 234 | @@ -301,10 +306,11 @@ unsigned int len; | ||
| 235 | |||
| 236 | */ | ||
| 237 | |||
| 238 | -static void Decode (output, input, len) | ||
| 239 | -UINT4 *output; | ||
| 240 | -const unsigned char *input; | ||
| 241 | -unsigned int len; | ||
| 242 | +static void Decode ( | ||
| 243 | +UINT4 *output, | ||
| 244 | +const unsigned char *input, | ||
| 245 | +unsigned int len | ||
| 246 | +) | ||
| 247 | { | ||
| 248 | unsigned int i, j; | ||
| 249 | |||
| 250 | @@ -317,10 +323,11 @@ unsigned int len; | ||
| 251 | |||
| 252 | */ | ||
| 253 | |||
| 254 | -static void MD5_memcpy (output, input, len) | ||
| 255 | -POINTER output; | ||
| 256 | -POINTER input; | ||
| 257 | -unsigned int len; | ||
| 258 | +static void MD5_memcpy ( | ||
| 259 | +POINTER output, | ||
| 260 | +POINTER input, | ||
| 261 | +unsigned int len | ||
| 262 | +) | ||
| 263 | { | ||
| 264 | unsigned int i; | ||
| 265 | |||
| 266 | @@ -331,10 +338,11 @@ unsigned int len; | ||
| 267 | /* Note: Replace "for loop" with standard memset if possible. | ||
| 268 | */ | ||
| 269 | |||
| 270 | -static void MD5_memset (output, value, len) | ||
| 271 | -POINTER output; | ||
| 272 | -int value; | ||
| 273 | -unsigned int len; | ||
| 274 | +static void MD5_memset ( | ||
| 275 | +POINTER output, | ||
| 276 | +int value, | ||
| 277 | +unsigned int len | ||
| 278 | +) | ||
| 279 | { | ||
| 280 | unsigned int i; | ||
| 281 | |||
| 282 | @@ -452,12 +460,13 @@ void _sasl_hmac_md5_final(unsigned char | ||
| 283 | } | ||
| 284 | |||
| 285 | |||
| 286 | -void _sasl_hmac_md5(text, text_len, key, key_len, digest) | ||
| 287 | -const unsigned char* text; /* pointer to data stream */ | ||
| 288 | -int text_len; /* length of data stream */ | ||
| 289 | -const unsigned char* key; /* pointer to authentication key */ | ||
| 290 | -int key_len; /* length of authentication key */ | ||
| 291 | -unsigned char *digest; /* caller digest to be filled in */ | ||
| 292 | +void _sasl_hmac_md5( | ||
| 293 | +const unsigned char* text, /* pointer to data stream */ | ||
| 294 | +int text_len, /* length of data stream */ | ||
| 295 | +const unsigned char* key, /* pointer to authentication key */ | ||
| 296 | +int key_len, /* length of authentication key */ | ||
| 297 | +unsigned char *digest /* caller digest to be filled in */ | ||
| 298 | +) | ||
| 299 | { | ||
| 300 | MD5_CTX context; | ||
| 301 | |||
diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb index bd15b0bda8..26ec8a71a1 100644 --- a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb +++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb | |||
| @@ -20,6 +20,7 @@ SRC_URI = " \ | |||
| 20 | file://0001-configure-prototypes.patch \ | 20 | file://0001-configure-prototypes.patch \ |
| 21 | file://0002-Fix-incompatible-pointer-types-error-with-gcc-15.patch \ | 21 | file://0002-Fix-incompatible-pointer-types-error-with-gcc-15.patch \ |
| 22 | file://0003-Add-compatibility-for-gcc-15-869.patch \ | 22 | file://0003-Add-compatibility-for-gcc-15-869.patch \ |
| 23 | file://0001-style-convert-K-R-function-definitions-to-ANSI-C-sty.patch \ | ||
| 23 | " | 24 | " |
| 24 | 25 | ||
| 25 | UPSTREAM_CHECK_URI = "https://github.com/cyrusimap/cyrus-sasl/archives" | 26 | UPSTREAM_CHECK_URI = "https://github.com/cyrusimap/cyrus-sasl/archives" |
diff --git a/meta-oe/recipes-security/audit/audit/0001-m4-update-ax_prog_cc_for_build.m4-to-latest.patch b/meta-oe/recipes-security/audit/audit/0001-m4-update-ax_prog_cc_for_build.m4-to-latest.patch new file mode 100644 index 0000000000..cf322b8e1a --- /dev/null +++ b/meta-oe/recipes-security/audit/audit/0001-m4-update-ax_prog_cc_for_build.m4-to-latest.patch | |||
| @@ -0,0 +1,196 @@ | |||
| 1 | From 3da79b330527b5f9d6e6243c8ba12968810965a3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Jansa <martin.jansa@gmail.com> | ||
| 3 | Date: Fri, 10 Apr 2026 14:53:41 +0200 | ||
| 4 | Subject: [PATCH] m4: update ax_prog_cc_for_build.m4 to latest | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | After the autoconf update to 2.73 this was using -std=gnu23 | ||
| 10 | even on hosts with gcc-13 which doesn't support it: | ||
| 11 | |||
| 12 | ac_cv_prog_ac_ct_CC_FOR_BUILD='gcc ' | ||
| 13 | ac_cv_prog_cc_c23=-std=gnu23 | ||
| 14 | ac_cv_prog_cc_g=yes | ||
| 15 | ac_cv_prog_cc_stdc=-std=gnu23 | ||
| 16 | |||
| 17 | Leading to: | ||
| 18 | gcc -std=gnu23 -DHAVE_CONFIG_H -I. -I../../sources/audit-4.1.4/lib -I.. -I. -I../../sources/audit-4.1.4 -I../../sources/audit-4.1.4/auparse -I../../sources/audit-4.1.4/common -isystem/audit/4.1.4/recipe-sysroot-native/usr/include '-DTABLE_H="fieldtab.h"' -isystem/audit/4.1.4/recipe-sysroot-native/usr/include -O2 -pipe -c -o gen_fieldtabs_h-gen_tables.o `test -f 'gen_tables.c' || echo '../../sources/audit-4.1.4/lib/'`gen_tables.c | ||
| 19 | gcc: error: unrecognized command-line option â-std=gnu23â; did you mean â-std=gnu2xâ? | ||
| 20 | |||
| 21 | Needs the updated ac_cv_prog_cc_c23 from: | ||
| 22 | https://github.com/autoconf-archive/autoconf-archive/commit/8a970ce96721f516fef4226e5eca8da341159765 | ||
| 23 | |||
| 24 | Upstream-Status: Submitted [https://github.com/linux-audit/audit-userspace/pull/524] | ||
| 25 | Signed-off-by: Martin Jansa <martin.jansa@gmail.com> | ||
| 26 | --- | ||
| 27 | m4/ax_prog_cc_for_build.m4 | 100 +++++++++++++++++++++++++++---------- | ||
| 28 | 1 file changed, 75 insertions(+), 25 deletions(-) | ||
| 29 | |||
| 30 | diff --git a/m4/ax_prog_cc_for_build.m4 b/m4/ax_prog_cc_for_build.m4 | ||
| 31 | index 77fd346a..4d1de993 100644 | ||
| 32 | --- a/m4/ax_prog_cc_for_build.m4 | ||
| 33 | +++ b/m4/ax_prog_cc_for_build.m4 | ||
| 34 | @@ -1,5 +1,5 @@ | ||
| 35 | # =========================================================================== | ||
| 36 | -# http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html | ||
| 37 | +# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html | ||
| 38 | # =========================================================================== | ||
| 39 | # | ||
| 40 | # SYNOPSIS | ||
| 41 | @@ -32,28 +32,32 @@ | ||
| 42 | # and this notice are preserved. This file is offered as-is, without any | ||
| 43 | # warranty. | ||
| 44 | |||
| 45 | -#serial 8 | ||
| 46 | +#serial 26 | ||
| 47 | |||
| 48 | AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD]) | ||
| 49 | AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl | ||
| 50 | AC_REQUIRE([AC_PROG_CC])dnl | ||
| 51 | AC_REQUIRE([AC_PROG_CPP])dnl | ||
| 52 | -AC_REQUIRE([AC_EXEEXT])dnl | ||
| 53 | -AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
| 54 | +AC_REQUIRE([AC_CANONICAL_BUILD])dnl | ||
| 55 | |||
| 56 | dnl Use the standard macros, but make them use other variable names | ||
| 57 | dnl | ||
| 58 | pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl | ||
| 59 | pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl | ||
| 60 | +pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl | ||
| 61 | +pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl | ||
| 62 | +pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl | ||
| 63 | +pushdef([ac_cv_prog_cc_c23], ac_cv_build_prog_cc_c23)dnl | ||
| 64 | +pushdef([ac_cv_prog_cc_stdc], ac_cv_build_prog_cc_stdc)dnl | ||
| 65 | pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl | ||
| 66 | pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl | ||
| 67 | pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl | ||
| 68 | -pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl | ||
| 69 | -pushdef([ac_cv_objext], ac_cv_build_objext)dnl | ||
| 70 | +pushdef([ac_prog_cc_stdc], ac_build_prog_cc_stdc)dnl | ||
| 71 | pushdef([ac_exeext], ac_build_exeext)dnl | ||
| 72 | pushdef([ac_objext], ac_build_objext)dnl | ||
| 73 | pushdef([CC], CC_FOR_BUILD)dnl | ||
| 74 | pushdef([CPP], CPP_FOR_BUILD)dnl | ||
| 75 | +pushdef([GCC], GCC_FOR_BUILD)dnl | ||
| 76 | pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl | ||
| 77 | pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl | ||
| 78 | pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl | ||
| 79 | @@ -67,27 +71,58 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl | ||
| 80 | pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl | ||
| 81 | pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl | ||
| 82 | pushdef([ac_cv_host_os], ac_cv_build_os)dnl | ||
| 83 | -pushdef([ac_cpp], ac_build_cpp)dnl | ||
| 84 | -pushdef([ac_compile], ac_build_compile)dnl | ||
| 85 | -pushdef([ac_link], ac_build_link)dnl | ||
| 86 | +pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl | ||
| 87 | +pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl | ||
| 88 | +pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl | ||
| 89 | +pushdef([cross_compiling], cross_compiling_build)dnl | ||
| 90 | +dnl | ||
| 91 | +dnl These variables are problematic to rename by M4 macros, so we save | ||
| 92 | +dnl their values in alternative names, and restore the values later. | ||
| 93 | +dnl | ||
| 94 | +dnl _AC_COMPILER_EXEEXT and _AC_COMPILER_OBJEXT internally call | ||
| 95 | +dnl AC_SUBST which prevents the renaming of EXEEXT and OBJEXT | ||
| 96 | +dnl variables. It's not a good idea to rename ac_cv_exeext and | ||
| 97 | +dnl ac_cv_objext either as they're related. | ||
| 98 | +dnl Renaming ac_exeext and ac_objext is safe though. | ||
| 99 | +dnl | ||
| 100 | +ac_cv_host_exeext=$ac_cv_exeext | ||
| 101 | +AS_VAR_SET_IF([ac_cv_build_exeext], | ||
| 102 | + [ac_cv_exeext=$ac_cv_build_exeext], | ||
| 103 | + [AS_UNSET([ac_cv_exeext])]) | ||
| 104 | +ac_cv_host_objext=$ac_cv_objext | ||
| 105 | +AS_VAR_SET_IF([ac_cv_build_objext], | ||
| 106 | + [ac_cv_objext=$ac_cv_build_objext], | ||
| 107 | + [AS_UNSET([ac_cv_objext])]) | ||
| 108 | +dnl | ||
| 109 | +dnl ac_cv_c_compiler_gnu is used in _AC_LANG_COMPILER_GNU (called by | ||
| 110 | +dnl AC_PROG_CC) indirectly. | ||
| 111 | +dnl | ||
| 112 | +ac_cv_host_c_compiler_gnu=$ac_cv_c_compiler_gnu | ||
| 113 | +AS_VAR_SET_IF([ac_cv_build_c_compiler_gnu], | ||
| 114 | + [ac_cv_c_compiler_gnu=$ac_cv_build_c_compiler_gnu], | ||
| 115 | + [AS_UNSET([ac_cv_c_compiler_gnu])]) | ||
| 116 | + | ||
| 117 | +cross_compiling_build=no | ||
| 118 | |||
| 119 | -save_cross_compiling=$cross_compiling | ||
| 120 | -save_ac_tool_prefix=$ac_tool_prefix | ||
| 121 | -cross_compiling=no | ||
| 122 | -ac_tool_prefix= | ||
| 123 | +ac_build_tool_prefix= | ||
| 124 | +AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"], | ||
| 125 | + [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"]) | ||
| 126 | |||
| 127 | +AC_LANG_PUSH([C]) | ||
| 128 | AC_PROG_CC | ||
| 129 | +_AC_COMPILER_EXEEXT | ||
| 130 | +_AC_COMPILER_OBJEXT | ||
| 131 | AC_PROG_CPP | ||
| 132 | -AC_EXEEXT | ||
| 133 | |||
| 134 | -ac_tool_prefix=$save_ac_tool_prefix | ||
| 135 | -cross_compiling=$save_cross_compiling | ||
| 136 | +BUILD_EXEEXT=$ac_cv_exeext | ||
| 137 | +BUILD_OBJEXT=$ac_cv_objext | ||
| 138 | |||
| 139 | dnl Restore the old definitions | ||
| 140 | dnl | ||
| 141 | -popdef([ac_link])dnl | ||
| 142 | -popdef([ac_compile])dnl | ||
| 143 | -popdef([ac_cpp])dnl | ||
| 144 | +popdef([cross_compiling])dnl | ||
| 145 | +popdef([am_cv_prog_cc_c_o])dnl | ||
| 146 | +popdef([am_cv_CC_dependencies_compiler_type])dnl | ||
| 147 | +popdef([ac_tool_prefix])dnl | ||
| 148 | popdef([ac_cv_host_os])dnl | ||
| 149 | popdef([ac_cv_host_vendor])dnl | ||
| 150 | popdef([ac_cv_host_cpu])dnl | ||
| 151 | @@ -101,24 +136,39 @@ popdef([host])dnl | ||
| 152 | popdef([LDFLAGS])dnl | ||
| 153 | popdef([CPPFLAGS])dnl | ||
| 154 | popdef([CFLAGS])dnl | ||
| 155 | +popdef([GCC])dnl | ||
| 156 | popdef([CPP])dnl | ||
| 157 | popdef([CC])dnl | ||
| 158 | popdef([ac_objext])dnl | ||
| 159 | popdef([ac_exeext])dnl | ||
| 160 | -popdef([ac_cv_objext])dnl | ||
| 161 | -popdef([ac_cv_exeext])dnl | ||
| 162 | +popdef([ac_prog_cc_stdc])dnl | ||
| 163 | popdef([ac_cv_prog_cc_g])dnl | ||
| 164 | popdef([ac_cv_prog_cc_cross])dnl | ||
| 165 | popdef([ac_cv_prog_cc_works])dnl | ||
| 166 | +popdef([ac_cv_prog_cc_stdc])dnl | ||
| 167 | +popdef([ac_cv_prog_cc_c23])dnl | ||
| 168 | +popdef([ac_cv_prog_cc_c11])dnl | ||
| 169 | +popdef([ac_cv_prog_cc_c99])dnl | ||
| 170 | +popdef([ac_cv_prog_cc_c89])dnl | ||
| 171 | popdef([ac_cv_prog_gcc])dnl | ||
| 172 | popdef([ac_cv_prog_CPP])dnl | ||
| 173 | +dnl | ||
| 174 | +ac_cv_exeext=$ac_cv_host_exeext | ||
| 175 | +EXEEXT=$ac_cv_host_exeext | ||
| 176 | +ac_cv_objext=$ac_cv_host_objext | ||
| 177 | +OBJEXT=$ac_cv_host_objext | ||
| 178 | +ac_cv_c_compiler_gnu=$ac_cv_host_c_compiler_gnu | ||
| 179 | +ac_compiler_gnu=$ac_cv_host_c_compiler_gnu | ||
| 180 | + | ||
| 181 | +dnl restore global variables ac_ext, ac_cpp, ac_compile, | ||
| 182 | +dnl ac_link, ac_compiler_gnu (dependent on the current | ||
| 183 | +dnl language after popping): | ||
| 184 | +AC_LANG_POP([C]) | ||
| 185 | |||
| 186 | dnl Finally, set Makefile variables | ||
| 187 | dnl | ||
| 188 | -BUILD_EXEEXT=$ac_build_exeext | ||
| 189 | -BUILD_OBJEXT=$ac_build_objext | ||
| 190 | -AC_SUBST(BUILD_EXEEXT)dnl | ||
| 191 | -AC_SUBST(BUILD_OBJEXT)dnl | ||
| 192 | +AC_SUBST([BUILD_EXEEXT])dnl | ||
| 193 | +AC_SUBST([BUILD_OBJEXT])dnl | ||
| 194 | AC_SUBST([CFLAGS_FOR_BUILD])dnl | ||
| 195 | AC_SUBST([CPPFLAGS_FOR_BUILD])dnl | ||
| 196 | AC_SUBST([LDFLAGS_FOR_BUILD])dnl | ||
diff --git a/meta-oe/recipes-security/audit/audit_4.1.4.bb b/meta-oe/recipes-security/audit/audit_4.1.4.bb index 05d6f1d277..e349ee76d0 100644 --- a/meta-oe/recipes-security/audit/audit_4.1.4.bb +++ b/meta-oe/recipes-security/audit/audit_4.1.4.bb | |||
| @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | |||
| 9 | 9 | ||
| 10 | SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master;protocol=https;tag=v${PV} \ | 10 | SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master;protocol=https;tag=v${PV} \ |
| 11 | file://0001-Fixed-swig-host-contamination-issue.patch \ | 11 | file://0001-Fixed-swig-host-contamination-issue.patch \ |
| 12 | file://0001-m4-update-ax_prog_cc_for_build.m4-to-latest.patch \ | ||
| 12 | file://auditd \ | 13 | file://auditd \ |
| 13 | " | 14 | " |
| 14 | 15 | ||
diff --git a/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb b/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb index 86f45656f6..2e7503cd42 100644 --- a/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb +++ b/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb | |||
| @@ -44,6 +44,8 @@ EXTRA_OEMAKE = "'CFLAGS=${CFLAGS} -Wall' \ | |||
| 44 | NO_GLIBC_KEYERR=1 \ | 44 | NO_GLIBC_KEYERR=1 \ |
| 45 | " | 45 | " |
| 46 | 46 | ||
| 47 | LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}" | ||
| 48 | |||
| 47 | do_install () { | 49 | do_install () { |
| 48 | oe_runmake DESTDIR=${D} install | 50 | oe_runmake DESTDIR=${D} install |
| 49 | } | 51 | } |
diff --git a/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb b/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb index ae196946d9..662519d5b2 100644 --- a/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb +++ b/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb | |||
| @@ -34,7 +34,7 @@ def get_spdm_multiarch(d): | |||
| 34 | if target_arch in multiarch_options: | 34 | if target_arch in multiarch_options: |
| 35 | return multiarch_options[target_arch] | 35 | return multiarch_options[target_arch] |
| 36 | 36 | ||
| 37 | bb.fatal("unsupported architecture '%s'" % target_arch) | 37 | bb.parse.SkipRecipe("unsupported architecture '%s'" % target_arch) |
| 38 | 38 | ||
| 39 | EXTRA_OECMAKE += "\ | 39 | EXTRA_OECMAKE += "\ |
| 40 | -DARCH=${@get_spdm_multiarch(d)} \ | 40 | -DARCH=${@get_spdm_multiarch(d)} \ |
diff --git a/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_git.bb b/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_26.26.0404682.bb index e239770584..454e702e66 100644 --- a/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_git.bb +++ b/meta-oe/recipes-security/spectre-meltdown-checker/spectre-meltdown-checker_26.26.0404682.bb | |||
| @@ -8,10 +8,8 @@ BUGTRACKER = "https://github.com/speed47/spectre-meltdown-checker/issues" | |||
| 8 | LICENSE = "GPL-3.0-only" | 8 | LICENSE = "GPL-3.0-only" |
| 9 | LIC_FILES_CHKSUM = "file://spectre-meltdown-checker.sh;beginline=2;endline=2;md5=3ae5399e70af7be9b93f72568069e2f4" | 9 | LIC_FILES_CHKSUM = "file://spectre-meltdown-checker.sh;beginline=2;endline=2;md5=3ae5399e70af7be9b93f72568069e2f4" |
| 10 | 10 | ||
| 11 | PV = "0.46+git" | 11 | SRC_URI = "git://github.com/speed47/spectre-meltdown-checker;protocol=https;branch=master;tag=v${PV}" |
| 12 | 12 | SRCREV = "8a6f9d5d638c601d2a875669015a6cb217e40f49" | |
| 13 | SRC_URI = "git://github.com/speed47/spectre-meltdown-checker;protocol=https;branch=master" | ||
| 14 | SRCREV = "a20641fbad57f37da6093203484ca28769e5bb64" | ||
| 15 | 13 | ||
| 16 | # binutils: readelf,objdump might be used for deeper analysis | 14 | # binutils: readelf,objdump might be used for deeper analysis |
| 17 | # coreutils: dd with iflag=skip_bytes oflag=seek_bytes in some cases | 15 | # coreutils: dd with iflag=skip_bytes oflag=seek_bytes in some cases |
diff --git a/meta-oe/recipes-support/atop/atop_2.12.1.bb b/meta-oe/recipes-support/atop/atop_2.12.1.bb index 4ca74edbaf..d40b95ce6c 100644 --- a/meta-oe/recipes-support/atop/atop_2.12.1.bb +++ b/meta-oe/recipes-support/atop/atop_2.12.1.bb | |||
| @@ -7,7 +7,7 @@ etc. At regular intervals, it shows system-level activity related to the CPU, \ | |||
| 7 | memory, swap, disks (including LVM) and network layers, and for every process \ | 7 | memory, swap, disks (including LVM) and network layers, and for every process \ |
| 8 | (and thread) it shows e.g. the CPU utilization, memory growth, disk \ | 8 | (and thread) it shows e.g. the CPU utilization, memory growth, disk \ |
| 9 | utilization, priority, username, state, and exit code." | 9 | utilization, priority, username, state, and exit code." |
| 10 | HOMEPAGE = "http://www.atoptool.nl" | 10 | HOMEPAGE = "https://www.atoptool.nl" |
| 11 | SECTION = "console/utils" | 11 | SECTION = "console/utils" |
| 12 | 12 | ||
| 13 | LICENSE = "GPL-2.0-only" | 13 | LICENSE = "GPL-2.0-only" |
| @@ -37,7 +37,7 @@ do_compile() { | |||
| 37 | do_install() { | 37 | do_install() { |
| 38 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | 38 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
| 39 | make DESTDIR=${D} VERS=${PV} SYSDPATH=${systemd_system_unitdir} \ | 39 | make DESTDIR=${D} VERS=${PV} SYSDPATH=${systemd_system_unitdir} \ |
| 40 | PMPATHD=${systemd_unitdir}/system-sleep install | 40 | PMPATHD=${systemd_unitdir}/system-sleep SBINPATH=${sbindir} install |
| 41 | install -d ${D}${sysconfdir}/tmpfiles.d | 41 | install -d ${D}${sysconfdir}/tmpfiles.d |
| 42 | install -m 644 ${UNPACKDIR}/volatiles.atop.conf ${D}${sysconfdir}/tmpfiles.d/atop.conf | 42 | install -m 644 ${UNPACKDIR}/volatiles.atop.conf ${D}${sysconfdir}/tmpfiles.d/atop.conf |
| 43 | rm -f ${D}${systemd_system_unitdir}/atopacct.service | 43 | rm -f ${D}${systemd_system_unitdir}/atopacct.service |
| @@ -51,16 +51,19 @@ do_install() { | |||
| 51 | # /var/log/atop will be created in runtime | 51 | # /var/log/atop will be created in runtime |
| 52 | rm -rf ${D}${localstatedir}/log | 52 | rm -rf ${D}${localstatedir}/log |
| 53 | rmdir --ignore-fail-on-non-empty ${D}${localstatedir} | 53 | rmdir --ignore-fail-on-non-empty ${D}${localstatedir} |
| 54 | |||
| 55 | # remove atopacct related files | ||
| 56 | rm -rf ${D}${sbindir} ${D}${mandir}/man8 | ||
| 57 | } | 54 | } |
| 58 | 55 | ||
| 59 | inherit systemd | 56 | inherit systemd |
| 60 | 57 | ||
| 58 | PACKAGES =+ "${PN}-acctd ${PN}-gpud" | ||
| 59 | |||
| 61 | SYSTEMD_SERVICE:${PN} = "atop.service atopgpu.service atop-rotate.service" | 60 | SYSTEMD_SERVICE:${PN} = "atop.service atopgpu.service atop-rotate.service" |
| 62 | SYSTEMD_AUTO_ENABLE = "disable" | 61 | SYSTEMD_AUTO_ENABLE = "disable" |
| 63 | 62 | ||
| 64 | FILES:${PN} += "${systemd_unitdir}/system-sleep ${systemd_system_unitdir}/atop-rotate.timer" | 63 | FILES:${PN} += "${systemd_unitdir}/system-sleep ${systemd_system_unitdir}/atop-rotate.timer" |
| 64 | FILES:${PN}-acctd += "${sbindir}/atopacctd ${mandir}/man8/atopacctd.8" | ||
| 65 | FILES:${PN}-gpud += "${sbindir}/atopgpud ${mandir}/man8/atopgpud.8" | ||
| 65 | 66 | ||
| 66 | RDEPENDS:${PN} = "procps" | 67 | RDEPENDS:${PN} = "procps" |
| 68 | RDEPENDS:${PN}-gpud = "python3-core" | ||
| 69 | RRECOMMENDS:${PN} = "${PN}-acctd ${PN}-gpud" | ||
diff --git a/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb b/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb index 0a8f237180..5368bdeeb4 100644 --- a/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb +++ b/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb | |||
| @@ -3,12 +3,11 @@ HOMEPAGE = "http://ceres-solver.org/" | |||
| 3 | LICENSE = "BSD-3-Clause" | 3 | LICENSE = "BSD-3-Clause" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3585a26c9cd9ec0cb36a7d65542878ca" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3585a26c9cd9ec0cb36a7d65542878ca" |
| 5 | 5 | ||
| 6 | DEPENDS = "libeigen glog" | 6 | DEPENDS = "libeigen" |
| 7 | 7 | ||
| 8 | SRC_URI = "git://github.com/ceres-solver/ceres-solver.git;branch=master;protocol=https" | 8 | SRC_URI = "git://github.com/ceres-solver/ceres-solver.git;branch=master;protocol=https" |
| 9 | SRCREV = "85331393dc0dff09f6fb9903ab0c4bfa3e134b01" | 9 | SRCREV = "85331393dc0dff09f6fb9903ab0c4bfa3e134b01" |
| 10 | 10 | ||
| 11 | |||
| 12 | inherit cmake | 11 | inherit cmake |
| 13 | 12 | ||
| 14 | do_configure:prepend() { | 13 | do_configure:prepend() { |
| @@ -19,6 +18,14 @@ do_configure:prepend() { | |||
| 19 | touch ${S}/.git/hooks/commit-msg 2>/dev/null || : | 18 | touch ${S}/.git/hooks/commit-msg 2>/dev/null || : |
| 20 | } | 19 | } |
| 21 | 20 | ||
| 21 | EXTRA_OECMAKE += " \ | ||
| 22 | -DBUILD_BENCHMARKS=OFF \ | ||
| 23 | -DBUILD_EXAMPLES=OFF \ | ||
| 24 | -DBUILD_TESTING=OFF \ | ||
| 25 | -DGFLAGS=OFF \ | ||
| 26 | -DUSE_CUDA=OFF \ | ||
| 27 | " | ||
| 28 | |||
| 22 | # We don't want path to eigen3 in ceres-solver RSS to be | 29 | # We don't want path to eigen3 in ceres-solver RSS to be |
| 23 | # used by components which use CeresConfig.cmake from their | 30 | # used by components which use CeresConfig.cmake from their |
| 24 | # own RSS | 31 | # own RSS |
| @@ -27,11 +34,12 @@ do_configure:prepend() { | |||
| 27 | # ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(glog_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/lib/cmake/glog) | 34 | # ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(glog_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/lib/cmake/glog) |
| 28 | SSTATE_SCAN_FILES += "*.cmake" | 35 | SSTATE_SCAN_FILES += "*.cmake" |
| 29 | 36 | ||
| 30 | PACKAGECONFIG ??= "" | 37 | PACKAGECONFIG ??= "glog" |
| 31 | 38 | ||
| 32 | # suitesparse* recipes will be in meta-ros layer | 39 | # suitesparse* recipes will be in meta-ros layer |
| 33 | PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr" | 40 | PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr" |
| 34 | PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse" | 41 | PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse" |
| 42 | PACKAGECONFIG[glog] = "-DMINIGLOG=OFF,-DMINIGLOG=ON,glog" | ||
| 35 | PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack" | 43 | PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack" |
| 36 | 44 | ||
| 37 | # Only a static library and headers are created | 45 | # Only a static library and headers are created |
diff --git a/meta-oe/recipes-support/composefs/composefs/0001-mkcomposefs-use-const-char-for-memchr-return-values.patch b/meta-oe/recipes-support/composefs/composefs/0001-mkcomposefs-use-const-char-for-memchr-return-values.patch new file mode 100644 index 0000000000..9c45d4fcc0 --- /dev/null +++ b/meta-oe/recipes-support/composefs/composefs/0001-mkcomposefs-use-const-char-for-memchr-return-values.patch | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | From 9d82303c7a3a780d481469cd8eafa016dcbff86f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Thu, 16 Apr 2026 08:25:28 -0700 | ||
| 4 | Subject: [PATCH] mkcomposefs: use const char* for memchr return values | ||
| 5 | |||
| 6 | memchr returns void*, which when assigned to char* discards the | ||
| 7 | const qualifier of the input pointer. Cast to const char* to | ||
| 8 | preserve const'ness. | ||
| 9 | |||
| 10 | Fixes build with clang-22/glibc-2.43 | ||
| 11 | |||
| 12 | tools/mkcomposefs.c | ||
| 13 | ../sources/composefs-1.0.8/tools/mkcomposefs.c:413:8: error: initializing 'char *' with an expression of type 'const void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] | ||
| 14 | 413 | char *embedded_nul_offset = memchr(line, 0, line_len); | ||
| 15 | | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 16 | 1 error generated. | ||
| 17 | |||
| 18 | Upstream-Status: Submitted [https://github.com/composefs/composefs/pull/435] | ||
| 19 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 20 | --- | ||
| 21 | tools/mkcomposefs.c | 4 ++-- | ||
| 22 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 23 | |||
| 24 | diff --git a/tools/mkcomposefs.c b/tools/mkcomposefs.c | ||
| 25 | index 13b505d..e14d8d0 100644 | ||
| 26 | --- a/tools/mkcomposefs.c | ||
| 27 | +++ b/tools/mkcomposefs.c | ||
| 28 | @@ -63,7 +63,7 @@ static __attribute__((format(printf, 1, 2))) char *make_error(const char *fmt, . | ||
| 29 | static size_t split_at(const char **start, size_t *length, char split_char, | ||
| 30 | bool *partial) | ||
| 31 | { | ||
| 32 | - char *end = memchr(*start, split_char, *length); | ||
| 33 | + const char *end = (const char*)memchr(*start, split_char, *length); | ||
| 34 | if (end == NULL) { | ||
| 35 | size_t part_len = *length; | ||
| 36 | *start = *start + *length; | ||
| 37 | @@ -410,7 +410,7 @@ static char *tree_from_dump_line(dump_info *info, const char *line, | ||
| 38 | * We didn't document support for embedded NULs, and it only introduces | ||
| 39 | * ambiguity in parsing, so let's just reject this early on. | ||
| 40 | */ | ||
| 41 | - char *embedded_nul_offset = memchr(line, 0, line_len); | ||
| 42 | + const char *embedded_nul_offset = (const char*)memchr(line, 0, line_len); | ||
| 43 | if (embedded_nul_offset != NULL) { | ||
| 44 | size_t off = embedded_nul_offset - line; | ||
| 45 | return make_error("Invalid embedded NUL character at position %lld", | ||
diff --git a/meta-oe/recipes-support/composefs/composefs_1.0.8.bb b/meta-oe/recipes-support/composefs/composefs_1.0.8.bb index f2bae91f44..3450f9a339 100644 --- a/meta-oe/recipes-support/composefs/composefs_1.0.8.bb +++ b/meta-oe/recipes-support/composefs/composefs_1.0.8.bb | |||
| @@ -14,8 +14,9 @@ LIC_FILES_CHKSUM = "\ | |||
| 14 | " | 14 | " |
| 15 | 15 | ||
| 16 | SRCREV = "858ce1b38e1534c2602eb431124b5dca706bc746" | 16 | SRCREV = "858ce1b38e1534c2602eb431124b5dca706bc746" |
| 17 | SRC_URI = "git://github.com/containers/composefs.git;protocol=https;branch=main" | 17 | SRC_URI = "git://github.com/containers/composefs.git;protocol=https;branch=main;tag=v${PV} \ |
| 18 | 18 | file://0001-mkcomposefs-use-const-char-for-memchr-return-values.patch \ | |
| 19 | " | ||
| 19 | 20 | ||
| 20 | inherit meson | 21 | inherit meson |
| 21 | 22 | ||
diff --git a/meta-oe/recipes-support/crow/crow_1.3.2.bb b/meta-oe/recipes-support/crow/crow_1.3.2.bb new file mode 100644 index 0000000000..09970fcfc2 --- /dev/null +++ b/meta-oe/recipes-support/crow/crow_1.3.2.bb | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | SUMMARY = "A Fast and Easy to use microframework for the web" | ||
| 2 | HOMEPAGE = "https://crowcpp.org/" | ||
| 3 | DESCRIPTION = "Crow is a C++ framework for creating HTTP or Websocket web services. \ | ||
| 4 | It uses routing similar to Python's Flask which makes it easy to use. \ | ||
| 5 | It is also extremely fast, beating multiple existing C++ frameworks as well as non-C++ frameworks." | ||
| 6 | SECTION = "libs" | ||
| 7 | LICENSE = "BSD-3-Clause" | ||
| 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e08502e395a6f7c037ddfe7d2915f58e" | ||
| 9 | |||
| 10 | SRC_URI = "git://github.com/CrowCpp/Crow.git;protocol=https;branch=v1.3;tag=v${PV}" | ||
| 11 | SRCREV = "f8c060c51feeca2c65828fb6f538603db4392d55" | ||
| 12 | |||
| 13 | inherit cmake | ||
| 14 | |||
| 15 | DEPENDS = "asio" | ||
| 16 | |||
| 17 | EXTRA_OECMAKE = "\ | ||
| 18 | -DCROW_BUILD_EXAMPLES=OFF \ | ||
| 19 | -DCROW_BUILD_TESTS=OFF \ | ||
| 20 | " | ||
diff --git a/meta-oe/recipes-support/enca/enca_1.19.bb b/meta-oe/recipes-support/enca/enca_1.19.bb index 61da50ba52..395d7abe70 100644 --- a/meta-oe/recipes-support/enca/enca_1.19.bb +++ b/meta-oe/recipes-support/enca/enca_1.19.bb | |||
| @@ -17,4 +17,6 @@ SRC_URI[sha256sum] = "4c305cc59f3e57f2cfc150a6ac511690f43633595760e1cb266bf23362 | |||
| 17 | 17 | ||
| 18 | inherit autotools | 18 | inherit autotools |
| 19 | 19 | ||
| 20 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 21 | |||
| 20 | EXTRA_OECONF += "MKTEMP_PROG=mktemp" | 22 | EXTRA_OECONF += "MKTEMP_PROG=mktemp" |
diff --git a/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb b/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb index 50a1877c0e..7970e0f563 100644 --- a/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb +++ b/meta-oe/recipes-support/freeipmi/freeipmi_1.6.17.bb | |||
| @@ -23,3 +23,4 @@ inherit pkgconfig autotools | |||
| 23 | 23 | ||
| 24 | EXTRA_OECONF = "--without-random-device" | 24 | EXTRA_OECONF = "--without-random-device" |
| 25 | 25 | ||
| 26 | CVE_STATUS[CVE-2026-33554] = "fixed-version: fixed since 1.6.17" | ||
diff --git a/meta-oe/recipes-support/gd/gd_2.3.3.bb b/meta-oe/recipes-support/gd/gd_2.3.3.bb index 0d7a6d34f9..062c4b4a8f 100644 --- a/meta-oe/recipes-support/gd/gd_2.3.3.bb +++ b/meta-oe/recipes-support/gd/gd_2.3.3.bb | |||
| @@ -23,14 +23,23 @@ SRCREV = "b5319a41286107b53daa0e08e402aa1819764bdc" | |||
| 23 | 23 | ||
| 24 | inherit autotools binconfig gettext pkgconfig | 24 | inherit autotools binconfig gettext pkgconfig |
| 25 | 25 | ||
| 26 | EXTRA_OECONF += " --disable-rpath \ | 26 | PACKAGECONFIG ?= "jpeg freetype" |
| 27 | --with-jpeg=${STAGING_LIBDIR}/.. \ | 27 | |
| 28 | --with-freetype=yes \ | 28 | PACKAGECONFIG[avif] = "--with-avif,--without-avif" |
| 29 | --without-fontconfig \ | 29 | PACKAGECONFIG[fontconfig] = "--with-fontconfig,--without-fontconfig" |
| 30 | --without-webp \ | 30 | PACKAGECONFIG[freetype] = "--with-freetype,--without-freetype" |
| 31 | --without-xpm \ | 31 | PACKAGECONFIG[heif] = "--with-heif,--without-heif" |
| 32 | --without-x \ | 32 | PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg" |
| 33 | " | 33 | PACKAGECONFIG[liq] = "--with-liq,--without-liq" |
| 34 | PACKAGECONFIG[png] = "--with-png,--without-png" | ||
| 35 | PACKAGECONFIG[raqm] = "--with-raqm,--without-raqm,libraqm" | ||
| 36 | PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff" | ||
| 37 | PACKAGECONFIG[webp] = "--with-webp,--without-webp" | ||
| 38 | PACKAGECONFIG[x] = "--with-x,--without-x" | ||
| 39 | PACKAGECONFIG[xpm] = "--with-xpm,--without-xpm" | ||
| 40 | PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib" | ||
| 41 | |||
| 42 | EXTRA_OECONF += "--disable-rpath" | ||
| 34 | 43 | ||
| 35 | EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"' | 44 | EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"' |
| 36 | 45 | ||
diff --git a/meta-oe/recipes-support/glaze/glaze_7.2.2.bb b/meta-oe/recipes-support/glaze/glaze_7.3.3.bb index 807f8811d1..e733d166b2 100644 --- a/meta-oe/recipes-support/glaze/glaze_7.2.2.bb +++ b/meta-oe/recipes-support/glaze/glaze_7.3.3.bb | |||
| @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ea4d29875d83fbbf50485c846dbbbed8" | |||
| 5 | 5 | ||
| 6 | SRC_URI = "git://github.com/stephenberry/glaze;protocol=https;branch=main;tag=v${PV}" | 6 | SRC_URI = "git://github.com/stephenberry/glaze;protocol=https;branch=main;tag=v${PV}" |
| 7 | 7 | ||
| 8 | SRCREV = "959c50207aa552a8de5aabfcbb6801d08fa6fb9d" | 8 | SRCREV = "dbf6caec935b768546587a413e45d033480c4483" |
| 9 | 9 | ||
| 10 | inherit cmake | 10 | inherit cmake |
| 11 | 11 | ||
diff --git a/meta-oe/recipes-support/gtk-layer-shell/gtk-layer-shell_0.10.0.bb b/meta-oe/recipes-support/gtk-layer-shell/gtk-layer-shell_0.10.1.bb index 2bfe9b0e77..46a0562d2c 100644 --- a/meta-oe/recipes-support/gtk-layer-shell/gtk-layer-shell_0.10.0.bb +++ b/meta-oe/recipes-support/gtk-layer-shell/gtk-layer-shell_0.10.1.bb | |||
| @@ -18,7 +18,7 @@ DEPENDS += " \ | |||
| 18 | SRC_URI = " \ | 18 | SRC_URI = " \ |
| 19 | git://github.com/wmww/gtk-layer-shell.git;protocol=https;branch=master;tag=v${PV} \ | 19 | git://github.com/wmww/gtk-layer-shell.git;protocol=https;branch=master;tag=v${PV} \ |
| 20 | " | 20 | " |
| 21 | SRCREV = "3964966d72ea3359f4ff748081493e979c080b7e" | 21 | SRCREV = "fd88ba666c18ff65ea786bf7b2e270d840030817" |
| 22 | 22 | ||
| 23 | inherit meson pkgconfig features_check gobject-introspection vala | 23 | inherit meson pkgconfig features_check gobject-introspection vala |
| 24 | 24 | ||
diff --git a/meta-oe/recipes-support/htop/files/0001-configure.ac-Remove-usr-include-libnl3.patch b/meta-oe/recipes-support/htop/files/0001-configure.ac-Remove-usr-include-libnl3.patch index f00f3ac4db..c1f763ce17 100644 --- a/meta-oe/recipes-support/htop/files/0001-configure.ac-Remove-usr-include-libnl3.patch +++ b/meta-oe/recipes-support/htop/files/0001-configure.ac-Remove-usr-include-libnl3.patch | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | From 87d66b3b60176197e785670214b0bbc5bedd6552 Mon Sep 17 00:00:00 2001 | 1 | From 652b208b8c3038934fb55169f44068bbdf399b69 Mon Sep 17 00:00:00 2001 |
| 2 | From: Leon Anavi <leon.anavi@konsulko.com> | 2 | From: Liu Yiding <liuyd.fnst@fujitsu.com> |
| 3 | Date: Mon, 8 Dec 2025 11:06:01 +0000 | 3 | Date: Wed, 15 Apr 2026 01:34:56 +0000 |
| 4 | Subject: [PATCH] configure.ac: Remove /usr/include/libnl3 | 4 | Subject: [PATCH] configure.ac: Remove /usr/include/libnl3 |
| 5 | 5 | ||
| 6 | Fixes: | 6 | Fixes: |
| @@ -11,40 +11,35 @@ netlink/attr.h, netlink/handlers.h, netlink/msg.h | |||
| 11 | Upstream-Status: Inappropriate [OE-specific] | 11 | Upstream-Status: Inappropriate [OE-specific] |
| 12 | 12 | ||
| 13 | Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> | 13 | Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> |
| 14 | |||
| 15 | Update for 3.5.0. | ||
| 16 | Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com> | ||
| 14 | --- | 17 | --- |
| 15 | configure.ac | 6 +++--- | 18 | configure.ac | 4 ++-- |
| 16 | 1 file changed, 3 insertions(+), 3 deletions(-) | 19 | 1 file changed, 2 insertions(+), 2 deletions(-) |
| 17 | 20 | ||
| 18 | diff --git a/configure.ac b/configure.ac | 21 | diff --git a/configure.ac b/configure.ac |
| 19 | index 9f2f46b3..f3906692 100644 | 22 | index 2d174d73..ee8b29ca 100644 |
| 20 | --- a/configure.ac | 23 | --- a/configure.ac |
| 21 | +++ b/configure.ac | 24 | +++ b/configure.ac |
| 22 | @@ -980,14 +980,14 @@ case "$enable_delayacct" in | 25 | @@ -1638,7 +1638,7 @@ case "$enable_delayacct" in |
| 23 | enable_delayacct=no | 26 | |
| 24 | else | 27 | htop_save_CFLAGS=$CFLAGS |
| 25 | old_CFLAGS="$CFLAGS" | 28 | # New include path searched after what user has specified |
| 26 | - CFLAGS="$CFLAGS -I/usr/include/libnl3" | 29 | - CFLAGS="$CFLAGS $LIBNL3_CFLAGS" |
| 27 | + CFLAGS="$CFLAGS" | ||
| 28 | AC_CHECK_HEADERS([netlink/attr.h netlink/handlers.h netlink/msg.h], [enable_delayacct=yes], [enable_delayacct=no]) | ||
| 29 | CFLAGS="$old_CFLAGS" | ||
| 30 | fi | ||
| 31 | ;; | ||
| 32 | yes) | ||
| 33 | old_CFLAGS="$CFLAGS" | ||
| 34 | - CFLAGS="$CFLAGS -I/usr/include/libnl3" | ||
| 35 | + CFLAGS="$CFLAGS" | 30 | + CFLAGS="$CFLAGS" |
| 36 | AC_CHECK_HEADERS([netlink/attr.h netlink/handlers.h netlink/msg.h], [], [AC_MSG_ERROR([can not find required header files netlink/attr.h, netlink/handlers.h, netlink/msg.h])]) | 31 | AC_CHECK_HEADERS( |
| 37 | CFLAGS="$old_CFLAGS" | 32 | [netlink/attr.h netlink/handlers.h netlink/msg.h], |
| 38 | ;; | 33 | [], |
| 39 | @@ -997,7 +997,7 @@ case "$enable_delayacct" in | 34 | @@ -1681,7 +1681,7 @@ case "$enable_delayacct" in |
| 40 | esac | 35 | esac |
| 41 | if test "$enable_delayacct" = yes; then | 36 | if test "$enable_delayacct" = yes; then |
| 42 | AC_DEFINE([HAVE_DELAYACCT], [1], [Define if delay accounting support should be enabled.]) | 37 | AC_DEFINE([HAVE_DELAYACCT], [1], [Define if delay accounting support should be enabled.]) |
| 43 | - AM_CFLAGS="$AM_CFLAGS -I/usr/include/libnl3" | 38 | - AM_CFLAGS="$AM_CFLAGS $LIBNL3_CFLAGS" |
| 44 | + AM_CFLAGS="$AM_CFLAGS" | 39 | + AM_CFLAGS="$AM_CFLAGS" |
| 45 | fi | 40 | fi |
| 46 | AM_CONDITIONAL([HAVE_DELAYACCT], [test "$enable_delayacct" = yes]) | 41 | AM_CONDITIONAL([HAVE_DELAYACCT], [test "$enable_delayacct" = yes]) |
| 47 | 42 | ||
| 48 | -- | 43 | -- |
| 49 | 2.47.3 | 44 | 2.43.0 |
| 50 | 45 | ||
diff --git a/meta-oe/recipes-support/htop/htop_3.4.1.bb b/meta-oe/recipes-support/htop/htop_3.5.0.bb index e3f8a7fdb4..961a87097b 100644 --- a/meta-oe/recipes-support/htop/htop_3.4.1.bb +++ b/meta-oe/recipes-support/htop/htop_3.5.0.bb | |||
| @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | |||
| 6 | 6 | ||
| 7 | DEPENDS = "ncurses libnl" | 7 | DEPENDS = "ncurses libnl" |
| 8 | 8 | ||
| 9 | SRC_URI = "git://github.com/htop-dev/htop.git;branch=main;protocol=https \ | 9 | SRC_URI = "git://github.com/htop-dev/htop.git;branch=main;protocol=https;tag=${PV} \ |
| 10 | file://0001-configure.ac-Remove-usr-include-libnl3.patch \ | 10 | file://0001-configure.ac-Remove-usr-include-libnl3.patch \ |
| 11 | " | 11 | " |
| 12 | SRCREV = "348c0a6bf4f33571835a0b6a1a0f5deb15132128" | 12 | SRCREV = "a21f043b253a6dfa89df1ff4130fe7d2e505000f" |
| 13 | 13 | ||
| 14 | 14 | ||
| 15 | inherit autotools pkgconfig | 15 | inherit autotools pkgconfig |
| @@ -23,7 +23,7 @@ PACKAGECONFIG ??= " \ | |||
| 23 | " | 23 | " |
| 24 | PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode" | 24 | PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode" |
| 25 | PACKAGECONFIG[affinity] = "--enable-affinity,--disable-affinity,,,,hwloc" | 25 | PACKAGECONFIG[affinity] = "--enable-affinity,--disable-affinity,,,,hwloc" |
| 26 | PACKAGECONFIG[unwind] = "--enable-unwind,--disable-unwind,libunwind" | 26 | PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind" |
| 27 | PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc,,,affinity" | 27 | PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc,,,affinity" |
| 28 | PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz" | 28 | PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz" |
| 29 | PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver" | 29 | PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver" |
diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-18.bb b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-19.bb index 49bf257cd3..18c23cb0d4 100644 --- a/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-18.bb +++ b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.2-19.bb | |||
| @@ -17,7 +17,7 @@ SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=htt | |||
| 17 | file://imagemagick-ptest.sh \ | 17 | file://imagemagick-ptest.sh \ |
| 18 | " | 18 | " |
| 19 | 19 | ||
| 20 | SRCREV = "d4e4b2b35a573fb7d96bc64ff1a417415bbe0f4c" | 20 | SRCREV = "9fbd2b79450e930edb95e8158d412e57a7b27e83" |
| 21 | 21 | ||
| 22 | inherit autotools pkgconfig update-alternatives ptest | 22 | inherit autotools pkgconfig update-alternatives ptest |
| 23 | export ac_cv_sys_file_offset_bits = "64" | 23 | export ac_cv_sys_file_offset_bits = "64" |
diff --git a/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_1.patch b/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_1.patch new file mode 100644 index 0000000000..2ed8e9f587 --- /dev/null +++ b/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_1.patch | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | From c83cfcd249d06950a307cee8d1e22b7f6a78a8a7 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marti Maria <marti.maria@littlecms.com> | ||
| 3 | Date: Thu, 19 Feb 2026 09:07:20 +0100 | ||
| 4 | Subject: [PATCH] Fix integer overflow in CubeSize() | ||
| 5 | |||
| 6 | Thanks to @zerojackyi for reporting | ||
| 7 | |||
| 8 | CVE: CVE-2026-41254 | ||
| 9 | Upstream-Status: Backport [https://github.com/mm2/Little-CMS/commit/da6110b1d14abc394633a388209abd5ebedd7ab0] | ||
| 10 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 11 | --- | ||
| 12 | src/cmslut.c | 3 ++- | ||
| 13 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/src/cmslut.c b/src/cmslut.c | ||
| 16 | index 1089148..b245209 100644 | ||
| 17 | --- a/src/cmslut.c | ||
| 18 | +++ b/src/cmslut.c | ||
| 19 | @@ -460,7 +460,8 @@ void EvaluateCLUTfloatIn16(const cmsFloat32Number In[], cmsFloat32Number Out[], | ||
| 20 | static | ||
| 21 | cmsUInt32Number CubeSize(const cmsUInt32Number Dims[], cmsUInt32Number b) | ||
| 22 | { | ||
| 23 | - cmsUInt32Number rv, dim; | ||
| 24 | + cmsUInt32Number dim; | ||
| 25 | + cmsUInt64Number rv; | ||
| 26 | |||
| 27 | _cmsAssert(Dims != NULL); | ||
| 28 | |||
diff --git a/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_2.patch b/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_2.patch new file mode 100644 index 0000000000..be8c759a6f --- /dev/null +++ b/meta-oe/recipes-support/lcms/lcms/CVE-2026-41254_2.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From f5994aea02d5620f3182cafdcf116ffe9d6c9fd2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Marti Maria <marti.maria@littlecms.com> | ||
| 3 | Date: Thu, 12 Mar 2026 22:57:35 +0100 | ||
| 4 | Subject: [PATCH] check for overflow | ||
| 5 | |||
| 6 | Thanks to Guanni Qu for detecting & reporting the issue | ||
| 7 | |||
| 8 | CVE: CVE-2026-41254 | ||
| 9 | Upstream-Status: Backport [https://github.com/mm2/Little-CMS/commit/e0641b1828d0a1af5ecb1b11fe22f24fceefd4bc] | ||
| 10 | Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> | ||
| 11 | --- | ||
| 12 | src/cmslut.c | 6 +++--- | ||
| 13 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/src/cmslut.c b/src/cmslut.c | ||
| 16 | index b245209..c1dbb32 100644 | ||
| 17 | --- a/src/cmslut.c | ||
| 18 | +++ b/src/cmslut.c | ||
| 19 | @@ -468,12 +468,12 @@ cmsUInt32Number CubeSize(const cmsUInt32Number Dims[], cmsUInt32Number b) | ||
| 20 | for (rv = 1; b > 0; b--) { | ||
| 21 | |||
| 22 | dim = Dims[b-1]; | ||
| 23 | - if (dim <= 1) return 0; // Error | ||
| 24 | - | ||
| 25 | - rv *= dim; | ||
| 26 | + if (dim <= 1) return 0; | ||
| 27 | |||
| 28 | // Check for overflow | ||
| 29 | if (rv > UINT_MAX / dim) return 0; | ||
| 30 | + | ||
| 31 | + rv *= dim; | ||
| 32 | } | ||
| 33 | |||
| 34 | // Again, prevent overflow | ||
diff --git a/meta-oe/recipes-support/lcms/lcms_2.18.bb b/meta-oe/recipes-support/lcms/lcms_2.18.bb index 79e4a6f694..1ff3b3908f 100644 --- a/meta-oe/recipes-support/lcms/lcms_2.18.bb +++ b/meta-oe/recipes-support/lcms/lcms_2.18.bb | |||
| @@ -3,7 +3,10 @@ SECTION = "libs" | |||
| 3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e9ce323c4b71c943a785db90142b228a" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e9ce323c4b71c943a785db90142b228a" |
| 5 | 5 | ||
| 6 | SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz" | 6 | SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz \ |
| 7 | file://CVE-2026-41254_1.patch \ | ||
| 8 | file://CVE-2026-41254_2.patch \ | ||
| 9 | " | ||
| 7 | SRC_URI[sha256sum] = "ee67be3566f459362c1ee094fde2c159d33fa0390aa4ed5f5af676f9e5004347" | 10 | SRC_URI[sha256sum] = "ee67be3566f459362c1ee094fde2c159d33fa0390aa4ed5f5af676f9e5004347" |
| 8 | 11 | ||
| 9 | DEPENDS = "tiff" | 12 | DEPENDS = "tiff" |
diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.30-20.bb index 2c063fd995..2f10a10931 100644 --- a/meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb +++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.30-20.bb | |||
| @@ -12,13 +12,14 @@ SRC_URI = " \ | |||
| 12 | git://salsa.debian.org/gnome-team/libcanberra;protocol=https;branch=debian/latest;tag=debian/${PV} \ | 12 | git://salsa.debian.org/gnome-team/libcanberra;protocol=https;branch=debian/latest;tag=debian/${PV} \ |
| 13 | file://0001-Determine-audio-buffer-size-for-a-time-of-500ms.patch \ | 13 | file://0001-Determine-audio-buffer-size-for-a-time-of-500ms.patch \ |
| 14 | " | 14 | " |
| 15 | SRCREV = "d1ed1ac0c9950ed3908c04abb7c4a6de5c51ed94" | 15 | SRCREV = "47d67f43c58af36143060888fc8e69a9cb0eddea" |
| 16 | 16 | ||
| 17 | EXTRA_OECONF = "\ | 17 | EXTRA_OECONF = "\ |
| 18 | --enable-null \ | 18 | --enable-null \ |
| 19 | --disable-oss \ | 19 | --disable-oss \ |
| 20 | --disable-tdb \ | 20 | --disable-tdb \ |
| 21 | --disable-lynx \ | 21 | --disable-lynx \ |
| 22 | --disable-gtk-doc \ | ||
| 22 | " | 23 | " |
| 23 | 24 | ||
| 24 | PACKAGECONFIG ??= " \ | 25 | PACKAGECONFIG ??= " \ |
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch b/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch deleted file mode 100644 index 7fe06b9882..0000000000 --- a/meta-oe/recipes-support/libgpiod/libgpiod-2.x/0001-tools-tests-remove-SIGINT-test-cases.patch +++ /dev/null | |||
| @@ -1,83 +0,0 @@ | |||
| 1 | From 3c38c5f9ab49384039f35408656a88f87619dd03 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | ||
| 3 | Date: Wed, 18 Mar 2026 14:07:06 +0100 | ||
| 4 | Subject: [libgpiod][PATCH] tools: tests: remove SIGINT test cases | ||
| 5 | |||
| 6 | In coreutils v9.10 (specifically with commit 8c2461933411 ("timeout: | ||
| 7 | honor ignored signal dispositions")) the behavior of timeout changed and | ||
| 8 | it will no longer propagate SIGINT or SIGQUIT in shell background jobs. | ||
| 9 | This breaks the test cases checking the behavior of tools after SIGINT. | ||
| 10 | We have to assume that if exit after SIGTERM works, then so does it | ||
| 11 | after SIGINT and remove the failing tests. | ||
| 12 | |||
| 13 | Upstream-Status: Submitted [https://lore.kernel.org/all/20260318131413.56575-1-bartosz.golaszewski@oss.qualcomm.com/] | ||
| 14 | Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> | ||
| 15 | --- | ||
| 16 | tools/gpio-tools-test.bash | 37 ------------------------------------- | ||
| 17 | 1 file changed, 37 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/tools/gpio-tools-test.bash b/tools/gpio-tools-test.bash | ||
| 20 | index 71d6e3d..62f6836 100755 | ||
| 21 | --- a/tools/gpio-tools-test.bash | ||
| 22 | +++ b/tools/gpio-tools-test.bash | ||
| 23 | @@ -1415,17 +1415,6 @@ test_gpioset_with_lines_strictly_by_name() { | ||
| 24 | gpiosim_check_value sim0 6 0 | ||
| 25 | } | ||
| 26 | |||
| 27 | -test_gpioset_interactive_after_SIGINT() { | ||
| 28 | - gpiosim_chip sim0 num_lines=8 line_name=1:foo | ||
| 29 | - | ||
| 30 | - dut_run gpioset -i foo=1 | ||
| 31 | - | ||
| 32 | - dut_kill -SIGINT | ||
| 33 | - dut_wait | ||
| 34 | - | ||
| 35 | - status_is 130 | ||
| 36 | -} | ||
| 37 | - | ||
| 38 | test_gpioset_interactive_after_SIGTERM() { | ||
| 39 | gpiosim_chip sim0 num_lines=8 line_name=1:foo | ||
| 40 | |||
| 41 | @@ -1907,20 +1896,6 @@ test_gpiomon_multiple_lines_across_multiple_chips() { | ||
| 42 | assert_fail dut_readable | ||
| 43 | } | ||
| 44 | |||
| 45 | -test_gpiomon_exit_after_SIGINT() { | ||
| 46 | - gpiosim_chip sim0 num_lines=8 | ||
| 47 | - | ||
| 48 | - local sim0=${GPIOSIM_CHIP_NAME[sim0]} | ||
| 49 | - | ||
| 50 | - dut_run gpiomon --banner --chip "$sim0" 4 | ||
| 51 | - dut_regex_match "Monitoring line .*" | ||
| 52 | - | ||
| 53 | - dut_kill -SIGINT | ||
| 54 | - dut_wait | ||
| 55 | - | ||
| 56 | - status_is 130 | ||
| 57 | -} | ||
| 58 | - | ||
| 59 | test_gpiomon_exit_after_SIGTERM() { | ||
| 60 | gpiosim_chip sim0 num_lines=8 | ||
| 61 | |||
| 62 | @@ -2503,18 +2478,6 @@ test_gpionotify_multiple_lines_across_multiple_chips() { | ||
| 63 | assert_fail dut_readable | ||
| 64 | } | ||
| 65 | |||
| 66 | -test_gpionotify_exit_after_SIGINT() { | ||
| 67 | - gpiosim_chip sim0 num_lines=8 | ||
| 68 | - | ||
| 69 | - dut_run gpionotify --banner --chip "${GPIOSIM_CHIP_NAME[sim0]}" 4 | ||
| 70 | - dut_regex_match "Watching line .*" | ||
| 71 | - | ||
| 72 | - dut_kill -SIGINT | ||
| 73 | - dut_wait | ||
| 74 | - | ||
| 75 | - status_is 130 | ||
| 76 | -} | ||
| 77 | - | ||
| 78 | test_gpionotify_exit_after_SIGTERM() { | ||
| 79 | gpiosim_chip sim0 num_lines=8 | ||
| 80 | |||
| 81 | -- | ||
| 82 | 2.47.3 | ||
| 83 | |||
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.4.bb index 38829a620f..2c8d9f1873 100644 --- a/meta-oe/recipes-support/libgpiod/libgpiod_2.2.3.bb +++ b/meta-oe/recipes-support/libgpiod/libgpiod_2.2.4.bb | |||
| @@ -13,10 +13,9 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-2.x:" | |||
| 13 | 13 | ||
| 14 | SRC_URI += " \ | 14 | SRC_URI += " \ |
| 15 | file://gpio-manager.init \ | 15 | file://gpio-manager.init \ |
| 16 | file://0001-tools-tests-remove-SIGINT-test-cases.patch \ | ||
| 17 | " | 16 | " |
| 18 | 17 | ||
| 19 | SRC_URI[sha256sum] = "70012b0262e4b90f140431efa841ca89643b02ea6c09f507e23cec664a51b71a" | 18 | SRC_URI[sha256sum] = "13207176b0eb9b3e0f02552d5f49f5a6a449343ce47416158bb484d9d3019592" |
| 20 | 19 | ||
| 21 | # Enable all project features for ptest | 20 | # Enable all project features for ptest |
| 22 | PACKAGECONFIG[tests] = " \ | 21 | PACKAGECONFIG[tests] = " \ |
diff --git a/meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch b/meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch new file mode 100644 index 0000000000..f234cbd50b --- /dev/null +++ b/meta-oe/recipes-support/liboauth2/liboauth2/0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | From 7c70315f7f6b4305d761804fb03f8f90ad7572eb Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Fri, 17 Apr 2026 14:01:46 -0700 | ||
| 4 | Subject: [PATCH] build: guard --coverage linker flag behind | ||
| 5 | CODE_COVERAGE_ENABLED | ||
| 6 | |||
| 7 | AM_LDFLAGS passes --coverage to the linker unconditionally, | ||
| 8 | it causes coverage instrumentation to be enabled even when | ||
| 9 | configured with --disable-code-coverage. Wrap it in the | ||
| 10 | automake conditional provided by AX_CODE_COVERAGE. | ||
| 11 | |||
| 12 | Upstream-Status: Submitted [https://github.com/OpenIDC/liboauth2/pull/74] | ||
| 13 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 14 | --- | ||
| 15 | Makefile.am | 5 ++++- | ||
| 16 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
| 17 | |||
| 18 | diff --git a/Makefile.am b/Makefile.am | ||
| 19 | index a079dcc..a3f991d 100644 | ||
| 20 | --- a/Makefile.am | ||
| 21 | +++ b/Makefile.am | ||
| 22 | @@ -8,7 +8,10 @@ EXTRA_DIST = autogen.sh ChangeLog README.md LICENSE | ||
| 23 | |||
| 24 | AM_CPPFLAGS = -Wall -Werror -Wno-error=deprecated-declarations -I${srcdir}/include -I${srcdir}/src @JANSSON_CFLAGS@ @OPENSSL_CFLAGS@ | ||
| 25 | AM_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS) $(CODE_COVERAGE_CFLAGS) | ||
| 26 | -AM_LDFLAGS = --coverage | ||
| 27 | +AM_LDFLAGS = | ||
| 28 | +if CODE_COVERAGE_ENABLED | ||
| 29 | +AM_LDFLAGS += --coverage | ||
| 30 | +endif | ||
| 31 | |||
| 32 | LDADD = @JANSSON_LIBS@ @OPENSSL_LIBS@ | ||
| 33 | LDADD += $(CODE_COVERAGE_LIBS) | ||
diff --git a/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb b/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb index 5b1ecd23dd..83825c69a5 100644 --- a/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb +++ b/meta-oe/recipes-support/liboauth2/liboauth2_2.2.0.bb | |||
| @@ -7,6 +7,7 @@ SRC_URI = " \ | |||
| 7 | git://github.com/OpenIDC/liboauth2;protocol=https;branch=master;tag=v${PV} \ | 7 | git://github.com/OpenIDC/liboauth2;protocol=https;branch=master;tag=v${PV} \ |
| 8 | file://0001-fix-clang-curl_easy_setopt-takes-a-long-not-an-int.patch \ | 8 | file://0001-fix-clang-curl_easy_setopt-takes-a-long-not-an-int.patch \ |
| 9 | file://0002-Fix-use-of-strchr-with-new-GCC.patch \ | 9 | file://0002-Fix-use-of-strchr-with-new-GCC.patch \ |
| 10 | file://0001-build-guard-coverage-linker-flag-behind-CODE_COVERAG.patch \ | ||
| 10 | " | 11 | " |
| 11 | 12 | ||
| 12 | SRCREV = "12571b6d6568c2db7d5f080f60ecb55795c0db19" | 13 | SRCREV = "12571b6d6568c2db7d5f080f60ecb55795c0db19" |
| @@ -20,4 +21,4 @@ PACKAGECONFIG[memcache] = "--with-memcache,--without-memcache,libmemcached" | |||
| 20 | PACKAGECONFIG[redis] = "--with-redis,--without-redis,hiredis" | 21 | PACKAGECONFIG[redis] = "--with-redis,--without-redis,hiredis" |
| 21 | PACKAGECONFIG[jq] = "--with-jq,--without-jq,jq" | 22 | PACKAGECONFIG[jq] = "--with-jq,--without-jq,jq" |
| 22 | PACKAGECONFIG[apache] = "--with-apache,--without-apache,apache2" | 23 | PACKAGECONFIG[apache] = "--with-apache,--without-apache,apache2" |
| 23 | 24 | PACKAGECONFIG[ccov] = "--enable-code-coverage,--disable-code-coverage," | |
diff --git a/meta-oe/recipes-support/libraw/libraw_0.21.4.bb b/meta-oe/recipes-support/libraw/libraw_0.21.4.bb deleted file mode 100644 index ef0a0255d9..0000000000 --- a/meta-oe/recipes-support/libraw/libraw_0.21.4.bb +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | SUMMARY = "raw image decoder" | ||
| 2 | LICENSE = "LGPL-2.1-only | CDDL-1.0" | ||
| 3 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1501ae0aa3c8544e63f08d6f7bf88a6f" | ||
| 4 | |||
| 5 | SRC_URI = "git://github.com/LibRaw/LibRaw.git;branch=0.21-stable;protocol=https;tag=${PV}" | ||
| 6 | SRCREV = "9646d776c7c61976080a8f2be67928df0750493e" | ||
| 7 | |||
| 8 | inherit autotools pkgconfig | ||
| 9 | |||
| 10 | DEPENDS = "jpeg jasper lcms" | ||
diff --git a/meta-oe/recipes-support/libraw/libraw_0.22.1.bb b/meta-oe/recipes-support/libraw/libraw_0.22.1.bb new file mode 100644 index 0000000000..e99f0e46b6 --- /dev/null +++ b/meta-oe/recipes-support/libraw/libraw_0.22.1.bb | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | SUMMARY = "raw image decoder" | ||
| 2 | LICENSE = "LGPL-2.1-only | CDDL-1.0" | ||
| 3 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1d66195044cfbe4327c055d1c9c1a229" | ||
| 4 | |||
| 5 | SRC_URI = "git://github.com/LibRaw/LibRaw.git;branch=0.22-stable;protocol=https;tag=${PV}" | ||
| 6 | SRCREV = "b860248a89d9082b8e0a1e202e516f46af9adb29" | ||
| 7 | |||
| 8 | inherit autotools pkgconfig | ||
| 9 | |||
| 10 | DEPENDS = "jpeg jasper lcms" | ||
| 11 | |||
| 12 | CVE_STATUS[CVE-2026-5318] = "fixed-version: fixed since 0.22.1" | ||
| 13 | CVE_STATUS[CVE-2026-5342] = "fixed-version: fixed since 0.22.1" | ||
| 14 | CVE_STATUS[CVE-2026-20884] = "fixed-version: fixed since 0.22.1" | ||
| 15 | CVE_STATUS[CVE-2026-24450] = "fixed-version: fixed since 0.22.1" | ||
| 16 | CVE_STATUS[CVE-2026-20911] = "fixed-version: fixed since 0.22.1" | ||
| 17 | CVE_STATUS[CVE-2026-21413] = "fixed-version: fixed since 0.22.1" | ||
diff --git a/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb b/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb index 85eac33369..99d0939b34 100644 --- a/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb +++ b/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb | |||
| @@ -20,6 +20,9 @@ UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)" | |||
| 20 | DEPENDS += "bison-native flex-native wget-native gawk-native" | 20 | DEPENDS += "bison-native flex-native wget-native gawk-native" |
| 21 | 21 | ||
| 22 | inherit autotools-brokensep update-alternatives | 22 | inherit autotools-brokensep update-alternatives |
| 23 | |||
| 24 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 25 | |||
| 23 | ALTERNATIVE_PRIORITY = "50" | 26 | ALTERNATIVE_PRIORITY = "50" |
| 24 | ALTERNATIVE:${PN}-yang = " ietf-interfaces ietf-netconf-acm ietf-netconf-with-defaults ietf-netconf" | 27 | ALTERNATIVE:${PN}-yang = " ietf-interfaces ietf-netconf-acm ietf-netconf-with-defaults ietf-netconf" |
| 25 | ALTERNATIVE_LINK_NAME[ietf-interfaces] = "${datadir}/yang/ietf-interfaces.yang" | 28 | ALTERNATIVE_LINK_NAME[ietf-interfaces] = "${datadir}/yang/ietf-interfaces.yang" |
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-14523.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-14523.patch new file mode 100644 index 0000000000..7815dba55a --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-14523.patch | |||
| @@ -0,0 +1,52 @@ | |||
| 1 | From d6028a6e6a8417b7fb6c89f6c10fb94781435ee6 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Wed, 4 Feb 2026 15:08:50 +0800 | ||
| 4 | Subject: [PATCH] Reject duplicate Host headers (for libsoup 2) | ||
| 5 | |||
| 6 | This is a simplified version of my patch for libsoup 3: | ||
| 7 | |||
| 8 | !491 | ||
| 9 | |||
| 10 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/d3db5a6f8f03e1f0133754872877c92c0284c472] | ||
| 11 | CVE: CVE-2025-14523 | ||
| 12 | |||
| 13 | This patch is a MR for branch 2-74, but not merged yet, maybe it will | ||
| 14 | not be merged. | ||
| 15 | |||
| 16 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 17 | --- | ||
| 18 | libsoup/soup-headers.c | 3 +++ | ||
| 19 | libsoup/soup-message-headers.c | 3 +++ | ||
| 20 | 2 files changed, 6 insertions(+) | ||
| 21 | |||
| 22 | diff --git a/libsoup/soup-headers.c b/libsoup/soup-headers.c | ||
| 23 | index ea2f986..6cd3dad 100644 | ||
| 24 | --- a/libsoup/soup-headers.c | ||
| 25 | +++ b/libsoup/soup-headers.c | ||
| 26 | @@ -138,6 +138,9 @@ soup_headers_parse (const char *str, int len, SoupMessageHeaders *dest) | ||
| 27 | for (p = strchr (value, '\r'); p; p = strchr (p, '\r')) | ||
| 28 | *p = ' '; | ||
| 29 | |||
| 30 | + if (g_ascii_strcasecmp (name, "Host") == 0 && soup_message_headers_get_one (dest, "Host")) | ||
| 31 | + goto done; | ||
| 32 | + | ||
| 33 | soup_message_headers_append (dest, name, value); | ||
| 34 | } | ||
| 35 | success = TRUE; | ||
| 36 | diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c | ||
| 37 | index f612bff..bb20bbb 100644 | ||
| 38 | --- a/libsoup/soup-message-headers.c | ||
| 39 | +++ b/libsoup/soup-message-headers.c | ||
| 40 | @@ -220,6 +220,9 @@ soup_message_headers_append (SoupMessageHeaders *hdrs, | ||
| 41 | } | ||
| 42 | #endif | ||
| 43 | |||
| 44 | + if (g_ascii_strcasecmp (name, "Host") == 0 && soup_message_headers_get_one (hdrs, "Host")) | ||
| 45 | + return; | ||
| 46 | + | ||
| 47 | header.name = intern_header_name (name, &setter); | ||
| 48 | header.value = g_strdup (value); | ||
| 49 | g_array_append_val (hdrs->array, header); | ||
| 50 | -- | ||
| 51 | 2.34.1 | ||
| 52 | |||
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-1.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-1.patch new file mode 100644 index 0000000000..64e87cb1ec --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-1.patch | |||
| @@ -0,0 +1,229 @@ | |||
| 1 | From c574e659c41c18fad3973bbaa3b3ec75664b3137 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Thu, 5 Feb 2026 16:20:02 +0800 | ||
| 4 | Subject: [PATCH 1/2] websocket: add a way to restrict the total message size | ||
| 5 | |||
| 6 | Otherwise a client could send small packages smaller than | ||
| 7 | total-incoming-payload-size but still to break the server | ||
| 8 | with a big allocation | ||
| 9 | |||
| 10 | Fixes: #390 | ||
| 11 | |||
| 12 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/db87805ab565d67533dfed2cb409dbfd63c7fdce] | ||
| 13 | CVE: CVE-2025-32049 | ||
| 14 | |||
| 15 | libsoup2 is not maintained, the patch is backported from libsoup3, and | ||
| 16 | change accordingly | ||
| 17 | |||
| 18 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 19 | --- | ||
| 20 | libsoup/soup-websocket-connection.c | 104 ++++++++++++++++++++++++++-- | ||
| 21 | libsoup/soup-websocket-connection.h | 7 ++ | ||
| 22 | 2 files changed, 107 insertions(+), 4 deletions(-) | ||
| 23 | |||
| 24 | diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c | ||
| 25 | index 9d5f4f8..3dad477 100644 | ||
| 26 | --- a/libsoup/soup-websocket-connection.c | ||
| 27 | +++ b/libsoup/soup-websocket-connection.c | ||
| 28 | @@ -85,7 +85,8 @@ enum { | ||
| 29 | PROP_STATE, | ||
| 30 | PROP_MAX_INCOMING_PAYLOAD_SIZE, | ||
| 31 | PROP_KEEPALIVE_INTERVAL, | ||
| 32 | - PROP_EXTENSIONS | ||
| 33 | + PROP_EXTENSIONS, | ||
| 34 | + PROP_MAX_TOTAL_MESSAGE_SIZE, | ||
| 35 | }; | ||
| 36 | |||
| 37 | enum { | ||
| 38 | @@ -120,6 +121,7 @@ struct _SoupWebsocketConnectionPrivate { | ||
| 39 | char *origin; | ||
| 40 | char *protocol; | ||
| 41 | guint64 max_incoming_payload_size; | ||
| 42 | + guint64 max_total_message_size; | ||
| 43 | guint keepalive_interval; | ||
| 44 | |||
| 45 | gushort peer_close_code; | ||
| 46 | @@ -152,6 +154,7 @@ struct _SoupWebsocketConnectionPrivate { | ||
| 47 | }; | ||
| 48 | |||
| 49 | #define MAX_INCOMING_PAYLOAD_SIZE_DEFAULT 128 * 1024 | ||
| 50 | +#define MAX_TOTAL_MESSAGE_SIZE_DEFAULT 128 * 1024 | ||
| 51 | #define READ_BUFFER_SIZE 1024 | ||
| 52 | #define MASK_LENGTH 4 | ||
| 53 | |||
| 54 | @@ -664,7 +667,7 @@ bad_data_error_and_close (SoupWebsocketConnection *self) | ||
| 55 | } | ||
| 56 | |||
| 57 | static void | ||
| 58 | -too_big_error_and_close (SoupWebsocketConnection *self, | ||
| 59 | +too_big_incoming_payload_error_and_close (SoupWebsocketConnection *self, | ||
| 60 | guint64 payload_len) | ||
| 61 | { | ||
| 62 | GError *error; | ||
| 63 | @@ -680,6 +683,23 @@ too_big_error_and_close (SoupWebsocketConnection *self, | ||
| 64 | emit_error_and_close (self, error, TRUE); | ||
| 65 | } | ||
| 66 | |||
| 67 | +static void | ||
| 68 | +too_big_message_error_and_close (SoupWebsocketConnection *self, | ||
| 69 | + guint64 len) | ||
| 70 | +{ | ||
| 71 | + GError *error; | ||
| 72 | + | ||
| 73 | + error = g_error_new_literal (SOUP_WEBSOCKET_ERROR, | ||
| 74 | + SOUP_WEBSOCKET_CLOSE_TOO_BIG, | ||
| 75 | + self->pv->connection_type == SOUP_WEBSOCKET_CONNECTION_SERVER ? | ||
| 76 | + "Received WebSocket payload from the client larger than configured max-total-message-size" : | ||
| 77 | + "Received WebSocket payload from the server larger than configured max-total-message-size"); | ||
| 78 | + g_debug ("%s received message of size %" G_GUINT64_FORMAT " or greater, but max supported size is %" G_GUINT64_FORMAT, | ||
| 79 | + self->pv->connection_type == SOUP_WEBSOCKET_CONNECTION_SERVER ? "server" : "client", | ||
| 80 | + len, self->pv->max_total_message_size); | ||
| 81 | + emit_error_and_close (self, error, TRUE); | ||
| 82 | +} | ||
| 83 | + | ||
| 84 | static void | ||
| 85 | close_connection (SoupWebsocketConnection *self, | ||
| 86 | gushort code, | ||
| 87 | @@ -913,6 +933,12 @@ process_contents (SoupWebsocketConnection *self, | ||
| 88 | switch (pv->message_opcode) { | ||
| 89 | case 0x01: | ||
| 90 | case 0x02: | ||
| 91 | + /* Safety valve */ | ||
| 92 | + if (pv->max_total_message_size > 0 && | ||
| 93 | + (pv->message_data->len + payload_len) > pv->max_total_message_size) { | ||
| 94 | + too_big_message_error_and_close (self, (pv->message_data->len + payload_len)); | ||
| 95 | + return; | ||
| 96 | + } | ||
| 97 | g_byte_array_append (pv->message_data, payload, payload_len); | ||
| 98 | break; | ||
| 99 | default: | ||
| 100 | @@ -1050,7 +1076,7 @@ process_frame (SoupWebsocketConnection *self) | ||
| 101 | /* Safety valve */ | ||
| 102 | if (self->pv->max_incoming_payload_size > 0 && | ||
| 103 | payload_len >= self->pv->max_incoming_payload_size) { | ||
| 104 | - too_big_error_and_close (self, payload_len); | ||
| 105 | + too_big_incoming_payload_error_and_close (self, payload_len); | ||
| 106 | return FALSE; | ||
| 107 | } | ||
| 108 | |||
| 109 | @@ -1357,6 +1383,10 @@ soup_websocket_connection_get_property (GObject *object, | ||
| 110 | g_value_set_pointer (value, pv->extensions); | ||
| 111 | break; | ||
| 112 | |||
| 113 | + case PROP_MAX_TOTAL_MESSAGE_SIZE: | ||
| 114 | + g_value_set_uint64 (value, pv->max_total_message_size); | ||
| 115 | + break; | ||
| 116 | + | ||
| 117 | default: | ||
| 118 | G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
| 119 | break; | ||
| 120 | @@ -1410,6 +1440,10 @@ soup_websocket_connection_set_property (GObject *object, | ||
| 121 | pv->extensions = g_value_get_pointer (value); | ||
| 122 | break; | ||
| 123 | |||
| 124 | + case PROP_MAX_TOTAL_MESSAGE_SIZE: | ||
| 125 | + pv->max_total_message_size = g_value_get_uint64 (value); | ||
| 126 | + break; | ||
| 127 | + | ||
| 128 | default: | ||
| 129 | G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||
| 130 | break; | ||
| 131 | @@ -1631,7 +1665,24 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) | ||
| 132 | G_PARAM_READWRITE | | ||
| 133 | G_PARAM_CONSTRUCT_ONLY | | ||
| 134 | G_PARAM_STATIC_STRINGS)); | ||
| 135 | - | ||
| 136 | + /** | ||
| 137 | + * SoupWebsocketConnection:max-total-message-size: | ||
| 138 | + * | ||
| 139 | + * The total message size for incoming packets. | ||
| 140 | + * | ||
| 141 | + * The protocol expects or 0 to not limit it. | ||
| 142 | + * | ||
| 143 | + */ | ||
| 144 | + g_object_class_install_property (gobject_class, PROP_MAX_TOTAL_MESSAGE_SIZE, | ||
| 145 | + g_param_spec_uint64 ("max-total-message-size", | ||
| 146 | + "Max total message size", | ||
| 147 | + "Max total message size ", | ||
| 148 | + 0, | ||
| 149 | + G_MAXUINT64, | ||
| 150 | + MAX_TOTAL_MESSAGE_SIZE_DEFAULT, | ||
| 151 | + G_PARAM_READWRITE | | ||
| 152 | + G_PARAM_CONSTRUCT | | ||
| 153 | + G_PARAM_STATIC_STRINGS)); | ||
| 154 | /** | ||
| 155 | * SoupWebsocketConnection::message: | ||
| 156 | * @self: the WebSocket | ||
| 157 | @@ -2145,6 +2196,51 @@ soup_websocket_connection_set_max_incoming_payload_size (SoupWebsocketConnection | ||
| 158 | } | ||
| 159 | } | ||
| 160 | |||
| 161 | +/** | ||
| 162 | + * soup_websocket_connection_get_max_total_message_size: | ||
| 163 | + * @self: the WebSocket | ||
| 164 | + * | ||
| 165 | + * Gets the maximum total message size allowed for packets. | ||
| 166 | + * | ||
| 167 | + * Returns: the maximum total message size. | ||
| 168 | + * | ||
| 169 | + */ | ||
| 170 | +guint64 | ||
| 171 | +soup_websocket_connection_get_max_total_message_size (SoupWebsocketConnection *self) | ||
| 172 | +{ | ||
| 173 | + SoupWebsocketConnectionPrivate *pv; | ||
| 174 | + | ||
| 175 | + g_return_val_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self), MAX_TOTAL_MESSAGE_SIZE_DEFAULT); | ||
| 176 | + pv = self->pv; | ||
| 177 | + | ||
| 178 | + return pv->max_total_message_size; | ||
| 179 | +} | ||
| 180 | + | ||
| 181 | +/** | ||
| 182 | + * soup_websocket_connection_set_max_total_message_size: | ||
| 183 | + * @self: the WebSocket | ||
| 184 | + * @max_total_message_size: the maximum total message size | ||
| 185 | + * | ||
| 186 | + * Sets the maximum total message size allowed for packets. | ||
| 187 | + * | ||
| 188 | + * It does not limit the outgoing packet size. | ||
| 189 | + * | ||
| 190 | + */ | ||
| 191 | +void | ||
| 192 | +soup_websocket_connection_set_max_total_message_size (SoupWebsocketConnection *self, | ||
| 193 | + guint64 max_total_message_size) | ||
| 194 | +{ | ||
| 195 | + SoupWebsocketConnectionPrivate *pv; | ||
| 196 | + | ||
| 197 | + g_return_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self)); | ||
| 198 | + pv = self->pv; | ||
| 199 | + | ||
| 200 | + if (pv->max_total_message_size != max_total_message_size) { | ||
| 201 | + pv->max_total_message_size = max_total_message_size; | ||
| 202 | + g_object_notify (G_OBJECT (self), "max-total-message-size"); | ||
| 203 | + } | ||
| 204 | +} | ||
| 205 | + | ||
| 206 | /** | ||
| 207 | * soup_websocket_connection_get_keepalive_interval: | ||
| 208 | * @self: the WebSocket | ||
| 209 | diff --git a/libsoup/soup-websocket-connection.h b/libsoup/soup-websocket-connection.h | ||
| 210 | index f82d723..d2a60e9 100644 | ||
| 211 | --- a/libsoup/soup-websocket-connection.h | ||
| 212 | +++ b/libsoup/soup-websocket-connection.h | ||
| 213 | @@ -136,6 +136,13 @@ SOUP_AVAILABLE_IN_2_58 | ||
| 214 | void soup_websocket_connection_set_keepalive_interval (SoupWebsocketConnection *self, | ||
| 215 | guint interval); | ||
| 216 | |||
| 217 | +SOUP_AVAILABLE_IN_2_72 | ||
| 218 | +guint64 soup_websocket_connection_get_max_total_message_size (SoupWebsocketConnection *self); | ||
| 219 | + | ||
| 220 | +SOUP_AVAILABLE_IN_2_72 | ||
| 221 | +void soup_websocket_connection_set_max_total_message_size (SoupWebsocketConnection *self, | ||
| 222 | + guint64 max_total_message_size); | ||
| 223 | + | ||
| 224 | G_END_DECLS | ||
| 225 | |||
| 226 | #endif /* __SOUP_WEBSOCKET_CONNECTION_H__ */ | ||
| 227 | -- | ||
| 228 | 2.34.1 | ||
| 229 | |||
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-2.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-2.patch new file mode 100644 index 0000000000..f9c894aaec --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2025-32049-2.patch | |||
| @@ -0,0 +1,131 @@ | |||
| 1 | From 0bfc66f1082f5d47df99b6fc03f742ef7fa1051e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Thu, 5 Feb 2026 17:19:51 +0800 | ||
| 4 | Subject: [PATCH] Set message size limit in SoupServer rather than | ||
| 5 | SoupWebsocketConnection | ||
| 6 | |||
| 7 | We're not sure about the compatibility implications of having a default | ||
| 8 | size limit for clients. | ||
| 9 | |||
| 10 | Also not sure whether the server limit is actually set appropriately, | ||
| 11 | but there is probably very little server usage of | ||
| 12 | SoupWebsocketConnection in the wild, so it's not so likely to break | ||
| 13 | things. | ||
| 14 | |||
| 15 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/2df34d9544cabdbfdedd3b36f098cf69233b1df7] | ||
| 16 | CVE: CVE-2025-32049 | ||
| 17 | |||
| 18 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 19 | --- | ||
| 20 | libsoup/soup-server.c | 24 +++++++++++++++++++----- | ||
| 21 | libsoup/soup-websocket-connection.c | 23 ++++++++++++++++------- | ||
| 22 | 2 files changed, 35 insertions(+), 12 deletions(-) | ||
| 23 | |||
| 24 | diff --git a/libsoup/soup-server.c b/libsoup/soup-server.c | ||
| 25 | index 63875f3..a3f8597 100644 | ||
| 26 | --- a/libsoup/soup-server.c | ||
| 27 | +++ b/libsoup/soup-server.c | ||
| 28 | @@ -216,6 +216,16 @@ enum { | ||
| 29 | |||
| 30 | G_DEFINE_TYPE_WITH_PRIVATE (SoupServer, soup_server, G_TYPE_OBJECT) | ||
| 31 | |||
| 32 | +/* SoupWebsocketConnection by default limits only maximum packet size. But a | ||
| 33 | + * message may consist of multiple packets, so SoupServer additionally restricts | ||
| 34 | + * total message size to mitigate denial of service attacks on the server. | ||
| 35 | + * SoupWebsocketConnection does not do this by default because I don't know | ||
| 36 | + * whether that would or would not cause compatibility problems for websites. | ||
| 37 | + * | ||
| 38 | + * This size is in bytes and it is arbitrary. | ||
| 39 | + */ | ||
| 40 | +#define MAX_TOTAL_MESSAGE_SIZE_DEFAULT 128 * 1024 | ||
| 41 | + | ||
| 42 | static SoupClientContext *soup_client_context_ref (SoupClientContext *client); | ||
| 43 | static void soup_client_context_unref (SoupClientContext *client); | ||
| 44 | |||
| 45 | @@ -1445,11 +1455,15 @@ complete_websocket_upgrade (SoupMessage *msg, gpointer user_data) | ||
| 46 | |||
| 47 | soup_client_context_ref (client); | ||
| 48 | stream = soup_client_context_steal_connection (client); | ||
| 49 | - conn = soup_websocket_connection_new_with_extensions (stream, uri, | ||
| 50 | - SOUP_WEBSOCKET_CONNECTION_SERVER, | ||
| 51 | - soup_message_headers_get_one (msg->request_headers, "Origin"), | ||
| 52 | - soup_message_headers_get_one (msg->response_headers, "Sec-WebSocket-Protocol"), | ||
| 53 | - handler->websocket_extensions); | ||
| 54 | + conn = SOUP_WEBSOCKET_CONNECTION (g_object_new (SOUP_TYPE_WEBSOCKET_CONNECTION, | ||
| 55 | + "io-stream", stream, | ||
| 56 | + "uri", uri, | ||
| 57 | + "connection-type", SOUP_WEBSOCKET_CONNECTION_SERVER, | ||
| 58 | + "origin", soup_message_headers_get_one (msg->request_headers, "Origin"), | ||
| 59 | + "protocol", soup_message_headers_get_one (msg->response_headers, "Sec-WebSocket-Protocol"), | ||
| 60 | + "extensions", handler->websocket_extensions, | ||
| 61 | + "max-total-message-size", (guint64)MAX_TOTAL_MESSAGE_SIZE_DEFAULT, | ||
| 62 | + NULL)); | ||
| 63 | handler->websocket_extensions = NULL; | ||
| 64 | g_object_unref (stream); | ||
| 65 | soup_client_context_unref (client); | ||
| 66 | diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c | ||
| 67 | index 3dad477..e7fa9b7 100644 | ||
| 68 | --- a/libsoup/soup-websocket-connection.c | ||
| 69 | +++ b/libsoup/soup-websocket-connection.c | ||
| 70 | @@ -154,7 +154,6 @@ struct _SoupWebsocketConnectionPrivate { | ||
| 71 | }; | ||
| 72 | |||
| 73 | #define MAX_INCOMING_PAYLOAD_SIZE_DEFAULT 128 * 1024 | ||
| 74 | -#define MAX_TOTAL_MESSAGE_SIZE_DEFAULT 128 * 1024 | ||
| 75 | #define READ_BUFFER_SIZE 1024 | ||
| 76 | #define MASK_LENGTH 4 | ||
| 77 | |||
| 78 | @@ -1615,8 +1614,9 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) | ||
| 79 | /** | ||
| 80 | * SoupWebsocketConnection:max-incoming-payload-size: | ||
| 81 | * | ||
| 82 | - * The maximum payload size for incoming packets the protocol expects | ||
| 83 | - * or 0 to not limit it. | ||
| 84 | + * The maximum payload size for incoming packets, or 0 to not limit it. | ||
| 85 | + * Each message may consist of multiple packets, so also refer to | ||
| 86 | + * [property@WebSocketConnection:max-total-message-size]. | ||
| 87 | * | ||
| 88 | * Since: 2.56 | ||
| 89 | */ | ||
| 90 | @@ -1668,9 +1668,18 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) | ||
| 91 | /** | ||
| 92 | * SoupWebsocketConnection:max-total-message-size: | ||
| 93 | * | ||
| 94 | - * The total message size for incoming packets. | ||
| 95 | + * The maximum size for incoming messages. | ||
| 96 | + * Set to a value to limit the total message size, or 0 to not | ||
| 97 | + * limit it. | ||
| 98 | * | ||
| 99 | - * The protocol expects or 0 to not limit it. | ||
| 100 | + * [method@Server.add_websocket_handler] will set this to a nonzero | ||
| 101 | + * default value to mitigate denial of service attacks. Clients must | ||
| 102 | + * choose their own default if they need to mitigate denial of service | ||
| 103 | + * attacks. You also need to set your own default if creating your own | ||
| 104 | + * server SoupWebsocketConnection without using SoupServer. | ||
| 105 | + * | ||
| 106 | + * Each message may consist of multiple packets, so also refer to | ||
| 107 | + *[property@WebSocketConnection:max-incoming-payload-size]. | ||
| 108 | * | ||
| 109 | */ | ||
| 110 | g_object_class_install_property (gobject_class, PROP_MAX_TOTAL_MESSAGE_SIZE, | ||
| 111 | @@ -1679,7 +1688,7 @@ soup_websocket_connection_class_init (SoupWebsocketConnectionClass *klass) | ||
| 112 | "Max total message size ", | ||
| 113 | 0, | ||
| 114 | G_MAXUINT64, | ||
| 115 | - MAX_TOTAL_MESSAGE_SIZE_DEFAULT, | ||
| 116 | + 0, | ||
| 117 | G_PARAM_READWRITE | | ||
| 118 | G_PARAM_CONSTRUCT | | ||
| 119 | G_PARAM_STATIC_STRINGS)); | ||
| 120 | @@ -2210,7 +2219,7 @@ soup_websocket_connection_get_max_total_message_size (SoupWebsocketConnection *s | ||
| 121 | { | ||
| 122 | SoupWebsocketConnectionPrivate *pv; | ||
| 123 | |||
| 124 | - g_return_val_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self), MAX_TOTAL_MESSAGE_SIZE_DEFAULT); | ||
| 125 | + g_return_val_if_fail (SOUP_IS_WEBSOCKET_CONNECTION (self), 0); | ||
| 126 | pv = self->pv; | ||
| 127 | |||
| 128 | return pv->max_total_message_size; | ||
| 129 | -- | ||
| 130 | 2.34.1 | ||
| 131 | |||
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1467.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1467.patch new file mode 100644 index 0000000000..a1a130ee3a --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1467.patch | |||
| @@ -0,0 +1,151 @@ | |||
| 1 | From b4f1dcb89a552fc03bfd0e65830b4f76fdc4a232 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Tue, 21 Apr 2026 17:10:37 +0800 | ||
| 4 | Subject: [PATCH] Fix CVE-2026-1467 | ||
| 5 | |||
| 6 | CVE: CVE-2026-1467 | ||
| 7 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/6dfe506618d2d5856618e5c0f85bd93386dc8012] | ||
| 8 | |||
| 9 | The original backport patch targets libsoup3. This patch has been | ||
| 10 | adapted accordingly for libsoup2, refer the openSUSE patch, see [1] | ||
| 11 | |||
| 12 | [1] https://www.suse.com/security/cve/CVE-2026-1467.html | ||
| 13 | |||
| 14 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 15 | --- | ||
| 16 | libsoup/soup-auth.c | 2 +- | ||
| 17 | libsoup/soup-message.c | 5 +++- | ||
| 18 | libsoup/soup-uri.c | 60 ++++++++++++++++++++++++++++++++++++++++++ | ||
| 19 | libsoup/soup-uri.h | 2 ++ | ||
| 20 | 4 files changed, 67 insertions(+), 2 deletions(-) | ||
| 21 | |||
| 22 | diff --git a/libsoup/soup-auth.c b/libsoup/soup-auth.c | ||
| 23 | index 1896aab..e205fe3 100644 | ||
| 24 | --- a/libsoup/soup-auth.c | ||
| 25 | +++ b/libsoup/soup-auth.c | ||
| 26 | @@ -535,7 +535,7 @@ GSList * | ||
| 27 | soup_auth_get_protection_space (SoupAuth *auth, SoupURI *source_uri) | ||
| 28 | { | ||
| 29 | g_return_val_if_fail (SOUP_IS_AUTH (auth), NULL); | ||
| 30 | - g_return_val_if_fail (source_uri != NULL, NULL); | ||
| 31 | + g_return_val_if_fail (soup_uri_is_valid (source_uri), NULL); | ||
| 32 | |||
| 33 | return SOUP_AUTH_GET_CLASS (auth)->get_protection_space (auth, source_uri); | ||
| 34 | } | ||
| 35 | diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c | ||
| 36 | index da32b42..cc4f22b 100644 | ||
| 37 | --- a/libsoup/soup-message.c | ||
| 38 | +++ b/libsoup/soup-message.c | ||
| 39 | @@ -1044,7 +1044,7 @@ soup_message_new (const char *method, const char *uri_string) | ||
| 40 | uri = soup_uri_new (uri_string); | ||
| 41 | if (!uri) | ||
| 42 | return NULL; | ||
| 43 | - if (!uri->host) { | ||
| 44 | + if (!soup_uri_is_valid (uri)) { | ||
| 45 | soup_uri_free (uri); | ||
| 46 | return NULL; | ||
| 47 | } | ||
| 48 | @@ -1066,6 +1066,8 @@ soup_message_new (const char *method, const char *uri_string) | ||
| 49 | SoupMessage * | ||
| 50 | soup_message_new_from_uri (const char *method, SoupURI *uri) | ||
| 51 | { | ||
| 52 | + g_return_val_if_fail (soup_uri_is_valid (uri), NULL); | ||
| 53 | + | ||
| 54 | return g_object_new (SOUP_TYPE_MESSAGE, | ||
| 55 | SOUP_MESSAGE_METHOD, method, | ||
| 56 | SOUP_MESSAGE_URI, uri, | ||
| 57 | @@ -1676,6 +1678,7 @@ soup_message_set_uri (SoupMessage *msg, SoupURI *uri) | ||
| 58 | SoupMessagePrivate *priv; | ||
| 59 | |||
| 60 | g_return_if_fail (SOUP_IS_MESSAGE (msg)); | ||
| 61 | + g_return_if_fail (soup_uri_is_valid (uri)); | ||
| 62 | priv = soup_message_get_instance_private (msg); | ||
| 63 | |||
| 64 | if (priv->uri) | ||
| 65 | diff --git a/libsoup/soup-uri.c b/libsoup/soup-uri.c | ||
| 66 | index bdb7a17..d781ff1 100644 | ||
| 67 | --- a/libsoup/soup-uri.c | ||
| 68 | +++ b/libsoup/soup-uri.c | ||
| 69 | @@ -1342,6 +1342,66 @@ soup_uri_host_equal (gconstpointer v1, gconstpointer v2) | ||
| 70 | return g_ascii_strcasecmp (one->host, two->host) == 0; | ||
| 71 | } | ||
| 72 | |||
| 73 | +static gboolean | ||
| 74 | +is_valid_character_for_host (char c) | ||
| 75 | +{ | ||
| 76 | + static const char forbidden_chars[] = { '\t', '\n', '\r', ' ', '#', '/', ':', '<', '>', '?', '@', '[', '\\', ']', '^', '|' }; | ||
| 77 | + int i; | ||
| 78 | + | ||
| 79 | + for (i = 0; i < G_N_ELEMENTS (forbidden_chars); ++i) { | ||
| 80 | + if (c == forbidden_chars[i]) | ||
| 81 | + return FALSE; | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + return TRUE; | ||
| 85 | +} | ||
| 86 | + | ||
| 87 | +static gboolean | ||
| 88 | +is_host_valid (const char* host) | ||
| 89 | +{ | ||
| 90 | + int i; | ||
| 91 | + gboolean is_valid; | ||
| 92 | + char *ascii_host = NULL; | ||
| 93 | + | ||
| 94 | + if (!host || !host[0]) | ||
| 95 | + return FALSE; | ||
| 96 | + | ||
| 97 | + if (g_hostname_is_non_ascii (host)) { | ||
| 98 | + ascii_host = g_hostname_to_ascii (host); | ||
| 99 | + if (!ascii_host) | ||
| 100 | + return FALSE; | ||
| 101 | + | ||
| 102 | + host = ascii_host; | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + if ((g_ascii_isdigit (host[0]) || strchr (host, ':')) && g_hostname_is_ip_address (host)) { | ||
| 106 | + g_free (ascii_host); | ||
| 107 | + return TRUE; | ||
| 108 | + } | ||
| 109 | + is_valid = TRUE; | ||
| 110 | + for (i = 0; host[i] && is_valid; i++) | ||
| 111 | + is_valid = is_valid_character_for_host (host[i]); | ||
| 112 | + | ||
| 113 | + g_free (ascii_host); | ||
| 114 | + | ||
| 115 | + return is_valid; | ||
| 116 | +} | ||
| 117 | + | ||
| 118 | +gboolean | ||
| 119 | +soup_uri_is_valid (SoupURI *uri) | ||
| 120 | +{ | ||
| 121 | + if (!uri) | ||
| 122 | + return FALSE; | ||
| 123 | + | ||
| 124 | + if (!is_host_valid (soup_uri_get_host (uri))) | ||
| 125 | + return FALSE; | ||
| 126 | + | ||
| 127 | + /* FIXME: validate other URI components? */ | ||
| 128 | + | ||
| 129 | + return TRUE; | ||
| 130 | +} | ||
| 131 | + | ||
| 132 | + | ||
| 133 | gboolean | ||
| 134 | soup_uri_is_http (SoupURI *uri, char **aliases) | ||
| 135 | { | ||
| 136 | diff --git a/libsoup/soup-uri.h b/libsoup/soup-uri.h | ||
| 137 | index 8015e4f..64099c3 100644 | ||
| 138 | --- a/libsoup/soup-uri.h | ||
| 139 | +++ b/libsoup/soup-uri.h | ||
| 140 | @@ -133,6 +133,8 @@ guint soup_uri_host_hash (gconstpointer key); | ||
| 141 | SOUP_AVAILABLE_IN_2_28 | ||
| 142 | gboolean soup_uri_host_equal (gconstpointer v1, | ||
| 143 | gconstpointer v2); | ||
| 144 | +SOUP_AVAILABLE_IN_2_68 | ||
| 145 | +gboolean soup_uri_is_valid (SoupURI *uri); | ||
| 146 | |||
| 147 | #define SOUP_URI_IS_VALID(uri) ((uri) && (uri)->scheme && (uri)->path) | ||
| 148 | #define SOUP_URI_VALID_FOR_HTTP(uri) ((uri) && ((uri)->scheme == SOUP_URI_SCHEME_HTTP || (uri)->scheme == SOUP_URI_SCHEME_HTTPS) && (uri)->host && (uri)->path) | ||
| 149 | -- | ||
| 150 | 2.34.1 | ||
| 151 | |||
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1539.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1539.patch new file mode 100644 index 0000000000..c6b813a98f --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1539.patch | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | From 285faea567e1e2a95226201175dbf745a64a2439 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Fri, 20 Mar 2026 15:04:22 +0800 | ||
| 4 | Subject: [PATCH 4/4] Also remove Proxy-Authorization header on cross origin | ||
| 5 | redirect | ||
| 6 | |||
| 7 | Closes #489 | ||
| 8 | |||
| 9 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/98c1285d9d78662c38bf14b4a128af01ccfdb446] | ||
| 10 | CVE: CVE-2026-1539 | ||
| 11 | |||
| 12 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 13 | --- | ||
| 14 | libsoup/soup-session.c | 1 + | ||
| 15 | 1 file changed, 1 insertion(+) | ||
| 16 | |||
| 17 | diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c | ||
| 18 | index cc0d04c..0361856 100644 | ||
| 19 | --- a/libsoup/soup-session.c | ||
| 20 | +++ b/libsoup/soup-session.c | ||
| 21 | @@ -1190,6 +1190,7 @@ soup_session_redirect_message (SoupSession *session, SoupMessage *msg) | ||
| 22 | /* Strip all credentials on cross-origin redirect. */ | ||
| 23 | if (!soup_uri_host_equal (soup_message_get_uri (msg), new_uri)) { | ||
| 24 | soup_message_headers_remove (msg->request_headers, "Authorization"); | ||
| 25 | + soup_message_headers_remove (msg->request_headers, "Proxy-Authorization"); | ||
| 26 | soup_message_set_auth (msg, NULL); | ||
| 27 | } | ||
| 28 | |||
| 29 | -- | ||
| 30 | 2.34.1 | ||
| 31 | |||
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1760.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1760.patch new file mode 100644 index 0000000000..a5547132a2 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1760.patch | |||
| @@ -0,0 +1,153 @@ | |||
| 1 | From 0fca37e0fce479284e62091ffb9b7d6caff1c7e4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Garcia Campos <cgarcia@igalia.com> | ||
| 3 | Date: Thu, 29 Jan 2026 16:43:28 +0100 | ||
| 4 | Subject: [PATCH] server: close the connection after responsing a request | ||
| 5 | containing Content-Length and Transfer-Encoding | ||
| 6 | |||
| 7 | Closes #475 | ||
| 8 | |||
| 9 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/6224df5a471e9040a99dd3dc2e91817a701b1bf6] | ||
| 10 | CVE: CVE-2026-1760 | ||
| 11 | |||
| 12 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 13 | --- | ||
| 14 | libsoup/soup-message-headers.c | 86 +++++++++++++++----------------- | ||
| 15 | libsoup/soup-message-server-io.c | 8 +++ | ||
| 16 | 2 files changed, 49 insertions(+), 45 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c | ||
| 19 | index 535cf14..06d9600 100644 | ||
| 20 | --- a/libsoup/soup-message-headers.c | ||
| 21 | +++ b/libsoup/soup-message-headers.c | ||
| 22 | @@ -666,38 +666,13 @@ clear_special_headers (SoupMessageHeaders *hdrs) | ||
| 23 | static void | ||
| 24 | transfer_encoding_setter (SoupMessageHeaders *hdrs, const char *value) | ||
| 25 | { | ||
| 26 | - if (value) { | ||
| 27 | - /* "identity" is a wrong value according to RFC errata 408, | ||
| 28 | - * and RFC 7230 does not list it as valid transfer-coding. | ||
| 29 | - * Nevertheless, the obsolete RFC 2616 stated "identity" | ||
| 30 | - * as valid, so we can't handle it as unrecognized here | ||
| 31 | - * for compatibility reasons. | ||
| 32 | - */ | ||
| 33 | - if (g_ascii_strcasecmp (value, "chunked") == 0) | ||
| 34 | - hdrs->encoding = SOUP_ENCODING_CHUNKED; | ||
| 35 | - else if (g_ascii_strcasecmp (value, "identity") != 0) | ||
| 36 | - hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; | ||
| 37 | - } else | ||
| 38 | - hdrs->encoding = -1; | ||
| 39 | + hdrs->encoding = -1; | ||
| 40 | } | ||
| 41 | |||
| 42 | static void | ||
| 43 | content_length_setter (SoupMessageHeaders *hdrs, const char *value) | ||
| 44 | { | ||
| 45 | - /* Transfer-Encoding trumps Content-Length */ | ||
| 46 | - if (hdrs->encoding == SOUP_ENCODING_CHUNKED) | ||
| 47 | - return; | ||
| 48 | - | ||
| 49 | - if (value) { | ||
| 50 | - char *end; | ||
| 51 | - | ||
| 52 | - hdrs->content_length = g_ascii_strtoull (value, &end, 10); | ||
| 53 | - if (*end) | ||
| 54 | - hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; | ||
| 55 | - else | ||
| 56 | - hdrs->encoding = SOUP_ENCODING_CONTENT_LENGTH; | ||
| 57 | - } else | ||
| 58 | - hdrs->encoding = -1; | ||
| 59 | + hdrs->encoding = -1; | ||
| 60 | } | ||
| 61 | |||
| 62 | /** | ||
| 63 | @@ -730,29 +705,50 @@ SoupEncoding | ||
| 64 | soup_message_headers_get_encoding (SoupMessageHeaders *hdrs) | ||
| 65 | { | ||
| 66 | const char *header; | ||
| 67 | + const char *content_length; | ||
| 68 | + const char *transfer_encoding; | ||
| 69 | |||
| 70 | if (hdrs->encoding != -1) | ||
| 71 | return hdrs->encoding; | ||
| 72 | |||
| 73 | - /* If Transfer-Encoding was set, hdrs->encoding would already | ||
| 74 | - * be set. So we don't need to check that possibility. | ||
| 75 | - */ | ||
| 76 | - header = soup_message_headers_get_one (hdrs, "Content-Length"); | ||
| 77 | - if (header) { | ||
| 78 | - content_length_setter (hdrs, header); | ||
| 79 | - if (hdrs->encoding != -1) | ||
| 80 | - return hdrs->encoding; | ||
| 81 | - } | ||
| 82 | + /* Transfer-Encoding is checked first because it overrides the Content-Length */ | ||
| 83 | + transfer_encoding = soup_message_headers_get_one (hdrs, "Transfer-Encoding"); | ||
| 84 | + if (transfer_encoding) { | ||
| 85 | + /* "identity" is a wrong value according to RFC errata 408, | ||
| 86 | + * and RFC 7230 does not list it as valid transfer-coding. | ||
| 87 | + * Nevertheless, the obsolete RFC 2616 stated "identity" | ||
| 88 | + * as valid, so we can't handle it as unrecognized here | ||
| 89 | + * for compatibility reasons. | ||
| 90 | + */ | ||
| 91 | + if (g_ascii_strcasecmp (transfer_encoding, "chunked") == 0) | ||
| 92 | + hdrs->encoding = SOUP_ENCODING_CHUNKED; | ||
| 93 | + else if (g_ascii_strcasecmp (transfer_encoding, "identity") != 0) | ||
| 94 | + hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; | ||
| 95 | + } else { | ||
| 96 | + content_length = soup_message_headers_get_one (hdrs, "Content-Length"); | ||
| 97 | + if (content_length) { | ||
| 98 | + char *end; | ||
| 99 | + | ||
| 100 | + hdrs->content_length = g_ascii_strtoull (content_length, &end, 10); | ||
| 101 | + if (*end) | ||
| 102 | + hdrs->encoding = SOUP_ENCODING_UNRECOGNIZED; | ||
| 103 | + else | ||
| 104 | + hdrs->encoding = SOUP_ENCODING_CONTENT_LENGTH; | ||
| 105 | + } | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + if (hdrs->encoding == -1) { | ||
| 109 | + /* Per RFC 2616 4.4, a response body that doesn't indicate its | ||
| 110 | + * encoding otherwise is terminated by connection close, and a | ||
| 111 | + * request that doesn't indicate otherwise has no body. Note | ||
| 112 | + * that SoupMessage calls soup_message_headers_set_encoding() | ||
| 113 | + * to override the response body default for our own | ||
| 114 | + * server-side messages. | ||
| 115 | + */ | ||
| 116 | + hdrs->encoding = (hdrs->type == SOUP_MESSAGE_HEADERS_RESPONSE) ? | ||
| 117 | + SOUP_ENCODING_EOF : SOUP_ENCODING_NONE; | ||
| 118 | + } | ||
| 119 | |||
| 120 | - /* Per RFC 2616 4.4, a response body that doesn't indicate its | ||
| 121 | - * encoding otherwise is terminated by connection close, and a | ||
| 122 | - * request that doesn't indicate otherwise has no body. Note | ||
| 123 | - * that SoupMessage calls soup_message_headers_set_encoding() | ||
| 124 | - * to override the response body default for our own | ||
| 125 | - * server-side messages. | ||
| 126 | - */ | ||
| 127 | - hdrs->encoding = (hdrs->type == SOUP_MESSAGE_HEADERS_RESPONSE) ? | ||
| 128 | - SOUP_ENCODING_EOF : SOUP_ENCODING_NONE; | ||
| 129 | return hdrs->encoding; | ||
| 130 | } | ||
| 131 | |||
| 132 | diff --git a/libsoup/soup-message-server-io.c b/libsoup/soup-message-server-io.c | ||
| 133 | index 71e943b..df5eafc 100644 | ||
| 134 | --- a/libsoup/soup-message-server-io.c | ||
| 135 | +++ b/libsoup/soup-message-server-io.c | ||
| 136 | @@ -80,6 +80,14 @@ parse_request_headers (SoupMessage *msg, char *headers, guint headers_len, | ||
| 137 | return SOUP_STATUS_BAD_REQUEST; | ||
| 138 | } | ||
| 139 | |||
| 140 | + /* A server MAY reject a request that contains both Content-Length and | ||
| 141 | + * Transfer-Encoding or process such a request in accordance with the | ||
| 142 | + * Transfer-Encoding alone. Regardless, the server MUST close the connection | ||
| 143 | + * after responding to such a request to avoid the potential attacks | ||
| 144 | + */ | ||
| 145 | + if (*encoding == SOUP_ENCODING_CHUNKED && soup_message_headers_get_one (msg->request_headers, "Content-Length")) | ||
| 146 | + soup_message_headers_replace (msg->request_headers, "Connection", "close"); | ||
| 147 | + | ||
| 148 | /* Generate correct context for request */ | ||
| 149 | req_host = soup_message_headers_get_one (msg->request_headers, "Host"); | ||
| 150 | if (req_host && strchr (req_host, '/')) { | ||
| 151 | -- | ||
| 152 | 2.34.1 | ||
| 153 | |||
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1761.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1761.patch new file mode 100644 index 0000000000..573e3e1dd0 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1761.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | From 07757b7feacfc660c6c463ff2b773c13bc42d2c9 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Thu, 19 Mar 2026 17:21:32 +0800 | ||
| 4 | Subject: [PATCH 3/4] multipart: check length of bytes read | ||
| 5 | soup_filter_input_stream_read_until() | ||
| 6 | |||
| 7 | We do make sure the read length is smaller than the buffer length when | ||
| 8 | the boundary is not found, but we should do the same when the boundary | ||
| 9 | is found. | ||
| 10 | |||
| 11 | Spotted in #YWH-PGM9867-149 | ||
| 12 | Closes #493 | ||
| 13 | |||
| 14 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/cfa9d90d1a5c274233554a264c56551c13d6a6f0] | ||
| 15 | CVE: CVE-2026-1761 | ||
| 16 | |||
| 17 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 18 | --- | ||
| 19 | libsoup/soup-filter-input-stream.c | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/libsoup/soup-filter-input-stream.c b/libsoup/soup-filter-input-stream.c | ||
| 23 | index 2c30bf9..c34510b 100644 | ||
| 24 | --- a/libsoup/soup-filter-input-stream.c | ||
| 25 | +++ b/libsoup/soup-filter-input-stream.c | ||
| 26 | @@ -272,6 +272,6 @@ soup_filter_input_stream_read_until (SoupFilterInputStream *fstream, | ||
| 27 | if (eof && !*got_boundary) | ||
| 28 | read_length = MIN (fstream->priv->buf->len, length); | ||
| 29 | else | ||
| 30 | - read_length = p - buf; | ||
| 31 | + read_length = MIN ((gsize)(p - buf), length); | ||
| 32 | return read_from_buf (fstream, buffer, read_length); | ||
| 33 | } | ||
| 34 | -- | ||
| 35 | 2.34.1 | ||
| 36 | |||
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1801.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1801.patch new file mode 100644 index 0000000000..5f445f7354 --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-1801.patch | |||
| @@ -0,0 +1,126 @@ | |||
| 1 | From f9c933e258e9ef2f221cca6395f8092a1c4b93dd Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Thu, 19 Mar 2026 17:10:36 +0800 | ||
| 4 | Subject: [PATCH 2/4] Fix CVE-2026-1801 | ||
| 5 | |||
| 6 | This patch merges 3 upstream patches | ||
| 7 | |||
| 8 | Chery-pick the first two patches to make the context is the same as the | ||
| 9 | third patch that fix CVE-2026-1801 | ||
| 10 | |||
| 11 | Upstream-Status: Backport | ||
| 12 | [https://gitlab.gnome.org/GNOME/libsoup/-/commit/1e32b5e123aa1689505472bdbfcbd897eac41977, | ||
| 13 | https://gitlab.gnome.org/GNOME/libsoup/-/commit/8a2e15c88512ae4517d2c2c887d39299725b22da, | ||
| 14 | https://gitlab.gnome.org/GNOME/libsoup/-/commit/b9a1c0663ff8ab6e79715db4b35b54f560416ddd] | ||
| 15 | CVE: CVE-2026-1801 | ||
| 16 | |||
| 17 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 18 | --- | ||
| 19 | libsoup/soup-body-input-stream.c | 66 ++++++++++++++++++++------------ | ||
| 20 | 1 file changed, 41 insertions(+), 25 deletions(-) | ||
| 21 | |||
| 22 | diff --git a/libsoup/soup-body-input-stream.c b/libsoup/soup-body-input-stream.c | ||
| 23 | index 6b95884..25d9312 100644 | ||
| 24 | --- a/libsoup/soup-body-input-stream.c | ||
| 25 | +++ b/libsoup/soup-body-input-stream.c | ||
| 26 | @@ -159,15 +159,18 @@ soup_body_input_stream_read_chunked (SoupBodyInputStream *bistream, | ||
| 27 | again: | ||
| 28 | switch (bistream->priv->chunked_state) { | ||
| 29 | case SOUP_BODY_INPUT_STREAM_STATE_CHUNK_SIZE: | ||
| 30 | - nread = soup_filter_input_stream_read_line ( | ||
| 31 | - fstream, metabuf, sizeof (metabuf), blocking, | ||
| 32 | - &got_line, cancellable, error); | ||
| 33 | - if (nread <= 0) | ||
| 34 | + nread = soup_filter_input_stream_read_until ( | ||
| 35 | + fstream, metabuf, sizeof (metabuf), | ||
| 36 | + "\r\n", 2, blocking, TRUE, | ||
| 37 | + &got_line, cancellable, error); | ||
| 38 | + if (nread < 0) | ||
| 39 | return nread; | ||
| 40 | - if (!got_line) { | ||
| 41 | - g_set_error_literal (error, G_IO_ERROR, | ||
| 42 | - G_IO_ERROR_PARTIAL_INPUT, | ||
| 43 | - _("Connection terminated unexpectedly")); | ||
| 44 | + if (nread == 0 || !got_line) { | ||
| 45 | + if (error && *error == NULL) { | ||
| 46 | + g_set_error_literal (error, G_IO_ERROR, | ||
| 47 | + G_IO_ERROR_PARTIAL_INPUT, | ||
| 48 | + ("Connection terminated unexpectedly")); | ||
| 49 | + } | ||
| 50 | return -1; | ||
| 51 | } | ||
| 52 | |||
| 53 | @@ -180,9 +183,9 @@ again: | ||
| 54 | |||
| 55 | case SOUP_BODY_INPUT_STREAM_STATE_CHUNK: | ||
| 56 | nread = soup_body_input_stream_read_raw ( | ||
| 57 | - bistream, buffer, | ||
| 58 | - MIN (count, bistream->priv->read_length), | ||
| 59 | - blocking, cancellable, error); | ||
| 60 | + bistream, buffer, | ||
| 61 | + MIN (count, bistream->priv->read_length), | ||
| 62 | + blocking, cancellable, error); | ||
| 63 | if (nread > 0) { | ||
| 64 | bistream->priv->read_length -= nread; | ||
| 65 | if (bistream->priv->read_length == 0) | ||
| 66 | @@ -191,16 +194,19 @@ again: | ||
| 67 | return nread; | ||
| 68 | |||
| 69 | case SOUP_BODY_INPUT_STREAM_STATE_CHUNK_END: | ||
| 70 | - nread = soup_filter_input_stream_read_line ( | ||
| 71 | - SOUP_FILTER_INPUT_STREAM (bistream->priv->base_stream), | ||
| 72 | - metabuf, sizeof (metabuf), blocking, | ||
| 73 | - &got_line, cancellable, error); | ||
| 74 | - if (nread <= 0) | ||
| 75 | + nread = soup_filter_input_stream_read_until ( | ||
| 76 | + SOUP_FILTER_INPUT_STREAM (bistream->priv->base_stream), | ||
| 77 | + metabuf, sizeof (metabuf), | ||
| 78 | + "\r\n", 2, blocking, TRUE, | ||
| 79 | + &got_line, cancellable, error); | ||
| 80 | + if (nread < 0) | ||
| 81 | return nread; | ||
| 82 | - if (!got_line) { | ||
| 83 | - g_set_error_literal (error, G_IO_ERROR, | ||
| 84 | - G_IO_ERROR_PARTIAL_INPUT, | ||
| 85 | - _("Connection terminated unexpectedly")); | ||
| 86 | + if (nread == 0 || !got_line) { | ||
| 87 | + if (error && *error == NULL) { | ||
| 88 | + g_set_error_literal (error, G_IO_ERROR, | ||
| 89 | + G_IO_ERROR_PARTIAL_INPUT, | ||
| 90 | + _("Connection terminated unexpectedly")); | ||
| 91 | + } | ||
| 92 | return -1; | ||
| 93 | } | ||
| 94 | |||
| 95 | @@ -208,13 +214,23 @@ again: | ||
| 96 | break; | ||
| 97 | |||
| 98 | case SOUP_BODY_INPUT_STREAM_STATE_TRAILERS: | ||
| 99 | - nread = soup_filter_input_stream_read_line ( | ||
| 100 | - fstream, buffer, count, blocking, | ||
| 101 | - &got_line, cancellable, error); | ||
| 102 | - if (nread <= 0) | ||
| 103 | + nread = soup_filter_input_stream_read_until ( | ||
| 104 | + fstream, metabuf, sizeof (metabuf), | ||
| 105 | + "\r\n", 2, blocking, TRUE, | ||
| 106 | + &got_line, cancellable, error); | ||
| 107 | + if (nread < 0) | ||
| 108 | return nread; | ||
| 109 | |||
| 110 | - if (strncmp (buffer, "\r\n", nread) || strncmp (buffer, "\n", nread)) { | ||
| 111 | + if (nread == 0) { | ||
| 112 | + if (error && *error == NULL) { | ||
| 113 | + g_set_error_literal (error, G_IO_ERROR, | ||
| 114 | + G_IO_ERROR_PARTIAL_INPUT, | ||
| 115 | + _("Connection terminated unexpectedly")); | ||
| 116 | + } | ||
| 117 | + return -1; | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | + if (nread == 2 && strncmp (metabuf, "\r\n", nread) == 0) { | ||
| 121 | bistream->priv->chunked_state = SOUP_BODY_INPUT_STREAM_STATE_DONE; | ||
| 122 | bistream->priv->eof = TRUE; | ||
| 123 | } | ||
| 124 | -- | ||
| 125 | 2.34.1 | ||
| 126 | |||
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2369.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2369.patch new file mode 100644 index 0000000000..814672caca --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2369.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | From 5c4e65fd99ff4e3ae76c7985c5e160bb07ea0f92 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Changqing Li <changqing.li@windriver.com> | ||
| 3 | Date: Wed, 25 Mar 2026 11:24:36 +0800 | ||
| 4 | Subject: [PATCH] sniffer: Handle potential underflow | ||
| 5 | |||
| 6 | Closes #498 | ||
| 7 | |||
| 8 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/b91bbd7d7888c85b17a8b33173caa806dff51681] | ||
| 9 | CVE: CVE-2026-2369 | ||
| 10 | |||
| 11 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 12 | --- | ||
| 13 | libsoup/soup-content-sniffer.c | 4 ++++ | ||
| 14 | 1 file changed, 4 insertions(+) | ||
| 15 | |||
| 16 | diff --git a/libsoup/soup-content-sniffer.c b/libsoup/soup-content-sniffer.c | ||
| 17 | index 3edc568..b091bca 100644 | ||
| 18 | --- a/libsoup/soup-content-sniffer.c | ||
| 19 | +++ b/libsoup/soup-content-sniffer.c | ||
| 20 | @@ -504,6 +504,10 @@ sniff_unknown (SoupContentSniffer *sniffer, SoupBuffer *buffer, | ||
| 21 | if (!sniff_scriptable && type_row->scriptable) | ||
| 22 | continue; | ||
| 23 | |||
| 24 | + /* Ensure we have data to sniff - prevents underflow in resource_length - 1 */ | ||
| 25 | + if (resource_length == 0) | ||
| 26 | + continue; | ||
| 27 | + | ||
| 28 | if (type_row->has_ws) { | ||
| 29 | guint index_stream = 0; | ||
| 30 | guint index_pattern = 0; | ||
| 31 | -- | ||
| 32 | 2.34.1 | ||
| 33 | |||
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2443.patch b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2443.patch new file mode 100644 index 0000000000..99d42acb1e --- /dev/null +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4/CVE-2026-2443.patch | |||
| @@ -0,0 +1,135 @@ | |||
| 1 | From 7bb3115a296154e3f465900ea5c984a493385a7f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Philip Withnall <pwithnall@gnome.org> | ||
| 3 | Date: Fri, 19 Dec 2025 23:49:05 +0000 | ||
| 4 | Subject: [PATCH] Fix CVE-2026-2443 | ||
| 5 | |||
| 6 | Upstream-Status: Backport [ | ||
| 7 | c1796442 soup-message-headers: Rework Range response statuses to match Apache | ||
| 8 | 191ef313 soup-message-headers: Fix rejection of Range headers with trailing garbage | ||
| 9 | be677bea soup-message-headers: Fix parsing of invalid Range suffix lengths | ||
| 10 | 2bbfdfe8 soup-message-headers: Reject ranges where end is before start | ||
| 11 | 739bf7cb soup-message-headers: Reject invalid Range ends longer than the content | ||
| 12 | ] | ||
| 13 | CVE: CVE-2026-2443 | ||
| 14 | |||
| 15 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
| 16 | --- | ||
| 17 | libsoup/soup-message-headers.c | 62 ++++++++++++++++++++++++---------- | ||
| 18 | 1 file changed, 44 insertions(+), 18 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c | ||
| 21 | index bb20bbb..535cf14 100644 | ||
| 22 | --- a/libsoup/soup-message-headers.c | ||
| 23 | +++ b/libsoup/soup-message-headers.c | ||
| 24 | @@ -943,10 +943,16 @@ sort_ranges (gconstpointer a, gconstpointer b) | ||
| 25 | } | ||
| 26 | |||
| 27 | /* like soup_message_headers_get_ranges(), except it returns: | ||
| 28 | - * SOUP_STATUS_OK if there is no Range or it should be ignored. | ||
| 29 | - * SOUP_STATUS_PARTIAL_CONTENT if there is at least one satisfiable range. | ||
| 30 | - * SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE if @check_satisfiable | ||
| 31 | - * is %TRUE and the request is not satisfiable given @total_length. | ||
| 32 | + * - SOUP_STATUS_OK if there is no Range or it should be ignored due to being | ||
| 33 | + * entirely invalid. | ||
| 34 | + * - SOUP_STATUS_PARTIAL_CONTENT if there is at least one satisfiable range. | ||
| 35 | + * - SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE if @check_satisfiable | ||
| 36 | + * is %TRUE, the Range is valid, but no part of the request is satisfiable | ||
| 37 | + * given @total_length. | ||
| 38 | + * | ||
| 39 | + * @ranges and @length are only set if SOUP_STATUS_PARTIAL_CONTENT is returned. | ||
| 40 | + * | ||
| 41 | + * See https://httpwg.org/specs/rfc9110.html#field.range | ||
| 42 | */ | ||
| 43 | guint | ||
| 44 | soup_message_headers_get_ranges_internal (SoupMessageHeaders *hdrs, | ||
| 45 | @@ -960,22 +966,28 @@ soup_message_headers_get_ranges_internal (SoupMessageHeaders *hdrs, | ||
| 46 | GArray *array; | ||
| 47 | char *spec, *end; | ||
| 48 | guint status = SOUP_STATUS_OK; | ||
| 49 | + gboolean is_all_valid = TRUE; | ||
| 50 | |||
| 51 | if (!range || strncmp (range, "bytes", 5) != 0) | ||
| 52 | - return status; | ||
| 53 | + return SOUP_STATUS_OK; /* invalid header or unknown range unit */ | ||
| 54 | |||
| 55 | range += 5; | ||
| 56 | while (g_ascii_isspace (*range)) | ||
| 57 | range++; | ||
| 58 | if (*range++ != '=') | ||
| 59 | - return status; | ||
| 60 | + return SOUP_STATUS_OK; /* invalid header */ | ||
| 61 | while (g_ascii_isspace (*range)) | ||
| 62 | range++; | ||
| 63 | |||
| 64 | range_list = soup_header_parse_list (range); | ||
| 65 | if (!range_list) | ||
| 66 | - return status; | ||
| 67 | + return SOUP_STATUS_OK; /* invalid list */ | ||
| 68 | |||
| 69 | + /* Loop through the ranges and modify the status accordingly. Default to | ||
| 70 | + * status 200 (OK, ignoring the ranges). Switch to status 206 (Partial | ||
| 71 | + * Content) if there is at least one partially valid range. Switch to | ||
| 72 | + * status 416 (Range Not Satisfiable) if there are no partially valid | ||
| 73 | + * ranges at all. */ | ||
| 74 | array = g_array_new (FALSE, FALSE, sizeof (SoupRange)); | ||
| 75 | for (r = range_list; r; r = r->next) { | ||
| 76 | SoupRange cur; | ||
| 77 | @@ -988,30 +1000,44 @@ soup_message_headers_get_ranges_internal (SoupMessageHeaders *hdrs, | ||
| 78 | cur.start = g_ascii_strtoull (spec, &end, 10); | ||
| 79 | if (*end == '-') | ||
| 80 | end++; | ||
| 81 | - if (*end) { | ||
| 82 | + if (*end) | ||
| 83 | cur.end = g_ascii_strtoull (end, &end, 10); | ||
| 84 | - if (cur.end < cur.start) { | ||
| 85 | - status = SOUP_STATUS_OK; | ||
| 86 | - break; | ||
| 87 | - } | ||
| 88 | - } else | ||
| 89 | + else | ||
| 90 | cur.end = total_length - 1; | ||
| 91 | } | ||
| 92 | + | ||
| 93 | if (*end) { | ||
| 94 | - status = SOUP_STATUS_OK; | ||
| 95 | - break; | ||
| 96 | - } else if (check_satisfiable && cur.start >= total_length) { | ||
| 97 | - if (status == SOUP_STATUS_OK) | ||
| 98 | - status = SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE; | ||
| 99 | + /* Junk after the range */ | ||
| 100 | + is_all_valid = FALSE; | ||
| 101 | + continue; | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | + if (cur.end < cur.start) { | ||
| 105 | + is_all_valid = FALSE; | ||
| 106 | + continue; | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + g_assert (cur.start >= 0); | ||
| 110 | + if (cur.end >= total_length) | ||
| 111 | + cur.end = total_length - 1; | ||
| 112 | + | ||
| 113 | + if (cur.start >= total_length) { | ||
| 114 | + /* Range is valid, but unsatisfiable */ | ||
| 115 | continue; | ||
| 116 | } | ||
| 117 | |||
| 118 | + /* We have at least one (at least partially) satisfiable range */ | ||
| 119 | g_array_append_val (array, cur); | ||
| 120 | status = SOUP_STATUS_PARTIAL_CONTENT; | ||
| 121 | } | ||
| 122 | soup_header_free_list (range_list); | ||
| 123 | |||
| 124 | if (status != SOUP_STATUS_PARTIAL_CONTENT) { | ||
| 125 | + g_assert (status == SOUP_STATUS_OK); | ||
| 126 | + | ||
| 127 | + if (is_all_valid && check_satisfiable) | ||
| 128 | + status = SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE; | ||
| 129 | + | ||
| 130 | g_array_free (array, TRUE); | ||
| 131 | return status; | ||
| 132 | } | ||
| 133 | -- | ||
| 134 | 2.34.1 | ||
| 135 | |||
diff --git a/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb b/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb index 68ec576d9b..e588e60cd5 100644 --- a/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb +++ b/meta-oe/recipes-support/libsoup/libsoup-2.4_2.74.3.bb | |||
| @@ -40,6 +40,16 @@ SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ | |||
| 40 | file://CVE-2025-4948.patch \ | 40 | file://CVE-2025-4948.patch \ |
| 41 | file://CVE-2025-4969.patch \ | 41 | file://CVE-2025-4969.patch \ |
| 42 | file://CVE-2025-4945.patch \ | 42 | file://CVE-2025-4945.patch \ |
| 43 | file://CVE-2025-14523.patch \ | ||
| 44 | file://CVE-2025-32049-1.patch \ | ||
| 45 | file://CVE-2025-32049-2.patch \ | ||
| 46 | file://CVE-2026-2443.patch \ | ||
| 47 | file://CVE-2026-1801.patch \ | ||
| 48 | file://CVE-2026-1761.patch \ | ||
| 49 | file://CVE-2026-1539.patch \ | ||
| 50 | file://CVE-2026-2369.patch \ | ||
| 51 | file://CVE-2026-1760.patch \ | ||
| 52 | file://CVE-2026-1467.patch \ | ||
| 43 | " | 53 | " |
| 44 | SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13" | 54 | SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13" |
| 45 | 55 | ||
diff --git a/meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb b/meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb index 04f1ffc1fc..7d227d4148 100644 --- a/meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb +++ b/meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb | |||
| @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8f9b59a81a88da8e812af43728b72dd7" | |||
| 10 | DEPENDS = "openssl" | 10 | DEPENDS = "openssl" |
| 11 | 11 | ||
| 12 | SRC_URI = "git://github.com/DMTF/libspdm.git;branch=release-3.8;protocol=https;tag=${PV}" | 12 | SRC_URI = "git://github.com/DMTF/libspdm.git;branch=release-3.8;protocol=https;tag=${PV}" |
| 13 | SRCREV = "5cf0acb87b2f36f8d70a89e5da8476d85db59f46" | 13 | SRCREV = "f55cf6d48ec69b4ac60a63903e9c6a2cb0fd155d" |
| 14 | 14 | ||
| 15 | inherit cmake | 15 | inherit cmake |
| 16 | 16 | ||
diff --git a/meta-oe/recipes-support/libtar/files/0001-compat-convert-K-R-function-definitions-to-ANSI-C-pr.patch b/meta-oe/recipes-support/libtar/files/0001-compat-convert-K-R-function-definitions-to-ANSI-C-pr.patch new file mode 100644 index 0000000000..4585c586b4 --- /dev/null +++ b/meta-oe/recipes-support/libtar/files/0001-compat-convert-K-R-function-definitions-to-ANSI-C-pr.patch | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | From 5ea04d70221a18cbd711a9d570c81ef0b9be6765 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Fri, 10 Apr 2026 18:41:04 -0700 | ||
| 4 | Subject: [PATCH] compat: convert K&R function definitions to ANSI C prototypes | ||
| 5 | |||
| 6 | Replace old-style K&R parameter declarations with modern ANSI C | ||
| 7 | function prototypes in basename.c, dirname.c, and strmode.c. | ||
| 8 | |||
| 9 | Required for compatibility with clang 22 under -std=gnu23, which | ||
| 10 | no longer supports K&R-style function definitions. | ||
| 11 | |||
| 12 | Upstream-Status: Pending | ||
| 13 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 14 | --- | ||
| 15 | compat/basename.c | 3 +-- | ||
| 16 | compat/dirname.c | 3 +-- | ||
| 17 | compat/strmode.c | 4 +--- | ||
| 18 | 3 files changed, 3 insertions(+), 7 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/compat/basename.c b/compat/basename.c | ||
| 21 | index 2ac1e13..7b0384a 100644 | ||
| 22 | --- a/compat/basename.c | ||
| 23 | +++ b/compat/basename.c | ||
| 24 | @@ -36,8 +36,7 @@ static char rcsid[] = "$OpenBSD: basename.c,v 1.4 1999/05/30 17:10:30 espie Exp | ||
| 25 | #include <sys/param.h> | ||
| 26 | |||
| 27 | char * | ||
| 28 | -openbsd_basename(path) | ||
| 29 | - const char *path; | ||
| 30 | +openbsd_basename(const char *path) | ||
| 31 | { | ||
| 32 | static char bname[MAXPATHLEN]; | ||
| 33 | register const char *endp, *startp; | ||
| 34 | diff --git a/compat/dirname.c b/compat/dirname.c | ||
| 35 | index 986db4a..6c1231d 100644 | ||
| 36 | --- a/compat/dirname.c | ||
| 37 | +++ b/compat/dirname.c | ||
| 38 | @@ -36,8 +36,7 @@ static char rcsid[] = "$OpenBSD: dirname.c,v 1.4 1999/05/30 17:10:30 espie Exp $ | ||
| 39 | #include <sys/param.h> | ||
| 40 | |||
| 41 | char * | ||
| 42 | -openbsd_dirname(path) | ||
| 43 | - const char *path; | ||
| 44 | +openbsd_dirname (const char *path) | ||
| 45 | { | ||
| 46 | static char bname[MAXPATHLEN]; | ||
| 47 | register const char *endp; | ||
| 48 | diff --git a/compat/strmode.c b/compat/strmode.c | ||
| 49 | index 5e7f15e..2ffab61 100644 | ||
| 50 | --- a/compat/strmode.c | ||
| 51 | +++ b/compat/strmode.c | ||
| 52 | @@ -40,9 +40,7 @@ static char *rcsid = "$OpenBSD: strmode.c,v 1.3 1997/06/13 13:57:20 deraadt Exp | ||
| 53 | #include <string.h> | ||
| 54 | |||
| 55 | void | ||
| 56 | -strmode(mode, p) | ||
| 57 | - register mode_t mode; | ||
| 58 | - register char *p; | ||
| 59 | +strmode (register mode_t mode, register char *p) | ||
| 60 | { | ||
| 61 | /* print type */ | ||
| 62 | switch (mode & S_IFMT) { | ||
diff --git a/meta-oe/recipes-support/libtar/libtar_1.2.20.bb b/meta-oe/recipes-support/libtar/libtar_1.2.20.bb index a17509d2e5..39d410064e 100644 --- a/meta-oe/recipes-support/libtar/libtar_1.2.20.bb +++ b/meta-oe/recipes-support/libtar/libtar_1.2.20.bb | |||
| @@ -20,6 +20,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz \ | |||
| 20 | file://CVE-2021-33643-CVE-2021-33644.patch \ | 20 | file://CVE-2021-33643-CVE-2021-33644.patch \ |
| 21 | file://CVE-2021-33640-CVE-2021-33645-CVE-2021-33646.patch \ | 21 | file://CVE-2021-33640-CVE-2021-33645-CVE-2021-33646.patch \ |
| 22 | file://CVE-2013-4420.patch \ | 22 | file://CVE-2013-4420.patch \ |
| 23 | file://0001-compat-convert-K-R-function-definitions-to-ANSI-C-pr.patch \ | ||
| 23 | " | 24 | " |
| 24 | 25 | ||
| 25 | S = "${UNPACKDIR}/${BPN}" | 26 | S = "${UNPACKDIR}/${BPN}" |
diff --git a/meta-oe/recipes-support/libvarlink/libvarlink/0001-transport-tool-use-const-for-strchr-return-pointers.patch b/meta-oe/recipes-support/libvarlink/libvarlink/0001-transport-tool-use-const-for-strchr-return-pointers.patch new file mode 100644 index 0000000000..348dc88838 --- /dev/null +++ b/meta-oe/recipes-support/libvarlink/libvarlink/0001-transport-tool-use-const-for-strchr-return-pointers.patch | |||
| @@ -0,0 +1,96 @@ | |||
| 1 | From 27e4f4504b3c60356b9507e926aae2b82ba47275 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Wed, 15 Apr 2026 11:10:01 -0700 | ||
| 4 | Subject: [PATCH] transport,tool: use const for strchr return pointers | ||
| 5 | |||
| 6 | Fixes errors seen after c23 implemented in glibc | ||
| 7 | |||
| 8 | lib/transport-device.c:13:14: error: assigning to 'char *' from 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] | ||
| 9 | 13 | parm = strchr(address, ';'); | ||
| 10 | | ^ ~~~~~~~~~~~~~~~~~~~~ | ||
| 11 | 1 error generated. | ||
| 12 | |||
| 13 | Upstream-Status: Submitted [https://github.com/varlink/libvarlink/pull/85] | ||
| 14 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 15 | --- | ||
| 16 | lib/transport-device.c | 2 +- | ||
| 17 | lib/transport-tcp.c | 4 ++-- | ||
| 18 | lib/transport-unix.c | 2 +- | ||
| 19 | tool/command-format.c | 2 +- | ||
| 20 | tool/command-info.c | 2 +- | ||
| 21 | 5 files changed, 6 insertions(+), 6 deletions(-) | ||
| 22 | |||
| 23 | diff --git a/lib/transport-device.c b/lib/transport-device.c | ||
| 24 | index 0b8cec5..205eac4 100644 | ||
| 25 | --- a/lib/transport-device.c | ||
| 26 | +++ b/lib/transport-device.c | ||
| 27 | @@ -7,7 +7,7 @@ | ||
| 28 | #include <fcntl.h> | ||
| 29 | |||
| 30 | static int strip_parameters(const char *address, char **devicep) { | ||
| 31 | - char *parm; | ||
| 32 | + const char *parm; | ||
| 33 | _cleanup_(freep) char *device = NULL; | ||
| 34 | |||
| 35 | parm = strchr(address, ';'); | ||
| 36 | diff --git a/lib/transport-tcp.c b/lib/transport-tcp.c | ||
| 37 | index 92a0e7b..fff2379 100644 | ||
| 38 | --- a/lib/transport-tcp.c | ||
| 39 | +++ b/lib/transport-tcp.c | ||
| 40 | @@ -10,7 +10,7 @@ | ||
| 41 | #include <sys/socket.h> | ||
| 42 | |||
| 43 | static int strip_parameters(const char *address, char **hostp) { | ||
| 44 | - char *parm; | ||
| 45 | + const char *parm; | ||
| 46 | _cleanup_(freep) char *host = NULL; | ||
| 47 | |||
| 48 | parm = strchr(address, ';'); | ||
| 49 | @@ -34,7 +34,7 @@ static void freeaddrinfop(struct addrinfo **ai) { | ||
| 50 | static int resolve_addrinfo(const char *address, struct addrinfo **resultp) { | ||
| 51 | _cleanup_(freep) char *host = NULL; | ||
| 52 | char *endptr; | ||
| 53 | - char *port; | ||
| 54 | + const char *port; | ||
| 55 | struct addrinfo hints = { | ||
| 56 | .ai_family = AF_UNSPEC, | ||
| 57 | .ai_socktype = SOCK_STREAM, | ||
| 58 | diff --git a/lib/transport-unix.c b/lib/transport-unix.c | ||
| 59 | index 5dc3853..2414b29 100644 | ||
| 60 | --- a/lib/transport-unix.c | ||
| 61 | +++ b/lib/transport-unix.c | ||
| 62 | @@ -10,7 +10,7 @@ | ||
| 63 | #include <unistd.h> | ||
| 64 | |||
| 65 | static int strip_parameters(const char *address, char **pathp) { | ||
| 66 | - char *parm; | ||
| 67 | + const char *parm; | ||
| 68 | _cleanup_(freep) char *path = NULL; | ||
| 69 | |||
| 70 | parm = strchr(address, ';'); | ||
| 71 | diff --git a/tool/command-format.c b/tool/command-format.c | ||
| 72 | index 6932bc4..0f5ef8c 100644 | ||
| 73 | --- a/tool/command-format.c | ||
| 74 | +++ b/tool/command-format.c | ||
| 75 | @@ -155,7 +155,7 @@ static long format_run(Cli *UNUSED(cli), int argc, char **argv) { | ||
| 76 | static long format_complete(Cli *cli, int argc, char **UNUSED(argv), const char *current) { | ||
| 77 | _cleanup_(freep) char *prefix = NULL; | ||
| 78 | DIR *dir; | ||
| 79 | - char *p; | ||
| 80 | + const char *p; | ||
| 81 | |||
| 82 | if (argc != 1) | ||
| 83 | return 0; | ||
| 84 | diff --git a/tool/command-info.c b/tool/command-info.c | ||
| 85 | index 571b6fd..9d252f7 100644 | ||
| 86 | --- a/tool/command-info.c | ||
| 87 | +++ b/tool/command-info.c | ||
| 88 | @@ -137,7 +137,7 @@ static long info_run(Cli *cli, int argc, char **argv) { | ||
| 89 | static long info_complete(Cli *UNUSED(cli), int argc, char **UNUSED(argv), const char *current) { | ||
| 90 | _cleanup_(freep) char *prefix = NULL; | ||
| 91 | DIR *dir; | ||
| 92 | - char *p; | ||
| 93 | + const char *p; | ||
| 94 | |||
| 95 | if (argc != 1) | ||
| 96 | return 0; | ||
diff --git a/meta-oe/recipes-support/libvarlink/libvarlink_24.0.1.bb b/meta-oe/recipes-support/libvarlink/libvarlink_24.0.1.bb new file mode 100644 index 0000000000..1d1419a878 --- /dev/null +++ b/meta-oe/recipes-support/libvarlink/libvarlink_24.0.1.bb | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | SUMMARY = "Varlink C library and command line tool" | ||
| 2 | HOMEPAGE = "https://varlink.org/" | ||
| 3 | DESCRIPTION = "Varlink is an interface description format and protocol that aims \ | ||
| 4 | to make services accessible to both humans and machines in the simplest feasible way." | ||
| 5 | SECION = "devel" | ||
| 6 | LICENSE = "Apache-2.0" | ||
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" | ||
| 8 | |||
| 9 | SRC_URI = "git://github.com/varlink/libvarlink.git;protocol=https;branch=master;tag=v${PV} \ | ||
| 10 | file://0001-transport-tool-use-const-for-strchr-return-pointers.patch \ | ||
| 11 | " | ||
| 12 | SRCREV = "2ad4ec7ca62e148dbf0ad98646ec68c2e7e8a88e" | ||
| 13 | |||
| 14 | inherit meson bash-completion lib_package | ||
| 15 | |||
| 16 | do_install:append() { | ||
| 17 | # vim integration is not needed | ||
| 18 | rm -rf ${D}${datadir}/vim | ||
| 19 | } | ||
diff --git a/meta-oe/recipes-support/log4c/log4c/0001-sd-malloc-convert-K-R-function-declarations-to-ANSI-.patch b/meta-oe/recipes-support/log4c/log4c/0001-sd-malloc-convert-K-R-function-declarations-to-ANSI-.patch new file mode 100644 index 0000000000..fae1a2d0c2 --- /dev/null +++ b/meta-oe/recipes-support/log4c/log4c/0001-sd-malloc-convert-K-R-function-declarations-to-ANSI-.patch | |||
| @@ -0,0 +1,92 @@ | |||
| 1 | From b0ecadec662a8e35b017e16e92c5b1a04ed72598 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Sat, 11 Apr 2026 00:24:17 -0700 | ||
| 4 | Subject: [PATCH] sd/malloc: convert K&R function declarations to ANSI C | ||
| 5 | prototypes | ||
| 6 | |||
| 7 | Replace old-style K&R parameter declarations with modern ANSI C | ||
| 8 | (C89/C90) function prototypes across all functions in malloc.c. | ||
| 9 | Also remove trailing whitespace in fixup_null_alloc(). | ||
| 10 | |||
| 11 | Upstream-Status: Pending | ||
| 12 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 13 | --- | ||
| 14 | src/sd/malloc.c | 23 ++++++++--------------- | ||
| 15 | 1 file changed, 8 insertions(+), 15 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/src/sd/malloc.c b/src/sd/malloc.c | ||
| 18 | index 7d241ad..43dd460 100644 | ||
| 19 | --- a/src/sd/malloc.c | ||
| 20 | +++ b/src/sd/malloc.c | ||
| 21 | @@ -41,8 +41,7 @@ typedef void (*sd_malloc_handler_t)(); | ||
| 22 | static sd_malloc_handler_t handler = NULL; | ||
| 23 | |||
| 24 | static void * | ||
| 25 | -fixup_null_alloc (n) | ||
| 26 | - size_t n; | ||
| 27 | +fixup_null_alloc (size_t n) | ||
| 28 | { | ||
| 29 | void* p = 0; | ||
| 30 | |||
| 31 | @@ -62,8 +61,8 @@ fixup_null_alloc (n) | ||
| 32 | allocated = (char *) sbrk (0) - (char *) &environ; | ||
| 33 | sd_error("\nCannot allocate %lu bytes after allocating %lu bytes\n", | ||
| 34 | (unsigned long) n, (unsigned long) allocated); | ||
| 35 | - | ||
| 36 | - if (handler) | ||
| 37 | + | ||
| 38 | + if (handler) | ||
| 39 | handler(); | ||
| 40 | else { | ||
| 41 | sd_error("\n\tMemory exhausted !! Aborting.\n"); | ||
| 42 | @@ -75,8 +74,7 @@ fixup_null_alloc (n) | ||
| 43 | } | ||
| 44 | |||
| 45 | sd_malloc_handler_t | ||
| 46 | -sd_malloc_set_handler(a_handler) | ||
| 47 | - sd_malloc_handler_t a_handler; | ||
| 48 | +sd_malloc_set_handler(sd_malloc_handler_t a_handler) | ||
| 49 | { | ||
| 50 | sd_malloc_handler_t previous = handler; | ||
| 51 | |||
| 52 | @@ -87,8 +85,7 @@ sd_malloc_set_handler(a_handler) | ||
| 53 | /* Allocate N bytes of memory dynamically, with error checking. */ | ||
| 54 | |||
| 55 | void * | ||
| 56 | -sd_malloc (n) | ||
| 57 | - size_t n; | ||
| 58 | +sd_malloc (size_t n) | ||
| 59 | { | ||
| 60 | void *p; | ||
| 61 | |||
| 62 | @@ -101,8 +98,7 @@ sd_malloc (n) | ||
| 63 | /* Allocate memory for N elements of S bytes, with error checking. */ | ||
| 64 | |||
| 65 | void * | ||
| 66 | -sd_calloc (n, s) | ||
| 67 | - size_t n, s; | ||
| 68 | +sd_calloc (size_t n, size_t s) | ||
| 69 | { | ||
| 70 | void *p; | ||
| 71 | |||
| 72 | @@ -117,9 +113,7 @@ sd_calloc (n, s) | ||
| 73 | If P is NULL, run sd_malloc. */ | ||
| 74 | |||
| 75 | void * | ||
| 76 | -sd_realloc (p, n) | ||
| 77 | - void *p; | ||
| 78 | - size_t n; | ||
| 79 | +sd_realloc (void *p, size_t n) | ||
| 80 | { | ||
| 81 | if (p == 0) | ||
| 82 | return sd_malloc (n); | ||
| 83 | @@ -132,8 +126,7 @@ sd_realloc (p, n) | ||
| 84 | /* Return a newly allocated copy of STRING. */ | ||
| 85 | |||
| 86 | char * | ||
| 87 | -sd_strdup (string) | ||
| 88 | - const char *string; | ||
| 89 | +sd_strdup (const char *string) | ||
| 90 | { | ||
| 91 | return strcpy (sd_malloc (strlen (string) + 1), string); | ||
| 92 | } | ||
diff --git a/meta-oe/recipes-support/log4c/log4c_1.2.4.bb b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb index a0bd40b03a..eca800dc5e 100644 --- a/meta-oe/recipes-support/log4c/log4c_1.2.4.bb +++ b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb | |||
| @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | |||
| 6 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ | 6 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ |
| 7 | file://fix_configure_with-expat.patch \ | 7 | file://fix_configure_with-expat.patch \ |
| 8 | file://0001-Use-the-API-properly-in-the-example-format-security-.patch \ | 8 | file://0001-Use-the-API-properly-in-the-example-format-security-.patch \ |
| 9 | file://0001-sd-malloc-convert-K-R-function-declarations-to-ANSI-.patch \ | ||
| 9 | " | 10 | " |
| 10 | 11 | ||
| 11 | SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea" | 12 | SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea" |
diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.12.2.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.12.2.bb index bfb75718f2..0c572d1bd3 100644 --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.12.2.bb +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.12.2.bb | |||
| @@ -110,6 +110,7 @@ PACKAGES =+ "${PN}-libs" | |||
| 110 | FILES:${PN}-libs = "${base_libdir}/lib*.so.* \ | 110 | FILES:${PN}-libs = "${base_libdir}/lib*.so.* \ |
| 111 | ${base_libdir}/multipath/lib*.so*" | 111 | ${base_libdir}/multipath/lib*.so*" |
| 112 | RDEPENDS:${PN} += "${PN}-libs bash libgcc" | 112 | RDEPENDS:${PN} += "${PN}-libs bash libgcc" |
| 113 | RRECOMMENDS:${PN} = "kernel-module-dm-multipath" | ||
| 113 | 114 | ||
| 114 | PROVIDES += "device-mapper-multipath" | 115 | PROVIDES += "device-mapper-multipath" |
| 115 | RPROVIDES:${PN} += "device-mapper-multipath" | 116 | RPROVIDES:${PN} += "device-mapper-multipath" |
diff --git a/meta-oe/recipes-support/nano/nano_8.7.1.bb b/meta-oe/recipes-support/nano/nano_9.0.bb index e62529ff9b..06bb7a63ce 100644 --- a/meta-oe/recipes-support/nano/nano_8.7.1.bb +++ b/meta-oe/recipes-support/nano/nano_9.0.bb | |||
| @@ -13,7 +13,7 @@ RDEPENDS:${PN} = "ncurses-terminfo-base" | |||
| 13 | PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" | 13 | PV_MAJOR = "${@d.getVar('PV').split('.')[0]}" |
| 14 | 14 | ||
| 15 | SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" | 15 | SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz" |
| 16 | SRC_URI[sha256sum] = "76f0dcb248f2e2f1251d4ecd20fd30fb400a360a3a37c6c340e0a52c2d1cdedf" | 16 | SRC_URI[sha256sum] = "9f384374b496110a25b73ad5a5febb384783c6e3188b37063f677ac908013fde" |
| 17 | 17 | ||
| 18 | UPSTREAM_CHECK_URI = "${GNU_MIRROR}/nano" | 18 | UPSTREAM_CHECK_URI = "${GNU_MIRROR}/nano" |
| 19 | 19 | ||
diff --git a/meta-oe/recipes-support/openct/openct/0001-Fix-incompatible-pointer-type-error-with-gcc-option.patch b/meta-oe/recipes-support/openct/openct/0001-Fix-incompatible-pointer-type-error-with-gcc-option.patch deleted file mode 100644 index 73c9d06667..0000000000 --- a/meta-oe/recipes-support/openct/openct/0001-Fix-incompatible-pointer-type-error-with-gcc-option.patch +++ /dev/null | |||
| @@ -1,65 +0,0 @@ | |||
| 1 | From c4351058da555e1e6a2b4b15d913baee80f55865 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Wang Mingyu <wangmy@fujitsu.com> | ||
| 3 | Date: Thu, 27 Jun 2024 06:27:18 +0000 | ||
| 4 | Subject: Fix incompatible pointer type error with gcc option | ||
| 5 | -Wincompatible-pointer-types | ||
| 6 | |||
| 7 | | ../../../openct-0.6.20/src/ifd/ifdhandler.c: In function 'ifdhandler_run': | ||
| 8 | | ../../../openct-0.6.20/src/ifd/ifdhandler.c:239:52: error: passing argument 2 of 'ifd_get_eventfd' from incompatible pointer type [-Wincompatible-pointer-types] | ||
| 9 | | 239 | sock->fd = ifd_get_eventfd(reader, &sock->events); | ||
| 10 | | | ^~~~~~~~~~~~~ | ||
| 11 | | | | | ||
| 12 | | | int * | ||
| 13 | | In file included from ../../../openct-0.6.20/src/ifd/internal.h:17, | ||
| 14 | | from ../../../openct-0.6.20/src/ifd/ifdhandler.c:7: | ||
| 15 | | ../../../openct-0.6.20/src/include/openct/ifd.h:182:65: note: expected 'short int *' but argument is of type 'int *' | ||
| 16 | | 182 | extern int ifd_get_eventfd(ifd_reader_t *, short *); | ||
| 17 | | | ^~~~~~~ | ||
| 18 | |||
| 19 | | ../../../openct-0.6.20/src/ifd/process.c: In function 'do_memory_write': | ||
| 20 | | ../../../openct-0.6.20/src/ifd/process.c:461:61: error: passing argument 4 of 'ct_tlv_get_opaque' from incompatible pointer type [-Wincompatible-pointer-types] | ||
| 21 | | 461 | || !ct_tlv_get_opaque(args, CT_TAG_DATA, &data, &data_len)) | ||
| 22 | | | ^~~~~~~~~ | ||
| 23 | | | | | ||
| 24 | | | unsigned int * | ||
| 25 | | In file included from ../../../openct-0.6.20/src/ifd/process.c:20: | ||
| 26 | | ../../../openct-0.6.20/src/include/openct/tlv.h:40:62: note: expected 'size_t *' {aka 'long unsigned int *'} but argument is of type 'unsigned int *' | ||
| 27 | | 40 | ifd_tag_t, unsigned char **, size_t *); | ||
| 28 | |||
| 29 | Upstream-Status: Submitted | ||
| 30 | |||
| 31 | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> | ||
| 32 | --- | ||
| 33 | src/ifd/ifdhandler.c | 2 +- | ||
| 34 | src/ifd/process.c | 2 +- | ||
| 35 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
| 36 | |||
| 37 | diff --git a/src/ifd/ifdhandler.c b/src/ifd/ifdhandler.c | ||
| 38 | index 12686c9..ebd1b53 100644 | ||
| 39 | --- a/src/ifd/ifdhandler.c | ||
| 40 | +++ b/src/ifd/ifdhandler.c | ||
| 41 | @@ -236,7 +236,7 @@ static void ifdhandler_run(ifd_reader_t * reader) | ||
| 42 | sock->fd = -1; | ||
| 43 | } | ||
| 44 | else { | ||
| 45 | - sock->fd = ifd_get_eventfd(reader, &sock->events); | ||
| 46 | + sock->fd = ifd_get_eventfd(reader, (short int *)&sock->events); | ||
| 47 | } | ||
| 48 | if (sock->fd == -1) { | ||
| 49 | ifd_debug(1, "events inactive for reader %s", reader->name); | ||
| 50 | diff --git a/src/ifd/process.c b/src/ifd/process.c | ||
| 51 | index 4563bdf..7088a76 100644 | ||
| 52 | --- a/src/ifd/process.c | ||
| 53 | +++ b/src/ifd/process.c | ||
| 54 | @@ -458,7 +458,7 @@ static int do_memory_write(ifd_reader_t * reader, int unit, | ||
| 55 | return IFD_ERROR_INVALID_SLOT; | ||
| 56 | |||
| 57 | if (ct_tlv_get_int(args, CT_TAG_ADDRESS, &address) == 0 | ||
| 58 | - || !ct_tlv_get_opaque(args, CT_TAG_DATA, &data, &data_len)) | ||
| 59 | + || !ct_tlv_get_opaque(args, CT_TAG_DATA, &data, (size_t *)&data_len)) | ||
| 60 | return IFD_ERROR_MISSING_ARG; | ||
| 61 | |||
| 62 | rc = ifd_card_write_memory(reader, unit, address, data, data_len); | ||
| 63 | -- | ||
| 64 | 2.34.1 | ||
| 65 | |||
diff --git a/meta-oe/recipes-support/openct/openct/0001-m4-Just-emit-the-first-line-of-compiler-version.patch b/meta-oe/recipes-support/openct/openct/0001-m4-Just-emit-the-first-line-of-compiler-version.patch deleted file mode 100644 index 9bd3d18d6e..0000000000 --- a/meta-oe/recipes-support/openct/openct/0001-m4-Just-emit-the-first-line-of-compiler-version.patch +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | From 146b5116140d719e4e9ae19748c0b6dee7d82f96 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Mon, 22 May 2023 22:01:28 -0700 | ||
| 4 | Subject: [PATCH] m4: Just emit the first line of compiler version | ||
| 5 | |||
| 6 | Avoids emitting buildpaths into comments | ||
| 7 | Fixes | ||
| 8 | WARNING: openct-0.6.20-r0 do_package_qa: QA Issue: File /usr/include/openct/types.h in package openct-dev contains reference to TMPDIR [buildpaths] | ||
| 9 | |||
| 10 | Upstream-Status: Pending | ||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | m4/ac_create_stdint_h.m4 | 2 +- | ||
| 14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 15 | |||
| 16 | diff --git a/m4/ac_create_stdint_h.m4 b/m4/ac_create_stdint_h.m4 | ||
| 17 | index 66de704..4b7223a 100644 | ||
| 18 | --- a/m4/ac_create_stdint_h.m4 | ||
| 19 | +++ b/m4/ac_create_stdint_h.m4 | ||
| 20 | @@ -110,7 +110,7 @@ echo "#define" $_ac_stdint_h "1" >>$ac_stdint_h | ||
| 21 | echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint_h | ||
| 22 | echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint_h | ||
| 23 | if test "$GCC" = "yes" ; then | ||
| 24 | - echo "/* generated using a gnu compiler version" `$CC --version` "*/" \ | ||
| 25 | + echo "/* generated using a gnu compiler version" `$CC --version|head -1` "*/" \ | ||
| 26 | >>$ac_stdint_h | ||
| 27 | else | ||
| 28 | echo "/* generated using $CC */" >>$ac_stdint_h | ||
| 29 | -- | ||
| 30 | 2.40.1 | ||
| 31 | |||
diff --git a/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch b/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch deleted file mode 100644 index e2401bb31b..0000000000 --- a/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch +++ /dev/null | |||
| @@ -1,31 +0,0 @@ | |||
| 1 | From e0d3e0bb1e38ff851696a7d8826e651d364ad8ce Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Li xin <lixin.fnst@cn.fujitsu.com> | ||
| 3 | Date: Fri, 5 Dec 2014 02:00:57 +0900 | ||
| 4 | Subject: [PATCH 1/2] etc/openct.udev.in: disablePROGRAM | ||
| 5 | |||
| 6 | Bug fix: https://bugzilla.redhat.com/show_bug.cgi?id=287871 | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> | ||
| 11 | --- | ||
| 12 | etc/openct.udev.in | 3 ++- | ||
| 13 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/etc/openct.udev.in b/etc/openct.udev.in | ||
| 16 | index d11d0e1..48083c9 100644 | ||
| 17 | --- a/etc/openct.udev.in | ||
| 18 | +++ b/etc/openct.udev.in | ||
| 19 | @@ -22,7 +22,8 @@ ACTION!="add", GOTO="openct_usb_rules_end" | ||
| 20 | # 2010-01-06 removed, as latest udev doesn't know WAIT_FOR_ATTR any more. | ||
| 21 | |||
| 22 | # sleep for 100ms - the wait_for_sysfs might not be enough | ||
| 23 | -PROGRAM="/bin/sleep 0.1" | ||
| 24 | +# Disabled in this package - see https://bugzilla.redhat.com/287871 | ||
| 25 | +# PROGRAM="/bin/sleep 0.1" | ||
| 26 | |||
| 27 | # ccid | ||
| 28 | ATTR{bInterfaceClass}=="0b", ATTR{bInterfaceSubClass}=="00", ATTR{bInterfaceProtocol}=="00", ATTRS{idVendor}=="?*" RUN+="@udevdir@/openct_usb /dev/$parent" | ||
| 29 | -- | ||
| 30 | 1.8.4.2 | ||
| 31 | |||
diff --git a/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch b/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch deleted file mode 100644 index 22eda729fb..0000000000 --- a/meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | From d93985a137b553b2723235d03bda341dab14064f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Li xin <lixin.fnst@cn.fujitsu.com> | ||
| 3 | Date: Fri, 5 Dec 2014 02:04:03 +0900 | ||
| 4 | Subject: [PATCH 2/2] etc/openct_usb.in: modify UDEVINFO | ||
| 5 | |||
| 6 | this patch is from Fedora | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com> | ||
| 11 | --- | ||
| 12 | etc/openct_usb.in | 6 +++--- | ||
| 13 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/etc/openct_usb.in b/etc/openct_usb.in | ||
| 16 | index 32f91aa..917467d 100644 | ||
| 17 | --- a/etc/openct_usb.in | ||
| 18 | +++ b/etc/openct_usb.in | ||
| 19 | @@ -15,10 +15,10 @@ if [ -z "$DEVNAME" ]; then | ||
| 20 | # Guess udev info interface. | ||
| 21 | # Newer udev uses udevadm | ||
| 22 | # | ||
| 23 | - if which udevinfo > /dev/null 2>&1; then | ||
| 24 | - UDEVINFO="udevinfo" | ||
| 25 | - else | ||
| 26 | + if which udevadm > /dev/null 2>&1; then | ||
| 27 | UDEVINFO="udevadm info" | ||
| 28 | + else | ||
| 29 | + UDEVINFO="udevinfo" | ||
| 30 | fi | ||
| 31 | DEVNAME=/dev/$($UDEVINFO --query=name --path=$(dirname $DEVPATH)) | ||
| 32 | fi | ||
| 33 | -- | ||
| 34 | 1.8.4.2 | ||
| 35 | |||
diff --git a/meta-oe/recipes-support/openct/openct/openct.init b/meta-oe/recipes-support/openct/openct/openct.init deleted file mode 100644 index c6896095e3..0000000000 --- a/meta-oe/recipes-support/openct/openct/openct.init +++ /dev/null | |||
| @@ -1,89 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | # | ||
| 3 | # openct This shell script takes care of starting and stopping OpenCT. | ||
| 4 | # | ||
| 5 | # chkconfig: 2345 24 89 | ||
| 6 | # description: OpenCT is a middleware framework for smart card terminals. | ||
| 7 | # | ||
| 8 | # processname: ifdhandler | ||
| 9 | # config: /etc/openct.conf | ||
| 10 | |||
| 11 | ### BEGIN INIT INFO | ||
| 12 | # Provides: openct | ||
| 13 | # Default-Start: 2 3 4 5 | ||
| 14 | # Default-Stop: 0 1 6 | ||
| 15 | # Should-Start: $syslog $network | ||
| 16 | # Should-Stop: $syslog $network | ||
| 17 | # Short-Description: Middleware framework for smart card terminals | ||
| 18 | # Description: This starts/stops the OpenCT middleware framework support | ||
| 19 | # for smart card terminals. | ||
| 20 | ### END INIT INFO | ||
| 21 | |||
| 22 | . /etc/init.d/functions | ||
| 23 | |||
| 24 | exec="/usr/sbin/openct-control" | ||
| 25 | prog=openct | ||
| 26 | proc=ifdhandler | ||
| 27 | |||
| 28 | OPENCT_OPTIONS= | ||
| 29 | [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog | ||
| 30 | |||
| 31 | lockfile=/var/lock/subsys/$prog | ||
| 32 | |||
| 33 | start() { | ||
| 34 | retval=0 | ||
| 35 | if ! status $proc >/dev/null 2>&1 ; then | ||
| 36 | action $"Initializing OpenCT smart card terminals: " \ | ||
| 37 | $exec $OPENCT_OPTIONS init | ||
| 38 | retval=$? | ||
| 39 | [ $retval -eq 0 ] && touch $lockfile | ||
| 40 | fi | ||
| 41 | return $retval | ||
| 42 | } | ||
| 43 | |||
| 44 | stop() { | ||
| 45 | if status $proc >/dev/null 2>&1 ; then | ||
| 46 | action $"Stopping OpenCT smart card terminals: " \ | ||
| 47 | $exec $OPENCT_OPTIONS shutdown | ||
| 48 | fi | ||
| 49 | retval=$? | ||
| 50 | if [ $retval -eq 0 ] ; then | ||
| 51 | rm -f /var/run/openct/status | ||
| 52 | rm -f $lockfile | ||
| 53 | fi | ||
| 54 | return $retval | ||
| 55 | } | ||
| 56 | |||
| 57 | restart() { | ||
| 58 | stop | ||
| 59 | start | ||
| 60 | } | ||
| 61 | |||
| 62 | oct_status() { | ||
| 63 | status $proc | ||
| 64 | retval=$? | ||
| 65 | if [ -e /var/run/openct/status ] ; then | ||
| 66 | $exec $OPENCT_OPTIONS status | ||
| 67 | [ -e /var/run/openct/status ] && \ | ||
| 68 | echo $"Waiting for reader attach/detach events..." | ||
| 69 | fi | ||
| 70 | return $retval | ||
| 71 | } | ||
| 72 | |||
| 73 | case "$1" in | ||
| 74 | start|stop|restart) | ||
| 75 | $1 | ||
| 76 | ;; | ||
| 77 | reload|force-reload) | ||
| 78 | restart | ||
| 79 | ;; | ||
| 80 | status) | ||
| 81 | oct_status | ||
| 82 | ;; | ||
| 83 | try-restart|condrestart) | ||
| 84 | [ ! -f $lockfile ] || restart | ||
| 85 | ;; | ||
| 86 | *) | ||
| 87 | echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}" | ||
| 88 | exit 2 | ||
| 89 | esac | ||
diff --git a/meta-oe/recipes-support/openct/openct/openct.service b/meta-oe/recipes-support/openct/openct/openct.service deleted file mode 100644 index 57de8c0a88..0000000000 --- a/meta-oe/recipes-support/openct/openct/openct.service +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | [Unit] | ||
| 2 | Description=Openct Middleware framework for smart card terminals | ||
| 3 | After=syslog.target network.target | ||
| 4 | |||
| 5 | [Service] | ||
| 6 | EnvironmentFile=-/etc/sysconfig/openct | ||
| 7 | ExecStart=/usr/sbin/openct-control $OPENCT_OPTIONS init | ||
| 8 | ExecStop=/usr/sbin/openct-control $OPENCT_OPTIONS shutdown | ||
| 9 | RemainAfterExit=yes | ||
| 10 | KillMode=mixed | ||
| 11 | |||
| 12 | [Install] | ||
| 13 | WantedBy=multi-user.target | ||
diff --git a/meta-oe/recipes-support/openct/openct/openct.sysconfig b/meta-oe/recipes-support/openct/openct/openct.sysconfig deleted file mode 100644 index ffc270790f..0000000000 --- a/meta-oe/recipes-support/openct/openct/openct.sysconfig +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | # -*- sh -*- | ||
| 2 | # Extra options to pass to openct-control. | ||
| 3 | # Consult "/usr/sbin/openct-control -h" for available options. | ||
| 4 | # | ||
| 5 | OPENCT_OPTIONS="" | ||
diff --git a/meta-oe/recipes-support/openct/openct_0.6.20.bb b/meta-oe/recipes-support/openct/openct_0.6.20.bb deleted file mode 100644 index c7b0d0d56d..0000000000 --- a/meta-oe/recipes-support/openct/openct_0.6.20.bb +++ /dev/null | |||
| @@ -1,91 +0,0 @@ | |||
| 1 | SUMMARY = "Middleware framework for smart card terminals" | ||
| 2 | HOMEPAGE = "https://github.com/OpenSC/openct/wiki" | ||
| 3 | DESCRIPTION = " \ | ||
| 4 | OpenCT implements drivers for several smart card readers. \ | ||
| 5 | It comes as driver in ifdhandler format for PC/SC-Lite, \ | ||
| 6 | as CT-API driver, or as a small and lean middleware, \ | ||
| 7 | so applications can use it with minimal overhead. \ | ||
| 8 | OpenCT also has a primitive mechanism to export smart card \ | ||
| 9 | readers to remote machines via TCP/IP." | ||
| 10 | |||
| 11 | DEPENDS += "libtool pcsc-lite libusb-compat" | ||
| 12 | |||
| 13 | SRC_URI = " \ | ||
| 14 | https://downloads.sourceforge.net/project/opensc/${BPN}/${BPN}-${PV}.tar.gz \ | ||
| 15 | file://etc-openct.udev.in-disablePROGRAM.patch \ | ||
| 16 | file://etc-openct_usb.in-modify-UDEVINFO.patch \ | ||
| 17 | file://0001-m4-Just-emit-the-first-line-of-compiler-version.patch \ | ||
| 18 | file://openct.init \ | ||
| 19 | file://openct.sysconfig \ | ||
| 20 | file://openct.service \ | ||
| 21 | file://0001-Fix-incompatible-pointer-type-error-with-gcc-option.patch \ | ||
| 22 | " | ||
| 23 | |||
| 24 | SRC_URI[sha256sum] = "6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d181a68" | ||
| 25 | |||
| 26 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/opensc/files/openct/" | ||
| 27 | |||
| 28 | LICENSE = "LGPL-2.0-or-later" | ||
| 29 | LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1" | ||
| 30 | |||
| 31 | inherit systemd | ||
| 32 | SYSTEMD_SERVICE:${PN} += "openct.service " | ||
| 33 | SYSTEMD_AUTO_ENABLE = "enable" | ||
| 34 | |||
| 35 | EXTRA_OECONF = " \ | ||
| 36 | --disable-static \ | ||
| 37 | --enable-usb \ | ||
| 38 | --enable-pcsc \ | ||
| 39 | --enable-doc \ | ||
| 40 | --enable-api-doc \ | ||
| 41 | --with-udev=${nonarch_libdir}/udev \ | ||
| 42 | --with-bundle=${libdir}/pcsc/drivers \ | ||
| 43 | " | ||
| 44 | |||
| 45 | inherit autotools pkgconfig | ||
| 46 | |||
| 47 | FILES:${PN} += " \ | ||
| 48 | ${libdir}/ctapi \ | ||
| 49 | ${nonarch_libdir}/udev \ | ||
| 50 | ${libdir}/openct-ifd.so \ | ||
| 51 | ${libdir}/pcsc \ | ||
| 52 | " | ||
| 53 | |||
| 54 | FILES:${PN}-dbg += " \ | ||
| 55 | ${libdir}/ctapi/.debug \ | ||
| 56 | ${libdir}/pcsc/drivers/openct-ifd.bundle/Contents/Linux/.debug \ | ||
| 57 | " | ||
| 58 | |||
| 59 | INSANE_SKIP:${PN} += "dev-deps" | ||
| 60 | |||
| 61 | do_install[cleandirs] += "${D}" | ||
| 62 | |||
| 63 | do_install () { | ||
| 64 | install -d ${D}${sysconfdir} | ||
| 65 | # fix up hardcoded paths | ||
| 66 | sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \ | ||
| 67 | ${UNPACKDIR}/openct.service ${UNPACKDIR}/openct.init | ||
| 68 | |||
| 69 | oe_runmake install DESTDIR=${D} | ||
| 70 | install -dm 755 ${D}${libdir}/ctapi/ | ||
| 71 | mv ${D}${libdir}/libopenctapi.so ${D}${libdir}/ctapi/ | ||
| 72 | install -Dpm 644 etc/openct.udev ${D}${nonarch_libdir}/udev/rules.d/60-openct.rules | ||
| 73 | install -pm 644 etc/openct.conf ${D}${sysconfdir}/openct.conf | ||
| 74 | |||
| 75 | install -Dpm 755 ${UNPACKDIR}/openct.init ${D}${sysconfdir}/init.d/openct | ||
| 76 | install -Dpm 644 ${UNPACKDIR}/openct.sysconfig ${D}${sysconfdir}/sysconfig/openct | ||
| 77 | |||
| 78 | install -d ${D}${systemd_unitdir}/system | ||
| 79 | install -m 644 ${UNPACKDIR}/openct.service ${D}${systemd_unitdir}/system | ||
| 80 | |||
| 81 | so=$(find ${D} -name \*.so | sed "s|^${D}||") | ||
| 82 | sed -i -e 's|\\(LIBPATH\\s*\\).*|\\1$so|' etc/reader.conf | ||
| 83 | install -Dpm 644 etc/reader.conf ${D}${sysconfdir}/reader.conf.d/openct.conf | ||
| 84 | } | ||
| 85 | |||
| 86 | BBCLASSEXTEND = "native" | ||
| 87 | |||
| 88 | # http://errors.yoctoproject.org/Errors/Details/766890/ | ||
| 89 | # openct-0.6.20/src/ifd/ifdhandler.c:239:52: error: passing argument 2 of 'ifd_get_eventfd' from incompatible pointer type [-Wincompatible-pointer-types] | ||
| 90 | # openct-0.6.20/src/ifd/process.c:461:61: error: passing argument 4 of 'ct_tlv_get_opaque' from incompatible pointer type [-Wincompatible-pointer-types] | ||
| 91 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
diff --git a/meta-oe/recipes-support/opensc/opensc_0.27.1.bb b/meta-oe/recipes-support/opensc/opensc_0.27.1.bb index 91e738e0a0..d659fd1bee 100644 --- a/meta-oe/recipes-support/opensc/opensc_0.27.1.bb +++ b/meta-oe/recipes-support/opensc/opensc_0.27.1.bb | |||
| @@ -36,6 +36,7 @@ PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline" | |||
| 36 | FILES:${PN} += "\ | 36 | FILES:${PN} += "\ |
| 37 | ${libdir}/opensc-pkcs11.so \ | 37 | ${libdir}/opensc-pkcs11.so \ |
| 38 | ${libdir}/pkcs11-spy.so \ | 38 | ${libdir}/pkcs11-spy.so \ |
| 39 | ${datadir}/p11-kit/modules/opensc.module \ | ||
| 39 | " | 40 | " |
| 40 | FILES:${PN}-dev += "\ | 41 | FILES:${PN}-dev += "\ |
| 41 | ${libdir}/onepin-opensc-pkcs11.so \ | 42 | ${libdir}/onepin-opensc-pkcs11.so \ |
diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.14.14.bb b/meta-oe/recipes-support/pidgin/pidgin_2.14.14.bb index 85c521df87..af44864fa9 100644 --- a/meta-oe/recipes-support/pidgin/pidgin_2.14.14.bb +++ b/meta-oe/recipes-support/pidgin/pidgin_2.14.14.bb | |||
| @@ -50,6 +50,7 @@ EXTRA_OECONF = " \ | |||
| 50 | --disable-farstream \ | 50 | --disable-farstream \ |
| 51 | --disable-vv \ | 51 | --disable-vv \ |
| 52 | " | 52 | " |
| 53 | CACHED_CONFIGUREVARS += "ac_cv_prog_cc_c23=no" | ||
| 53 | 54 | ||
| 54 | # CONFIG_ARGS is used to display build info. Replace full paths by reproducible | 55 | # CONFIG_ARGS is used to display build info. Replace full paths by reproducible |
| 55 | # variables ($S, $WORKDIR) | 56 | # variables ($S, $WORKDIR) |
diff --git a/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch b/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch new file mode 100644 index 0000000000..293321bfa8 --- /dev/null +++ b/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | From dce2cc2886a9097971856e69737cc5c05c9239ea Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Peter Marko <peter.marko@siemens.com> | ||
| 3 | Date: Wed, 8 Apr 2026 10:54:25 +0200 | ||
| 4 | Subject: [PATCH] quill: use soft rdtsc fallback on 32-bit PowerPC | ||
| 5 | |||
| 6 | Quill's rdtsc helper already avoids __rdtsc() on ARM and PPC64, but | ||
| 7 | 32-bit PowerPC was not included in that guard. On powerpc targets this | ||
| 8 | falls through to the x86-specific intrinsic and fails with: | ||
| 9 | |||
| 10 | error: '__rdtsc' was not declared in this scope | ||
| 11 | |||
| 12 | Treat common 32-bit PowerPC compiler define the same way as PPC64 and | ||
| 13 | use the existing steady_clock-based fallback. | ||
| 14 | |||
| 15 | Upstream-Status: Submitted [https://github.com/odygrd/quill/pull/911] | ||
| 16 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
| 17 | --- | ||
| 18 | dependencies/quill/include/quill/core/Rdtsc.h | 2 +- | ||
| 19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 20 | |||
| 21 | diff --git a/dependencies/quill/include/quill/core/Rdtsc.h b/dependencies/quill/include/quill/core/Rdtsc.h | ||
| 22 | index 3d0ae9f26..67f26cb89 100644 | ||
| 23 | --- a/dependencies/quill/include/quill/core/Rdtsc.h | ||
| 24 | +++ b/dependencies/quill/include/quill/core/Rdtsc.h | ||
| 25 | @@ -95,7 +95,7 @@ QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept | ||
| 26 | __asm__ volatile("stck %0" : "=Q"(tsc) : : "cc"); | ||
| 27 | return tsc; | ||
| 28 | } | ||
| 29 | -#elif (defined(_M_ARM) || defined(_M_ARM64) || defined(__PPC64__)) | ||
| 30 | +#elif (defined(_M_ARM) || defined(_M_ARM64) || defined(__PPC64__) || defined(__PPC__)) | ||
| 31 | QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept | ||
| 32 | { | ||
| 33 | // soft failover | ||
| 34 | -- | ||
| 35 | 2.47.2 | ||
diff --git a/meta-oe/recipes-support/poco/poco_1.15.1.bb b/meta-oe/recipes-support/poco/poco_1.15.2.bb index 7dd87606ef..5a873a1d85 100644 --- a/meta-oe/recipes-support/poco/poco_1.15.1.bb +++ b/meta-oe/recipes-support/poco/poco_1.15.2.bb | |||
| @@ -11,9 +11,10 @@ DEPENDS = "libpcre2 utf8proc zlib" | |||
| 11 | SRC_URI = "git://github.com/pocoproject/poco.git;branch=poco-${PV};protocol=https;tag=poco-${PV}-release \ | 11 | SRC_URI = "git://github.com/pocoproject/poco.git;branch=poco-${PV};protocol=https;tag=poco-${PV}-release \ |
| 12 | file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \ | 12 | file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \ |
| 13 | file://0002-DataTest-disable-testSQLChannel-test.patch \ | 13 | file://0002-DataTest-disable-testSQLChannel-test.patch \ |
| 14 | file://0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch \ | ||
| 14 | file://run-ptest \ | 15 | file://run-ptest \ |
| 15 | " | 16 | " |
| 16 | SRCREV = "a1aacbba1bda4301db01bb1a2c2ab80677756b90" | 17 | SRCREV = "afbb1ab68f29eec7079e2fdfa04b3efdbec6529d" |
| 17 | 18 | ||
| 18 | UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)" | 19 | UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)" |
| 19 | 20 | ||
| @@ -23,7 +24,7 @@ inherit cmake ptest | |||
| 23 | # By default the most commonly used poco components are built | 24 | # By default the most commonly used poco components are built |
| 24 | # Foundation is built anyway and doesn't need to be listed explicitly | 25 | # Foundation is built anyway and doesn't need to be listed explicitly |
| 25 | # these don't have dependencies outside oe-core | 26 | # these don't have dependencies outside oe-core |
| 26 | PACKAGECONFIG ??= "XML JSON PDF Util Net NetSSL Crypto JWT Data DataPostgreSQL DataSQLite DNSSDAvahi Zip Encodings Prometheus" | 27 | PACKAGECONFIG ??= "XML JSON PDF Util Net NetSSL Crypto JWT Data DataPostgreSQL DataSQLite DNSSDAvahi Zip Encodings Prometheus FastLogger" |
| 27 | # MongoDB does not build for all architectures yet keep in sync with COMPATIBLE_HOST list in mongodb recipe | 28 | # MongoDB does not build for all architectures yet keep in sync with COMPATIBLE_HOST list in mongodb recipe |
| 28 | # and mongodb needs meta-python enabled as well | 29 | # and mongodb needs meta-python enabled as well |
| 29 | PACKAGECONFIG:remove:riscv32 = "MongoDB" | 30 | PACKAGECONFIG:remove:riscv32 = "MongoDB" |
| @@ -48,6 +49,7 @@ PACKAGECONFIG[DNSSDAvahi] = "-DENABLE_DNSSD=ON -DENABLE_DNSSD_AVAHI=ON,-DENABLE_ | |||
| 48 | PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF" | 49 | PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF" |
| 49 | PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF" | 50 | PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF" |
| 50 | PACKAGECONFIG[Prometheus] = "-DENABLE_PROMETHEUS=ON,-DENABLE_PROMETHEUS=OFF" | 51 | PACKAGECONFIG[Prometheus] = "-DENABLE_PROMETHEUS=ON,-DENABLE_PROMETHEUS=OFF" |
| 52 | PACKAGECONFIG[FastLogger] = "-DENABLE_FASTLOGGER=ON,-DENABLE_FASTLOGGER=OFF" | ||
| 51 | 53 | ||
| 52 | # Additional components not build by default, | 54 | # Additional components not build by default, |
| 53 | # they might have dependencies not included in oe-core | 55 | # they might have dependencies not included in oe-core |
| @@ -74,11 +76,6 @@ EXTRA_OECMAKE:append:class-native = " -DPOCO_UNBUNDLED=OFF" | |||
| 74 | # do not use rpath | 76 | # do not use rpath |
| 75 | EXTRA_OECMAKE:append = " -DCMAKE_SKIP_RPATH=ON" | 77 | EXTRA_OECMAKE:append = " -DCMAKE_SKIP_RPATH=ON" |
| 76 | 78 | ||
| 77 | LDFLAGS:append:riscv32 = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" | ||
| 78 | LDFLAGS:append:mips = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" | ||
| 79 | LDFLAGS:append:powerpc = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" | ||
| 80 | LDFLAGS:append:x86 = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" | ||
| 81 | |||
| 82 | python populate_packages:prepend () { | 79 | python populate_packages:prepend () { |
| 83 | poco_libdir = d.expand('${libdir}') | 80 | poco_libdir = d.expand('${libdir}') |
| 84 | pn = d.getVar("PN") | 81 | pn = d.getVar("PN") |
diff --git a/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd/0001-Fix-const-correctness-for-pointer-variables-to-refer.patch b/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd/0001-Fix-const-correctness-for-pointer-variables-to-refer.patch new file mode 100644 index 0000000000..190baff606 --- /dev/null +++ b/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd/0001-Fix-const-correctness-for-pointer-variables-to-refer.patch | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | From 515e23b37ad1400bfb73797771c4f0fd78655328 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 3 | Date: Wed, 15 Apr 2026 10:52:05 -0700 | ||
| 4 | Subject: [PATCH] Fix const-correctness for pointer variables to referred | ||
| 5 | strings | ||
| 6 | |||
| 7 | Mark pointer variables 'e' as 'const char *' in | ||
| 8 | config_parse_netlog_remote_address,file_in_same_dir, and | ||
| 9 | socket_address_parse, since they point to memory they do not | ||
| 10 | own or modify. | ||
| 11 | |||
| 12 | Upstream-Status: Submitted [https://github.com/systemd/systemd-netlogd/pull/148] | ||
| 13 | Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> | ||
| 14 | --- | ||
| 15 | src/netlog/netlog-conf.c | 2 +- | ||
| 16 | src/share/path-util.c | 3 ++- | ||
| 17 | src/share/socket-util.c | 3 ++- | ||
| 18 | 3 files changed, 5 insertions(+), 3 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/src/netlog/netlog-conf.c b/src/netlog/netlog-conf.c | ||
| 21 | index a4cf0da..59bdd23 100644 | ||
| 22 | --- a/src/netlog/netlog-conf.c | ||
| 23 | +++ b/src/netlog/netlog-conf.c | ||
| 24 | @@ -22,7 +22,7 @@ int config_parse_netlog_remote_address(const char *unit, | ||
| 25 | void *data, | ||
| 26 | void *userdata) { | ||
| 27 | Manager *m = userdata; | ||
| 28 | - char *e; | ||
| 29 | + const char *e; | ||
| 30 | int r; | ||
| 31 | |||
| 32 | assert(filename); | ||
| 33 | diff --git a/src/share/path-util.c b/src/share/path-util.c | ||
| 34 | index dda7ec6..ad6f24a 100644 | ||
| 35 | --- a/src/share/path-util.c | ||
| 36 | +++ b/src/share/path-util.c | ||
| 37 | @@ -327,7 +327,8 @@ bool path_is_safe(const char *p) { | ||
| 38 | } | ||
| 39 | |||
| 40 | char *file_in_same_dir(const char *path, const char *filename) { | ||
| 41 | - char *e, *ret; | ||
| 42 | + const char *e; | ||
| 43 | + char *ret; | ||
| 44 | size_t k; | ||
| 45 | |||
| 46 | assert(path); | ||
| 47 | diff --git a/src/share/socket-util.c b/src/share/socket-util.c | ||
| 48 | index ae33338..5a6284b 100644 | ||
| 49 | --- a/src/share/socket-util.c | ||
| 50 | +++ b/src/share/socket-util.c | ||
| 51 | @@ -33,7 +33,8 @@ | ||
| 52 | #include "util.h" | ||
| 53 | |||
| 54 | int socket_address_parse(SocketAddress *a, const char *s) { | ||
| 55 | - char *e, *n; | ||
| 56 | + const char *e; | ||
| 57 | + char *n; | ||
| 58 | unsigned u; | ||
| 59 | int r; | ||
| 60 | |||
diff --git a/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.4.bb b/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.5.bb index 019098fdf7..c52940ec70 100644 --- a/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.4.bb +++ b/meta-oe/recipes-support/systemd-netlogd/systemd-netlogd_1.4.5.bb | |||
| @@ -3,8 +3,10 @@ SUMMARY = "Forwards messages from the journal to other hosts over the network us | |||
| 3 | LICENSE = "LGPL-2.1-or-later" | 3 | LICENSE = "LGPL-2.1-or-later" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" | 4 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" |
| 5 | 5 | ||
| 6 | SRC_URI = "git://github.com/systemd/systemd-netlogd.git;protocol=https;branch=main" | 6 | SRC_URI = "git://github.com/systemd/systemd-netlogd.git;protocol=https;branch=main;tag=v${PV} \ |
| 7 | SRCREV = "b03cc3b1a75048c7cf19467d8918a4b7320767e6" | 7 | file://0001-Fix-const-correctness-for-pointer-variables-to-refer.patch \ |
| 8 | " | ||
| 9 | SRCREV = "20534091417686d1185acb3f29e93944d8663c4b" | ||
| 8 | 10 | ||
| 9 | inherit meson systemd pkgconfig useradd features_check | 11 | inherit meson systemd pkgconfig useradd features_check |
| 10 | 12 | ||
diff --git a/meta-oe/recipes-support/tbb/files/run-ptest b/meta-oe/recipes-support/tbb/files/run-ptest new file mode 100755 index 0000000000..da46c68550 --- /dev/null +++ b/meta-oe/recipes-support/tbb/files/run-ptest | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | ctest | sed -u 's/\*\*\*/ /g' | awk '/Test +#/{gsub(/Passed/,"PASS"); gsub(/Failed/,"FAIL"); gsub(/Skipped/,"SKIP"); print $6": "$4; fflush();}' | ||
diff --git a/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb b/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb index 01115e7e4d..187c2061e5 100644 --- a/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb +++ b/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb | |||
| @@ -15,19 +15,23 @@ PE = "1" | |||
| 15 | BRANCH = "onetbb_2022" | 15 | BRANCH = "onetbb_2022" |
| 16 | SRCREV = "f1862f38f83568d96e814e469ab61f88336cc595" | 16 | SRCREV = "f1862f38f83568d96e814e469ab61f88336cc595" |
| 17 | SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ | 17 | SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \ |
| 18 | file://run-ptest \ | ||
| 18 | " | 19 | " |
| 19 | 20 | ||
| 21 | LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}" | ||
| 20 | 22 | ||
| 21 | inherit cmake pkgconfig | 23 | inherit cmake pkgconfig ptest |
| 22 | 24 | ||
| 23 | # test build fails, error: 'mallinfo mallinfo()' is deprecated | 25 | # test build fails, error: 'mallinfo mallinfo()' is deprecated |
| 24 | EXTRA_OECMAKE += " \ | 26 | EXTRA_OECMAKE += " \ |
| 25 | -DTBB_TEST=OFF \ | 27 | -DTBB_TEST=${@bb.utils.contains('PTEST_ENABLED', '1', 'ON', 'OFF', d)} \ |
| 26 | -DCMAKE_BUILD_TYPE=Release \ | 28 | -DCMAKE_BUILD_TYPE=Release \ |
| 27 | -DTBB_STRICT=OFF \ | 29 | -DTBB_STRICT=OFF \ |
| 28 | -DTBB_DISABLE_HWLOC_AUTOMATIC_SEARCH=OFF \ | 30 | -DTBB_DISABLE_HWLOC_AUTOMATIC_SEARCH=OFF \ |
| 29 | " | 31 | " |
| 30 | 32 | ||
| 33 | RDEPENDS:${PN}-ptest += "cmake" | ||
| 34 | |||
| 31 | # Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension (ignoring target-abi) | 35 | # Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension (ignoring target-abi) |
| 32 | # 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 | 36 | # 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 |
| 33 | # 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 | 37 | # 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 |
| @@ -59,5 +63,16 @@ do_install:append:class-target() { | |||
| 59 | sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/TBB/TBBTargets.cmake | 63 | sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/TBB/TBBTargets.cmake |
| 60 | } | 64 | } |
| 61 | 65 | ||
| 66 | do_install_ptest() { | ||
| 67 | install -d ${D}${PTEST_PATH} | ||
| 68 | install ${B}/test/CTestTestfile.cmake ${D}${PTEST_PATH}/ | ||
| 69 | cp -rf ${B}/gnu* ${D}${PTEST_PATH} | ||
| 70 | rm -rf ${D}${PTEST_PATH}/gnu*/libtbb* | ||
| 71 | rm -rf ${D}${PTEST_PATH}/gnu*/*.sh | ||
| 72 | sed -i -e s#${S}#${PTEST_PATH}#g \ | ||
| 73 | -e s#${B}#${PTEST_PATH}#g \ | ||
| 74 | ${D}${PTEST_PATH}/CTestTestfile.cmake | ||
| 75 | } | ||
| 76 | |||
| 62 | 77 | ||
| 63 | BBCLASSEXTEND = "native nativesdk" | 78 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta-oe/recipes-support/upower/upower_1.91.1.bb b/meta-oe/recipes-support/upower/upower_1.91.2.bb index d4107a959a..d6505974e9 100644 --- a/meta-oe/recipes-support/upower/upower_1.91.1.bb +++ b/meta-oe/recipes-support/upower/upower_1.91.2.bb | |||
| @@ -13,7 +13,7 @@ DEPENDS = " \ | |||
| 13 | " | 13 | " |
| 14 | 14 | ||
| 15 | SRC_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/archive/v${PV}/${BPN}-v${PV}.tar.bz2" | 15 | SRC_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/archive/v${PV}/${BPN}-v${PV}.tar.bz2" |
| 16 | SRC_URI[sha256sum] = "d568638d670a63a1886335b7b136f4888cb38a3b28f3f4bcdeaffcca0b0f6df8" | 16 | SRC_URI[sha256sum] = "f07f19b78a43a5053973d95a2fe96a12ede270b8db232b2e2c4ac4186fb42539" |
| 17 | S = "${UNPACKDIR}/${BPN}-v${PV}" | 17 | S = "${UNPACKDIR}/${BPN}-v${PV}" |
| 18 | 18 | ||
| 19 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/tags" | 19 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/${BPN}/${BPN}/-/tags" |
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.5.bb b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.6.bb index e6007a6667..c3f736568f 100644 --- a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.5.bb +++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.6.bb | |||
| @@ -22,7 +22,7 @@ SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \ | |||
| 22 | file://fix-ftbfs-riscv64.patch \ | 22 | file://fix-ftbfs-riscv64.patch \ |
| 23 | file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \ | 23 | file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \ |
| 24 | " | 24 | " |
| 25 | SRC_URI[sha256sum] = "8737631bac3e9c7ad3e5208f9370e076c09d9c45b39980021ce54edadcc6f94f" | 25 | SRC_URI[sha256sum] = "2b281abf8894ffc6172152e5660b75eeeedbe1cc43d6783d09dc79f7c865bb42" |
| 26 | 26 | ||
| 27 | inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen | 27 | inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen |
| 28 | 28 | ||
| @@ -31,7 +31,7 @@ S = "${UNPACKDIR}/webkitgtk-${PV}" | |||
| 31 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | 31 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |
| 32 | REQUIRED_DISTRO_FEATURES = "opengl" | 32 | REQUIRED_DISTRO_FEATURES = "opengl" |
| 33 | 33 | ||
| 34 | CVE_PRODUCT = "webkitgtk webkitgtk\+" | 34 | CVE_PRODUCT = "webkitgtk webkitgtk+" |
| 35 | 35 | ||
| 36 | DEPENDS += " \ | 36 | DEPENDS += " \ |
| 37 | ruby-native \ | 37 | ruby-native \ |
diff --git a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy/99f9b9f68664166badfdfaa7e69efcedf750f1e3.patch b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy/99f9b9f68664166badfdfaa7e69efcedf750f1e3.patch deleted file mode 100644 index 5ae21b5989..0000000000 --- a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy/99f9b9f68664166badfdfaa7e69efcedf750f1e3.patch +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | From 99f9b9f68664166badfdfaa7e69efcedf750f1e3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Brahmajit Das <listout@listout.xyz> | ||
| 3 | Date: Wed, 4 Mar 2026 06:27:54 +0530 | ||
| 4 | Subject: [PATCH] dbus-proxy: fix build with glibc >= 2.43 | ||
| 5 | |||
| 6 | memchr() returns const void * when passed const input, but the result | ||
| 7 | was assigned to guchar *. This triggers | ||
| 8 | -Wincompatible-pointer-types-discards-qualifiers when building with | ||
| 9 | clang and -Werror. | ||
| 10 | |||
| 11 | Make the pointer const to preserve const correctness. | ||
| 12 | |||
| 13 | Closes: https://github.com/flatpak/xdg-dbus-proxy/issues/70 | ||
| 14 | Signed-off-by: Brahmajit Das <listout@listout.xyz> | ||
| 15 | |||
| 16 | Upstream-Status: Backport [https://github.com/flatpak/xdg-dbus-proxy/commit/99f9b9f68664166badfdfaa7e69efcedf750f1e3] | ||
| 17 | --- | ||
| 18 | dbus-proxy.c | 2 +- | ||
| 19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 20 | |||
| 21 | diff --git a/dbus-proxy.c b/dbus-proxy.c | ||
| 22 | index 53d5c01..b32df34 100644 | ||
| 23 | --- a/dbus-proxy.c | ||
| 24 | +++ b/dbus-proxy.c | ||
| 25 | @@ -133,7 +133,7 @@ add_args (GBytes *bytes, | ||
| 26 | { | ||
| 27 | gsize data_len, remainder_len; | ||
| 28 | const guchar *data = g_bytes_get_data (bytes, &data_len); | ||
| 29 | - guchar *s; | ||
| 30 | + const guchar *s; | ||
| 31 | const guchar *remainder; | ||
| 32 | |||
| 33 | remainder = data; | ||
diff --git a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.6.bb b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.7.bb index 617d29bd84..a8e0a651ad 100644 --- a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.6.bb +++ b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.7.bb | |||
| @@ -12,12 +12,13 @@ DEPENDS = " \ | |||
| 12 | inherit meson pkgconfig ptest-gnome | 12 | inherit meson pkgconfig ptest-gnome |
| 13 | 13 | ||
| 14 | SRC_URI = " \ | 14 | SRC_URI = " \ |
| 15 | git://github.com/flatpak/xdg-dbus-proxy.git;protocol=https;branch=main \ | 15 | git://github.com/flatpak/xdg-dbus-proxy.git;protocol=https;branch=main;tag=${PV} \ |
| 16 | file://99f9b9f68664166badfdfaa7e69efcedf750f1e3.patch \ | ||
| 17 | file://run-ptest \ | 16 | file://run-ptest \ |
| 18 | " | 17 | " |
| 19 | 18 | ||
| 20 | SRCREV = "1c1989e56f94b9eb3b7567f8a6e8a0aa16cba496" | 19 | SRCREV = "6a170fa77e3cbecb48f9dd2478fe5c0a119eb467" |
| 20 | |||
| 21 | CVE_STATUS[CVE-2026-34080] = "fixed-version: fixed in 0.1.7" | ||
| 21 | 22 | ||
| 22 | PACKAGECONFIG = "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" | 23 | PACKAGECONFIG = "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" |
| 23 | PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false" | 24 | PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false" |
diff --git a/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.20.3.bb b/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.20.4.bb index e0aca558fd..bb48b59dd8 100644 --- a/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.20.3.bb +++ b/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.20.4.bb | |||
| @@ -27,11 +27,17 @@ RDEPENDS:${PN} = "bubblewrap rtkit ${PORTAL_BACKENDS} fuse3-utils" | |||
| 27 | inherit meson pkgconfig python3native features_check | 27 | inherit meson pkgconfig python3native features_check |
| 28 | 28 | ||
| 29 | SRC_URI = " \ | 29 | SRC_URI = " \ |
| 30 | git://github.com/flatpak/xdg-desktop-portal.git;protocol=https;branch=xdg-desktop-portal-1.20 \ | 30 | git://github.com/flatpak/xdg-desktop-portal.git;protocol=https;branch=xdg-desktop-portal-1.20;name=main;tag=${PV} \ |
| 31 | git://gitlab.gnome.org/GNOME/libglnx.git;protocol=https;branch=master;name=libglnx;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/subprojects/libglnx \ | ||
| 31 | file://0001-meson.build-add-a-hack-for-crosscompile.patch \ | 32 | file://0001-meson.build-add-a-hack-for-crosscompile.patch \ |
| 32 | " | 33 | " |
| 33 | 34 | ||
| 34 | SRCREV = "23a76c392170dbbd26230f85ef56c3a57e52b857" | 35 | SRCREV_main = "f5aec228c9eb0c9a70eadd6424d92c0ca8a78247" |
| 36 | |||
| 37 | # this revision comes from subprojects/libglnx.wrap file of the main source repo | ||
| 38 | SRCREV_libglnx = "ccea836b799256420788c463a638ded0636b1632" | ||
| 39 | |||
| 40 | SRCREV_FORMAT = "main" | ||
| 35 | 41 | ||
| 36 | FILES:${PN} += "${libdir}/systemd ${datadir}/dbus-1" | 42 | FILES:${PN} += "${libdir}/systemd ${datadir}/dbus-1" |
| 37 | 43 | ||
| @@ -47,3 +53,5 @@ do_write_config:append() { | |||
| 47 | bwrap = '${bindir}/bwrap' | 53 | bwrap = '${bindir}/bwrap' |
| 48 | EOF | 54 | EOF |
| 49 | } | 55 | } |
| 56 | |||
| 57 | CVE_STATUS[CVE-2026-40354] = "fixed-version: fixed in 1.20.4" | ||
diff --git a/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.19.bb b/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.20.bb index 2550d4cd59..3d122981ca 100644 --- a/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.19.bb +++ b/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.20.bb | |||
| @@ -3,11 +3,11 @@ LICENSE = "GPL-2.0-only" | |||
| 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | 3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" |
| 4 | 4 | ||
| 5 | SRC_URI = "http://user-dirs.freedesktop.org/releases/${BPN}-${PV}.tar.xz" | 5 | SRC_URI = "http://user-dirs.freedesktop.org/releases/${BPN}-${PV}.tar.xz" |
| 6 | SRC_URI[sha256sum] = "e92deb929c10d4b29329397af8a2585101247f7e6177ac6f1d28e82130ed8c19" | 6 | SRC_URI[sha256sum] = "b8e34286278f4fef3e1bfe9685c395ccc0eb50c14d3a2fb4953dd00fbfd3af39" |
| 7 | 7 | ||
| 8 | inherit autotools gettext pkgconfig | 8 | inherit meson gettext pkgconfig |
| 9 | 9 | ||
| 10 | EXTRA_OECONF = "--disable-documentation" | 10 | EXTRA_OEMESON = "-Ddocs=false" |
| 11 | 11 | ||
| 12 | CONFFILES:${PN} += " \ | 12 | CONFFILES:${PN} += " \ |
| 13 | ${sysconfdir}/xdg/user-dirs.conf \ | 13 | ${sysconfdir}/xdg/user-dirs.conf \ |
diff --git a/meta-oe/recipes-support/xrdp/xrdp_0.10.5.bb b/meta-oe/recipes-support/xrdp/xrdp_0.10.6.bb index 8d7c5807f2..152b37cb37 100644 --- a/meta-oe/recipes-support/xrdp/xrdp_0.10.5.bb +++ b/meta-oe/recipes-support/xrdp/xrdp_0.10.6.bb | |||
| @@ -17,7 +17,7 @@ SRC_URI = "https://github.com/neutrinolabs/${BPN}/releases/download/v${PV}/${BPN | |||
| 17 | file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \ | 17 | file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \ |
| 18 | file://0001-mark-count-with-unused-attribute.patch \ | 18 | file://0001-mark-count-with-unused-attribute.patch \ |
| 19 | " | 19 | " |
| 20 | SRC_URI[sha256sum] = "9abc96d164de4b1c40e2f3f537d0593d052a640cf3388978c133715ea69fb123" | 20 | SRC_URI[sha256sum] = "dfc21d5d603b642cf583987b36706b685bf05fd3aaaaacefb8f57c5f4a448677" |
| 21 | 21 | ||
| 22 | UPSTREAM_CHECK_URI = "https://github.com/neutrinolabs/xrdp/releases" | 22 | UPSTREAM_CHECK_URI = "https://github.com/neutrinolabs/xrdp/releases" |
| 23 | UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)" | 23 | UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)" |
| @@ -127,3 +127,12 @@ pkg_postinst:${PN}() { | |||
| 127 | fi | 127 | fi |
| 128 | fi | 128 | fi |
| 129 | } | 129 | } |
| 130 | |||
| 131 | CVE_STATUS[CVE-2026-32105] = "fixed-version: fixed in 0.10.6" | ||
| 132 | CVE_STATUS[CVE-2026-32107] = "fixed-version: fixed in 0.10.6" | ||
| 133 | CVE_STATUS[CVE-2026-32623] = "fixed-version: fixed in 0.10.6" | ||
| 134 | CVE_STATUS[CVE-2026-32624] = "fixed-version: fixed in 0.10.6" | ||
| 135 | CVE_STATUS[CVE-2026-33145] = "fixed-version: fixed in 0.10.6" | ||
| 136 | CVE_STATUS[CVE-2026-33516] = "fixed-version: fixed in 0.10.6" | ||
| 137 | CVE_STATUS[CVE-2026-33689] = "fixed-version: fixed in 0.10.6" | ||
| 138 | CVE_STATUS[CVE-2026-35512] = "fixed-version: fixed in 0.10.6" | ||
diff --git a/meta-oe/recipes-test/catch2/catch2_3.13.0.bb b/meta-oe/recipes-test/catch2/catch2_3.14.0.bb index c5d85ba302..2aba52e7ae 100644 --- a/meta-oe/recipes-test/catch2/catch2_3.13.0.bb +++ b/meta-oe/recipes-test/catch2/catch2_3.14.0.bb | |||
| @@ -5,7 +5,7 @@ LICENSE = "BSL-1.0" | |||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" | 5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c" |
| 6 | 6 | ||
| 7 | SRC_URI = "git://github.com/catchorg/Catch2.git;branch=devel;protocol=https;tag=v${PV}" | 7 | SRC_URI = "git://github.com/catchorg/Catch2.git;branch=devel;protocol=https;tag=v${PV}" |
| 8 | SRCREV = "29c9844f688acb27c87338c39cd186ebfe41aa19" | 8 | SRCREV = "b670de4fe12ac7c5e858b7de3a14fb4bd18c760e" |
| 9 | 9 | ||
| 10 | 10 | ||
| 11 | inherit cmake python3native | 11 | inherit cmake python3native |
