summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-gnome/recipes-gnome/libtimezonemap/files/0001-configure.ac-correct-the-version.patch29
-rw-r--r--meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb3
-rw-r--r--meta-initramfs/recipes-devtools/dracut/dracut_106.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/aom/aom_3.12.1.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.4.bb (renamed from meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.3.bb)2
-rw-r--r--meta-networking/classes/waf-samba.bbclass4
-rw-r--r--meta-networking/recipes-connectivity/wolfssl/files/0001-wolfssl-wolfcrypt-logging.h-and-wolfcrypt-src-loggin.patch791
-rw-r--r--meta-networking/recipes-connectivity/wolfssl/files/run-ptest6
-rw-r--r--meta-networking/recipes-connectivity/wolfssl/wolfssl_5.8.0.bb (renamed from meta-networking/recipes-connectivity/wolfssl/wolfssl_5.7.2.bb)7
-rw-r--r--meta-oe/classes/check-version-mismatch.bbclass3
-rw-r--r--meta-oe/classes/discoverable-disk-image.bbclass132
-rw-r--r--meta-oe/classes/signing.bbclass158
-rw-r--r--meta-oe/classes/sysext-image.bbclass76
-rw-r--r--meta-oe/conf/version-check.conf6
-rw-r--r--meta-oe/recipes-core/systemd/systemd-repart-native_257.6.bb59
-rw-r--r--meta-oe/recipes-devtools/mpich/mpich_4.3.0.bb4
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb6
-rw-r--r--meta-oe/recipes-extended/icewm/icewm_3.7.4.bb4
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.8/0001-hiredis-use-default-CC-if-it-is-set.patch (renamed from meta-oe/recipes-extended/redis/redis-7.2.7/0001-hiredis-use-default-CC-if-it-is-set.patch)0
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.8/0002-lua-update-Makefile-to-use-environment-build-setting.patch (renamed from meta-oe/recipes-extended/redis/redis-7.2.7/0002-lua-update-Makefile-to-use-environment-build-setting.patch)0
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.8/0003-hack-to-force-use-of-libc-malloc.patch (renamed from meta-oe/recipes-extended/redis/redis-7.2.7/0003-hack-to-force-use-of-libc-malloc.patch)0
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.8/0004-src-Do-not-reset-FINAL_LIBS.patch (renamed from meta-oe/recipes-extended/redis/redis-7.2.7/0004-src-Do-not-reset-FINAL_LIBS.patch)0
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.8/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch (renamed from meta-oe/recipes-extended/redis/redis-7.2.7/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch)0
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.8/0006-Define-correct-gregs-for-RISCV32.patch (renamed from meta-oe/recipes-extended/redis/redis-7.2.7/0006-Define-correct-gregs-for-RISCV32.patch)0
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.8/init-redis-server (renamed from meta-oe/recipes-extended/redis/redis-7.2.7/init-redis-server)0
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.8/redis.conf (renamed from meta-oe/recipes-extended/redis/redis-7.2.7/redis.conf)0
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.8/redis.service (renamed from meta-oe/recipes-extended/redis/redis-7.2.7/redis.service)0
-rw-r--r--meta-oe/recipes-extended/redis/redis_7.2.8.bb (renamed from meta-oe/recipes-extended/redis/redis_7.2.7.bb)2
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz_12.2.1.bb6
-rw-r--r--meta-oe/recipes-support/bvi/bvi_1.4.2.bb4
-rw-r--r--meta-oe/recipes-support/espeak/espeak_1.48.04.bb4
-rw-r--r--meta-oe/recipes-support/hdf5/hdf5_1.14.4-3.bb4
-rw-r--r--meta-oe/recipes-support/libserialmodule/libserialmodule_1.0.8.bb (renamed from meta-oe/recipes-support/libserialmodule/libserialmodule_1.0.7.bb)2
-rw-r--r--meta-oe/recipes-support/uim/uim_1.9.0.bb12
-rw-r--r--meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb4
-rw-r--r--meta-python/recipes-devtools/python/python3-charset-normalizer/0001-pyproject.toml-Relax-version-for-mypy.patch25
-rw-r--r--meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.2.bb (renamed from meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.1.bb)3
-rw-r--r--meta-python/recipes-devtools/python/python3-libevdev_0.12.bb (renamed from meta-python/recipes-devtools/python/python3-libevdev_0.11.bb)2
-rw-r--r--meta-python/recipes-devtools/python/python3-portion_2.6.1.bb (renamed from meta-python/recipes-devtools/python/python3-portion_2.6.0.bb)4
-rw-r--r--meta-python/recipes-devtools/python/python3-typer_0.16.0.bb (renamed from meta-python/recipes-devtools/python/python3-typer_0.15.4.bb)4
40 files changed, 1268 insertions, 101 deletions
diff --git a/meta-gnome/recipes-gnome/libtimezonemap/files/0001-configure.ac-correct-the-version.patch b/meta-gnome/recipes-gnome/libtimezonemap/files/0001-configure.ac-correct-the-version.patch
new file mode 100644
index 0000000000..0538bc3e5c
--- /dev/null
+++ b/meta-gnome/recipes-gnome/libtimezonemap/files/0001-configure.ac-correct-the-version.patch
@@ -0,0 +1,29 @@
1From 915bc44d9f243075d084238c72089a346036388c Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Thu, 29 May 2025 10:08:21 +0800
4Subject: [PATCH] configure.ac: correct the version
5
6The source is here:
7https://salsa.debian.org/cinnamon-team/libtimezonemap
8
9Upstream-Status: Pending [ register account rejected ]
10
11Signed-off-by: Changqing Li <changqing.li@windriver.com>
12---
13 configure.ac | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/configure.ac b/configure.ac
17index 3f74dae..24eb0e5 100644
18--- a/configure.ac
19+++ b/configure.ac
20@@ -1,5 +1,5 @@
21 AC_INIT([libtimezonemap],
22- [0.4.4],
23+ [0.4.6],
24 [http://bugs.launchpad.net/libtimezonemap],
25 [libtimezonemap],
26 [http://launchpad.net/libtimezonemap])
27--
282.34.1
29
diff --git a/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb
index bafe7af040..3f37890e8d 100644
--- a/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb
+++ b/meta-gnome/recipes-gnome/libtimezonemap/libtimezonemap_0.4.6.bb
@@ -4,7 +4,8 @@ SECTION = "devel/lib"
4LICENSE = "GPL-3.0-only" 4LICENSE = "GPL-3.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" 5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6 6
7SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz;downloadfilename=${BP}.tar.gz" 7SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz;downloadfilename=${BP}.tar.gz \
8 file://0001-configure.ac-correct-the-version.patch"
8SRC_URI[sha256sum] = "0d634cc2476d8f57d1ee1864bd4f442180ae4bf040a9ae4bf73b66bbd85d7195" 9SRC_URI[sha256sum] = "0d634cc2476d8f57d1ee1864bd4f442180ae4bf040a9ae4bf73b66bbd85d7195"
9 10
10DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native" 11DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native"
diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_106.bb b/meta-initramfs/recipes-devtools/dracut/dracut_106.bb
index b70ee4baeb..871119521f 100644
--- a/meta-initramfs/recipes-devtools/dracut/dracut_106.bb
+++ b/meta-initramfs/recipes-devtools/dracut/dracut_106.bb
@@ -35,7 +35,7 @@ EXTRA_OECONF = "--prefix=${prefix} \
35PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" 35PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
36PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd" 36PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd"
37 37
38EXTRA_OEMAKE += 'libdir=${nonarch_libdir} LDLIBS="${LDLIBS}" enable_test=no' 38EXTRA_OEMAKE += 'libdir=${nonarch_libdir} LDLIBS="${LDLIBS}" enable_test=no DRACUT_FULL_VERSION=${PV}'
39 39
40CFLAGS:append = " -fPIC" 40CFLAGS:append = " -fPIC"
41LDLIBS:append:libc-musl = " -lfts" 41LDLIBS:append:libc-musl = " -lfts"
diff --git a/meta-multimedia/recipes-multimedia/aom/aom_3.12.1.bb b/meta-multimedia/recipes-multimedia/aom/aom_3.12.1.bb
index 681ebb4d3d..94e3f4f14f 100644
--- a/meta-multimedia/recipes-multimedia/aom/aom_3.12.1.bb
+++ b/meta-multimedia/recipes-multimedia/aom/aom_3.12.1.bb
@@ -21,6 +21,7 @@ EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \
21CMAKE_VERBOSE = "VERBOSE=1" 21CMAKE_VERBOSE = "VERBOSE=1"
22CFLAGS:append:libc-musl = " -D_GNU_SOURCE" 22CFLAGS:append:libc-musl = " -D_GNU_SOURCE"
23EXTRA_OECMAKE:append:arm = " -DENABLE_NEON=OFF" 23EXTRA_OECMAKE:append:arm = " -DENABLE_NEON=OFF"
24EXTRA_OECMAKE:append:riscv32 = " -DENABLE_RVV=OFF"
24 25
25do_generate_toolchain_file:append() { 26do_generate_toolchain_file:append() {
26 echo "set(AOM_AS_FLAGS --debug-prefix-map ${S}=${TARGET_DBGSRC_DIR})" >> ${WORKDIR}/toolchain.cmake 27 echo "set(AOM_AS_FLAGS --debug-prefix-map ${S}=${TARGET_DBGSRC_DIR})" >> ${WORKDIR}/toolchain.cmake
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.3.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.4.bb
index 5fe8a1c105..5eefb07532 100644
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.3.bb
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.4.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = " \
12 12
13DEPENDS = "dbus ncurses" 13DEPENDS = "dbus ncurses"
14 14
15SRCREV = "331d5e03516a99c56b3064dbbbd639a3ae848d36" 15SRCREV = "3f79bcae5d4415f82907b49221ca05241a7f263c"
16BRANCH = "${@oe.utils.trim_version('${PV}', 2)}" 16BRANCH = "${@oe.utils.trim_version('${PV}', 2)}"
17SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=${BRANCH};protocol=https" 17SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=${BRANCH};protocol=https"
18 18
diff --git a/meta-networking/classes/waf-samba.bbclass b/meta-networking/classes/waf-samba.bbclass
index 49d64b096f..cb78ce6b0d 100644
--- a/meta-networking/classes/waf-samba.bbclass
+++ b/meta-networking/classes/waf-samba.bbclass
@@ -1,7 +1,7 @@
1# waf is a build system which is used by samba related project. 1# waf is a build system which is used by samba related project.
2# Obtain details from https://wiki.samba.org/index.php/Waf 2# Obtain details from https://wiki.samba.org/index.php/Waf
3# 3#
4inherit python3native 4inherit qemu python3native
5 5
6DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python3" 6DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python3"
7 7
@@ -77,7 +77,7 @@ do_configure() {
77 echo 'Checking uname release type: "${OLDEST_KERNEL}"' >> ${CROSS_ANSWERS} 77 echo 'Checking uname release type: "${OLDEST_KERNEL}"' >> ${CROSS_ANSWERS}
78 cat ${WAF_CROSS_ANSWERS_PATH}/cross-answers-${TARGET_ARCH}.txt >> ${CROSS_ANSWERS} 78 cat ${WAF_CROSS_ANSWERS_PATH}/cross-answers-${TARGET_ARCH}.txt >> ${CROSS_ANSWERS}
79 79
80 qemu_binary="${@oe.qemu.qemu_target_binary(d)}" 80 qemu_binary="${@qemu_target_binary(d)}"
81 if [ "${qemu_binary}" = "qemu-allarch" ]; then 81 if [ "${qemu_binary}" = "qemu-allarch" ]; then
82 qemu_binary="qemuwrapper" 82 qemu_binary="qemuwrapper"
83 fi 83 fi
diff --git a/meta-networking/recipes-connectivity/wolfssl/files/0001-wolfssl-wolfcrypt-logging.h-and-wolfcrypt-src-loggin.patch b/meta-networking/recipes-connectivity/wolfssl/files/0001-wolfssl-wolfcrypt-logging.h-and-wolfcrypt-src-loggin.patch
new file mode 100644
index 0000000000..f4f149c7e8
--- /dev/null
+++ b/meta-networking/recipes-connectivity/wolfssl/files/0001-wolfssl-wolfcrypt-logging.h-and-wolfcrypt-src-loggin.patch
@@ -0,0 +1,791 @@
1From 04975ac158e6d33875c2855f74792efb2258bb93 Mon Sep 17 00:00:00 2001
2From: Daniel Pouzzner <douzzer@wolfssl.com>
3Date: Tue, 13 May 2025 20:30:48 -0500
4Subject: [PATCH] wolfssl/wolfcrypt/logging.h and wolfcrypt/src/logging.c: add
5 WOLFSSL_DEBUG_PRINTF() macro adapted from wolfssl_log(), refactor
6 wolfssl_log() to use it, and move printf setup includes/prototypes from
7 logging.c to logging.h;
8
9src/ssl_load.c: add source_name arg and WOLFSSL_DEBUG_CERTIFICATE_LOADS clauses
10 to ProcessBuffer() and ProcessChainBuffer(), and pass reasonable values from
11 callers;
12
13remove expired "Baltimore CyberTrust Root" from certs/external/ca_collection.pem
14 and certs/external/baltimore-cybertrust-root.pem.
15
16Upstream-Status: Backport [https://github.com/wolfSSL/wolfssl/commit/55460a52619626f614e86d528b9a60445562eb34]
17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18---
19 certs/external/baltimore-cybertrust-root.pem | 21 ---
20 certs/external/ca_collection.pem | 77 ----------
21 src/ssl_load.c | 111 +++++++++++----
22 wolfcrypt/src/error.c | 4 +-
23 wolfcrypt/src/logging.c | 142 ++-----------------
24 wolfssl/internal.h | 3 +-
25 wolfssl/wolfcrypt/logging.h | 93 +++++++++++-
26 7 files changed, 190 insertions(+), 261 deletions(-)
27 delete mode 100644 certs/external/baltimore-cybertrust-root.pem
28
29diff --git a/certs/external/baltimore-cybertrust-root.pem b/certs/external/baltimore-cybertrust-root.pem
30deleted file mode 100644
31index 519028c63..000000000
32--- a/certs/external/baltimore-cybertrust-root.pem
33+++ /dev/null
34@@ -1,21 +0,0 @@
35------BEGIN CERTIFICATE-----
36-MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
37-RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
38-VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
39-DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
40-ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
41-VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
42-mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
43-IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
44-mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
45-XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
46-dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
47-jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
48-BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
49-DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
50-9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
51-jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
52-Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
53-ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
54-R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
55------END CERTIFICATE-----
56diff --git a/certs/external/ca_collection.pem b/certs/external/ca_collection.pem
57index ddfdf9cee..c76d6c605 100644
58--- a/certs/external/ca_collection.pem
59+++ b/certs/external/ca_collection.pem
60@@ -1,80 +1,3 @@
61-Certificate:
62- Data:
63- Version: 3 (0x2)
64- Serial Number: 33554617 (0x20000b9)
65- Signature Algorithm: sha1WithRSAEncryption
66- Issuer: C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore CyberTrust Root
67- Validity
68- Not Before: May 12 18:46:00 2000 GMT
69- Not After : May 12 23:59:00 2025 GMT
70- Subject: C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore CyberTrust Root
71- Subject Public Key Info:
72- Public Key Algorithm: rsaEncryption
73- RSA Public-Key: (2048 bit)
74- Modulus:
75- 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79:
76- d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a:
77- 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2:
78- 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01:
79- 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7:
80- 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6:
81- 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c:
82- a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70:
83- 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77:
84- d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae:
85- 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18:
86- 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85:
87- ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9:
88- 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5:
89- c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a:
90- ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0:
91- 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27:
92- 1a:39
93- Exponent: 65537 (0x10001)
94- X509v3 extensions:
95- X509v3 Subject Key Identifier:
96- E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0
97- X509v3 Basic Constraints: critical
98- CA:TRUE, pathlen:3
99- X509v3 Key Usage: critical
100- Certificate Sign, CRL Sign
101- Signature Algorithm: sha1WithRSAEncryption
102- 85:0c:5d:8e:e4:6f:51:68:42:05:a0:dd:bb:4f:27:25:84:03:
103- bd:f7:64:fd:2d:d7:30:e3:a4:10:17:eb:da:29:29:b6:79:3f:
104- 76:f6:19:13:23:b8:10:0a:f9:58:a4:d4:61:70:bd:04:61:6a:
105- 12:8a:17:d5:0a:bd:c5:bc:30:7c:d6:e9:0c:25:8d:86:40:4f:
106- ec:cc:a3:7e:38:c6:37:11:4f:ed:dd:68:31:8e:4c:d2:b3:01:
107- 74:ee:be:75:5e:07:48:1a:7f:70:ff:16:5c:84:c0:79:85:b8:
108- 05:fd:7f:be:65:11:a3:0f:c0:02:b4:f8:52:37:39:04:d5:a9:
109- 31:7a:18:bf:a0:2a:f4:12:99:f7:a3:45:82:e3:3c:5e:f5:9d:
110- 9e:b5:c8:9e:7c:2e:c8:a4:9e:4e:08:14:4b:6d:fd:70:6d:6b:
111- 1a:63:bd:64:e6:1f:b7:ce:f0:f2:9f:2e:bb:1b:b7:f2:50:88:
112- 73:92:c2:e2:e3:16:8d:9a:32:02:ab:8e:18:dd:e9:10:11:ee:
113- 7e:35:ab:90:af:3e:30:94:7a:d0:33:3d:a7:65:0f:f5:fc:8e:
114- 9e:62:cf:47:44:2c:01:5d:bb:1d:b5:32:d2:47:d2:38:2e:d0:
115- fe:81:dc:32:6a:1e:b5:ee:3c:d5:fc:e7:81:1d:19:c3:24:42:
116- ea:63:39:a9
117------BEGIN CERTIFICATE-----
118-MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
119-RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
120-VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
121-DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
122-ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
123-VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
124-mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
125-IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
126-mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
127-XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
128-dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
129-jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
130-BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
131-DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
132-9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
133-jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
134-Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
135-ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
136-R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
137------END CERTIFICATE-----
138 Certificate:
139 Data:
140 Version: 3 (0x2)
141diff --git a/src/ssl_load.c b/src/ssl_load.c
142index 24c8af1be..d803b4093 100644
143--- a/src/ssl_load.c
144+++ b/src/ssl_load.c
145@@ -2352,11 +2352,13 @@ static int ProcessBufferResetSuites(WOLFSSL_CTX* ctx, WOLFSSL* ssl, int type)
146 * @param [out] used Number of bytes consumed.
147 * @param [in[ userChain Whether this certificate is for user's chain.
148 * @param [in] verify How to verify certificate.
149+ * @param [in] source_name Associated filename or other source ID.
150 * @return 1 on success.
151 * @return Less than 1 on failure.
152 */
153 int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff, long sz,
154- int format, int type, WOLFSSL* ssl, long* used, int userChain, int verify)
155+ int format, int type, WOLFSSL* ssl, long* used, int userChain, int verify,
156+ const char *source_name)
157 {
158 DerBuffer* der = NULL;
159 int ret = 0;
160@@ -2367,6 +2369,11 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff, long sz,
161 EncryptedInfo info[1];
162 #endif
163 int algId = 0;
164+#ifdef WOLFSSL_DEBUG_CERTIFICATE_LOADS
165+ long usedAtStart = used ? *used : 0L;
166+#else
167+ (void)source_name;
168+#endif
169
170 WOLFSSL_ENTER("ProcessBuffer");
171
172@@ -2444,6 +2451,22 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff, long sz,
173 CLEAR_ASN_NO_PEM_HEADER_ERROR(pemErr);
174 ret = 0;
175 }
176+#ifdef WOLFSSL_DEBUG_CERTIFICATE_LOADS
177+ if (ret < 0) {
178+#ifdef NO_ERROR_STRINGS
179+ WOLFSSL_DEBUG_PRINTF(
180+ "ERROR: ProcessUserChain: certificate from %s at offset %ld"
181+ " rejected with code %d\n",
182+ source_name, usedAtStart, ret);
183+#else
184+ WOLFSSL_DEBUG_PRINTF(
185+ "ERROR: ProcessUserChain: certificate from %s at offset %ld"
186+ " rejected with code %d: %s\n",
187+ source_name, usedAtStart, ret,
188+ wolfSSL_ERR_reason_error_string(ret));
189+#endif
190+ }
191+#endif /* WOLFSSL_DEBUG_CERTIFICATE_LOADS */
192 }
193
194 #ifdef WOLFSSL_SMALL_STACK
195@@ -2455,6 +2478,22 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff, long sz,
196 /* Process the different types of certificates. */
197 ret = ProcessBufferCertTypes(ctx, ssl, buff, sz, der, format, type,
198 verify);
199+#ifdef WOLFSSL_DEBUG_CERTIFICATE_LOADS
200+ if (ret < 0) {
201+#ifdef NO_ERROR_STRINGS
202+ WOLFSSL_DEBUG_PRINTF(
203+ "ERROR: ProcessBufferCertTypes: certificate from %s at"
204+ " offset %ld rejected with code %d\n",
205+ source_name, usedAtStart, ret);
206+#else
207+ WOLFSSL_DEBUG_PRINTF(
208+ "ERROR: ProcessBufferCertTypes: certificate from %s at"
209+ " offset %ld rejected with code %d: %s\n",
210+ source_name, usedAtStart, ret,
211+ wolfSSL_ERR_reason_error_string(ret));
212+#endif
213+ }
214+#endif /* WOLFSSL_DEBUG_CERTIFICATE_LOADS */
215 }
216 else {
217 FreeDer(&der);
218@@ -2515,12 +2554,14 @@ static int ProcessChainBufferCRL(WOLFSSL_CTX* ctx, const unsigned char* buff,
219 * @param [in] sz Size of data in buffer.
220 * @param [in] type Type of data.
221 * @param [in] verify How to verify certificate.
222+ * @param [in] source_name Associated filename or other source ID.
223 * @return 1 on success.
224 * @return 0 on failure.
225 * @return MEMORY_E when dynamic memory allocation fails.
226 */
227 static int ProcessChainBuffer(WOLFSSL_CTX* ctx, WOLFSSL* ssl,
228- const unsigned char* buff, long sz, int type, int verify)
229+ const unsigned char* buff, long sz, int type, int verify,
230+ const char *source_name)
231 {
232 int ret = 0;
233 long used = 0;
234@@ -2529,11 +2570,11 @@ static int ProcessChainBuffer(WOLFSSL_CTX* ctx, WOLFSSL* ssl,
235 WOLFSSL_MSG("Processing CA PEM file");
236 /* Keep processing file while no errors and data to parse. */
237 while ((ret >= 0) && (used < sz)) {
238- long consumed = 0;
239+ long consumed = used;
240
241 /* Process the buffer. */
242 ret = ProcessBuffer(ctx, buff + used, sz - used, WOLFSSL_FILETYPE_PEM,
243- type, ssl, &consumed, 0, verify);
244+ type, ssl, &consumed, 0, verify, source_name);
245 /* Memory allocation failure is fatal. */
246 if (ret == WC_NO_ERR_TRACE(MEMORY_E)) {
247 gotOne = 0;
248@@ -2665,6 +2706,12 @@ int ProcessFile(WOLFSSL_CTX* ctx, const char* fname, int format, int type,
249 {
250 /* Not a header that we support. */
251 WOLFSSL_MSG("Failed to detect certificate type");
252+#ifdef WOLFSSL_DEBUG_CERTIFICATE_LOADS
253+ WOLFSSL_DEBUG_PRINTF(
254+ "ERROR: ProcessFile: Failed to detect certificate type"
255+ " of \"%s\"\n",
256+ fname);
257+#endif
258 ret = WOLFSSL_BAD_CERTTYPE;
259 }
260 }
261@@ -2673,7 +2720,7 @@ int ProcessFile(WOLFSSL_CTX* ctx, const char* fname, int format, int type,
262 if (((type == CA_TYPE) || (type == TRUSTED_PEER_TYPE)) &&
263 (format == WOLFSSL_FILETYPE_PEM)) {
264 ret = ProcessChainBuffer(ctx, ssl, content.buffer, sz, type,
265- verify);
266+ verify, fname);
267 }
268 #ifdef HAVE_CRL
269 else if (type == CRL_TYPE) {
270@@ -2690,18 +2737,18 @@ int ProcessFile(WOLFSSL_CTX* ctx, const char* fname, int format, int type,
271 long consumed = 0;
272
273 ret = ProcessBuffer(ctx, content.buffer, sz, format, type, ssl,
274- &consumed, userChain, verify);
275+ &consumed, userChain, verify, fname);
276 if ((ret == 1) && (consumed < sz)) {
277 ret = ProcessBuffer(ctx, content.buffer + consumed,
278 sz - consumed, format, ALT_PRIVATEKEY_TYPE, ssl, NULL, 0,
279- verify);
280+ verify, fname);
281 }
282 }
283 #endif
284 else {
285 /* Load all other certificate types. */
286 ret = ProcessBuffer(ctx, content.buffer, sz, format, type, ssl,
287- NULL, userChain, verify);
288+ NULL, userChain, verify, fname);
289 }
290 }
291
292@@ -3030,7 +3077,8 @@ static int LoadSystemCaCertsWindows(WOLFSSL_CTX* ctx, byte* loaded)
293 if (ProcessBuffer(ctx, certCtx->pbCertEncoded,
294 certCtx->cbCertEncoded, WOLFSSL_FILETYPE_ASN1,
295 CA_TYPE, NULL, NULL, 0,
296- GET_VERIFY_SETTING_CTX(ctx)) == 1) {
297+ GET_VERIFY_SETTING_CTX(ctx),
298+ storeNames[i]) == 1) {
299 /*
300 * Set "loaded" as long as we've loaded one CA
301 * cert.
302@@ -3105,7 +3153,8 @@ static int LoadSystemCaCertsMac(WOLFSSL_CTX* ctx, byte* loaded)
303 if (ProcessBuffer(ctx, CFDataGetBytePtr(der),
304 CFDataGetLength(der), WOLFSSL_FILETYPE_ASN1,
305 CA_TYPE, NULL, NULL, 0,
306- GET_VERIFY_SETTING_CTX(ctx)) == 1) {
307+ GET_VERIFY_SETTING_CTX(ctx),
308+ "MacOSX trustDomains") == 1) {
309 /*
310 * Set "loaded" as long as we've loaded one CA
311 * cert.
312@@ -3644,7 +3693,8 @@ int wolfSSL_use_certificate(WOLFSSL* ssl, WOLFSSL_X509* x509)
313 /* Get DER encoded certificate data from X509 object. */
314 ret = ProcessBuffer(NULL, x509->derCert->buffer, x509->derCert->length,
315 WOLFSSL_FILETYPE_ASN1, CERT_TYPE, ssl, &idx, 0,
316- GET_VERIFY_SETTING_SSL(ssl));
317+ GET_VERIFY_SETTING_SSL(ssl),
318+ "x509 buffer");
319 }
320
321 /* Return 1 on success or 0 on failure. */
322@@ -3676,7 +3726,8 @@ int wolfSSL_use_certificate_ASN1(WOLFSSL* ssl, const unsigned char* der,
323 long idx = 0;
324
325 ret = ProcessBuffer(NULL, der, derSz, WOLFSSL_FILETYPE_ASN1, CERT_TYPE,
326- ssl, &idx, 0, GET_VERIFY_SETTING_SSL(ssl));
327+ ssl, &idx, 0, GET_VERIFY_SETTING_SSL(ssl),
328+ "asn1 buffer");
329 }
330
331 /* Return 1 on success or 0 on failure. */
332@@ -3884,12 +3935,13 @@ int wolfSSL_CTX_load_verify_buffer_ex(WOLFSSL_CTX* ctx, const unsigned char* in,
333
334 /* When PEM, treat as certificate chain of CA certificates. */
335 if (format == WOLFSSL_FILETYPE_PEM) {
336- ret = ProcessChainBuffer(ctx, NULL, in, sz, CA_TYPE, verify);
337+ ret = ProcessChainBuffer(ctx, NULL, in, sz, CA_TYPE, verify,
338+ "PEM buffer");
339 }
340 /* When DER, load the CA certificate. */
341 else {
342 ret = ProcessBuffer(ctx, in, sz, format, CA_TYPE, NULL, NULL,
343- userChain, verify);
344+ userChain, verify, "buffer");
345 }
346 #if defined(WOLFSSL_TRUST_PEER_CERT) && defined(OPENSSL_COMPATIBLE_DEFAULTS)
347 if (ret == 1) {
348@@ -3973,12 +4025,12 @@ int wolfSSL_CTX_trust_peer_buffer(WOLFSSL_CTX* ctx, const unsigned char* in,
349 /* When PEM, treat as certificate chain of trusted peer certificates. */
350 if (format == WOLFSSL_FILETYPE_PEM) {
351 ret = ProcessChainBuffer(ctx, NULL, in, sz, TRUSTED_PEER_TYPE,
352- verify);
353+ verify, "peer");
354 }
355 /* When DER, load the trusted peer certificate. */
356 else {
357 ret = ProcessBuffer(ctx, in, sz, format, TRUSTED_PEER_TYPE, NULL,
358- NULL, 0, verify);
359+ NULL, 0, verify, "peer");
360 }
361 }
362
363@@ -4004,7 +4056,7 @@ int wolfSSL_CTX_use_certificate_buffer(WOLFSSL_CTX* ctx,
364
365 WOLFSSL_ENTER("wolfSSL_CTX_use_certificate_buffer");
366 ret = ProcessBuffer(ctx, in, sz, format, CERT_TYPE, NULL, NULL, 0,
367- GET_VERIFY_SETTING_CTX(ctx));
368+ GET_VERIFY_SETTING_CTX(ctx), "buffer");
369 WOLFSSL_LEAVE("wolfSSL_CTX_use_certificate_buffer", ret);
370
371 return ret;
372@@ -4030,7 +4082,7 @@ int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX* ctx, const unsigned char* in,
373 WOLFSSL_ENTER("wolfSSL_CTX_use_PrivateKey_buffer");
374
375 ret = ProcessBuffer(ctx, in, sz, format, PRIVATEKEY_TYPE, NULL, &consumed,
376- 0, GET_VERIFY_SETTING_CTX(ctx));
377+ 0, GET_VERIFY_SETTING_CTX(ctx), "key buffer");
378 #ifdef WOLFSSL_DUAL_ALG_CERTS
379 if ((ret == 1) && (consumed < sz)) {
380 /* When support for dual algorithm certificates is enabled, the
381@@ -4038,7 +4090,8 @@ int wolfSSL_CTX_use_PrivateKey_buffer(WOLFSSL_CTX* ctx, const unsigned char* in,
382 * private key. Hence, we have to parse both of them.
383 */
384 ret = ProcessBuffer(ctx, in + consumed, sz - consumed, format,
385- ALT_PRIVATEKEY_TYPE, NULL, NULL, 0, GET_VERIFY_SETTING_CTX(ctx));
386+ ALT_PRIVATEKEY_TYPE, NULL, NULL, 0, GET_VERIFY_SETTING_CTX(ctx),
387+ "key buffer");
388 }
389 #endif
390
391@@ -4056,7 +4109,7 @@ int wolfSSL_CTX_use_AltPrivateKey_buffer(WOLFSSL_CTX* ctx,
392
393 WOLFSSL_ENTER("wolfSSL_CTX_use_AltPrivateKey_buffer");
394 ret = ProcessBuffer(ctx, in, sz, format, ALT_PRIVATEKEY_TYPE, NULL,
395- NULL, 0, GET_VERIFY_SETTING_CTX(ctx));
396+ NULL, 0, GET_VERIFY_SETTING_CTX(ctx), "alt key buffer");
397 WOLFSSL_LEAVE("wolfSSL_CTX_use_AltPrivateKey_buffer", ret);
398
399 return ret;
400@@ -4271,7 +4324,8 @@ static int wolfSSL_CTX_use_certificate_ex(WOLFSSL_CTX* ctx,
401 }
402
403 ret = ProcessBuffer(ctx, certData, certDataLen, certFormat,
404- CERT_TYPE, NULL, NULL, 0, GET_VERIFY_SETTING_CTX(ctx));
405+ CERT_TYPE, NULL, NULL, 0, GET_VERIFY_SETTING_CTX(ctx),
406+ label ? label : "cert buffer");
407
408 exit:
409 XFREE(certData, ctx->heap, DYNAMIC_TYPE_CERT);
410@@ -4333,7 +4387,7 @@ int wolfSSL_CTX_use_certificate_chain_buffer_format(WOLFSSL_CTX* ctx,
411 {
412 WOLFSSL_ENTER("wolfSSL_CTX_use_certificate_chain_buffer_format");
413 return ProcessBuffer(ctx, in, sz, format, CERT_TYPE, NULL, NULL, 1,
414- GET_VERIFY_SETTING_CTX(ctx));
415+ GET_VERIFY_SETTING_CTX(ctx), "cert chain buffer");
416 }
417
418 /* Load a PEM encoded certificate chain in a buffer into SSL context.
419@@ -4376,7 +4430,7 @@ int wolfSSL_use_certificate_buffer(WOLFSSL* ssl, const unsigned char* in,
420 }
421 else {
422 ret = ProcessBuffer(ssl->ctx, in, sz, format, CERT_TYPE, ssl, NULL, 0,
423- GET_VERIFY_SETTING_SSL(ssl));
424+ GET_VERIFY_SETTING_SSL(ssl), "cert buffer");
425 }
426
427 return ret;
428@@ -4407,7 +4461,7 @@ int wolfSSL_use_PrivateKey_buffer(WOLFSSL* ssl, const unsigned char* in,
429 }
430 else {
431 ret = ProcessBuffer(ssl->ctx, in, sz, format, PRIVATEKEY_TYPE, ssl,
432- &consumed, 0, GET_VERIFY_SETTING_SSL(ssl));
433+ &consumed, 0, GET_VERIFY_SETTING_SSL(ssl), "key buffer");
434 #ifdef WOLFSSL_DUAL_ALG_CERTS
435 if ((ret == 1) && (consumed < sz)) {
436 /* When support for dual algorithm certificates is enabled, the
437@@ -4415,7 +4469,8 @@ int wolfSSL_use_PrivateKey_buffer(WOLFSSL* ssl, const unsigned char* in,
438 * private key. Hence, we have to parse both of them.
439 */
440 ret = ProcessBuffer(ssl->ctx, in + consumed, sz - consumed, format,
441- ALT_PRIVATEKEY_TYPE, ssl, NULL, 0, GET_VERIFY_SETTING_SSL(ssl));
442+ ALT_PRIVATEKEY_TYPE, ssl, NULL, 0, GET_VERIFY_SETTING_SSL(ssl),
443+ "key buffer");
444 }
445 #endif
446 }
447@@ -4431,7 +4486,7 @@ int wolfSSL_use_AltPrivateKey_buffer(WOLFSSL* ssl, const unsigned char* in,
448
449 WOLFSSL_ENTER("wolfSSL_use_AltPrivateKey_buffer");
450 ret = ProcessBuffer(ssl->ctx, in, sz, format, ALT_PRIVATEKEY_TYPE, ssl,
451- NULL, 0, GET_VERIFY_SETTING_SSL(ssl));
452+ NULL, 0, GET_VERIFY_SETTING_SSL(ssl), "alt key buffer");
453 WOLFSSL_LEAVE("wolfSSL_use_AltPrivateKey_buffer", ret);
454
455 return ret;
456@@ -4669,7 +4724,7 @@ int wolfSSL_use_certificate_chain_buffer_format(WOLFSSL* ssl,
457 }
458 else {
459 ret = ProcessBuffer(ssl->ctx, in, sz, format, CERT_TYPE, ssl, NULL, 1,
460- GET_VERIFY_SETTING_SSL(ssl));
461+ GET_VERIFY_SETTING_SSL(ssl), "cert chain buffer");
462 }
463
464 return ret;
465@@ -4826,7 +4881,7 @@ long wolfSSL_CTX_add_extra_chain_cert(WOLFSSL_CTX* ctx, WOLFSSL_X509* x509)
466
467 /* Process buffer makes first certificate the leaf. */
468 ret = ProcessBuffer(ctx, der, derSz, WOLFSSL_FILETYPE_ASN1, CERT_TYPE,
469- NULL, NULL, 1, GET_VERIFY_SETTING_CTX(ctx));
470+ NULL, NULL, 1, GET_VERIFY_SETTING_CTX(ctx), "extra chain buffer");
471 if (ret != 1) {
472 ret = 0;
473 }
474diff --git a/wolfcrypt/src/error.c b/wolfcrypt/src/error.c
475index af5ba36b4..9ec9484d4 100644
476--- a/wolfcrypt/src/error.c
477+++ b/wolfcrypt/src/error.c
478@@ -182,10 +182,10 @@ const char* wc_GetErrorString(int error)
479 return "ASN date error, bad size";
480
481 case ASN_BEFORE_DATE_E :
482- return "ASN date error, current date before";
483+ return "ASN date error, current date is before start of validity";
484
485 case ASN_AFTER_DATE_E :
486- return "ASN date error, current date after";
487+ return "ASN date error, current date is after expiration";
488
489 case ASN_SIG_OID_E :
490 return "ASN signature error, mismatched oid";
491diff --git a/wolfcrypt/src/logging.c b/wolfcrypt/src/logging.c
492index 29b9221df..b80fc3a56 100644
493--- a/wolfcrypt/src/logging.c
494+++ b/wolfcrypt/src/logging.c
495@@ -230,42 +230,6 @@ void WOLFSSL_TIME(int count)
496
497 #ifdef DEBUG_WOLFSSL
498
499-#if defined(ARDUINO)
500- /* see Arduino wolfssl.h for wolfSSL_Arduino_Serial_Print */
501-#elif defined(FREESCALE_MQX) || defined(FREESCALE_KSDK_MQX)
502- /* see wc_port.h for fio.h and nio.h includes */
503-#elif defined(WOLFSSL_SGX)
504- /* Declare sprintf for ocall */
505- int sprintf(char* buf, const char *fmt, ...);
506-#elif defined(WOLFSSL_DEOS)
507-#elif defined(MICRIUM)
508- #if (BSP_SER_COMM_EN == DEF_ENABLED)
509- #include <bsp_ser.h>
510- #endif
511-#elif defined(WOLFSSL_USER_LOG)
512- /* user includes their own headers */
513-#elif defined(WOLFSSL_ESPIDF)
514- #include "esp_types.h"
515- #include "esp_log.h"
516-#elif defined(WOLFSSL_TELIT_M2MB)
517- #include <stdio.h>
518- #include "m2m_log.h"
519-#elif defined(WOLFSSL_ANDROID_DEBUG)
520- #include <android/log.h>
521-#elif defined(WOLFSSL_XILINX)
522- #include "xil_printf.h"
523-#elif defined(WOLFSSL_LINUXKM)
524- /* the requisite linux/kernel.h is included in wc_port.h, with incompatible warnings masked out. */
525-#elif defined(FUSION_RTOS)
526- #include <fclstdio.h>
527- #define fprintf FCL_FPRINTF
528-#else
529- #include <stdio.h> /* for default printf stuff */
530-#endif
531-
532-#if defined(THREADX) && !defined(THREADX_NO_DC_PRINTF)
533- int dc_log_printf(char*, ...);
534-#endif
535
536 #ifdef HAVE_STACK_SIZE_VERBOSE
537 #include <wolfssl/wolfcrypt/mem_track.h>
538@@ -281,106 +245,30 @@ static void wolfssl_log(const int logLevel, const char* const file_name,
539 else {
540 #if defined(WOLFSSL_USER_LOG)
541 WOLFSSL_USER_LOG(logMessage);
542-#elif defined(ARDUINO)
543- wolfSSL_Arduino_Serial_Print(logMessage);
544-#elif defined(WOLFSSL_LOG_PRINTF)
545- if (file_name != NULL)
546- printf("[%s L %d] %s\n", file_name, line_number, logMessage);
547- else
548- printf("%s\n", logMessage);
549-#elif defined(THREADX) && !defined(THREADX_NO_DC_PRINTF)
550- if (file_name != NULL)
551- dc_log_printf("[%s L %d] %s\n", file_name, line_number, logMessage);
552- else
553- dc_log_printf("%s\n", logMessage);
554-#elif defined(WOLFSSL_DEOS)
555- if (file_name != NULL)
556- printf("[%s L %d] %s\r\n", file_name, line_number, logMessage);
557- else
558- printf("%s\r\n", logMessage);
559-#elif defined(MICRIUM)
560- if (file_name != NULL)
561- BSP_Ser_Printf("[%s L %d] %s\r\n",
562- file_name, line_number, logMessage);
563- else
564- BSP_Ser_Printf("%s\r\n", logMessage);
565-#elif defined(WOLFSSL_MDK_ARM)
566- fflush(stdout) ;
567- if (file_name != NULL)
568- printf("[%s L %d] %s\n", file_name, line_number, logMessage);
569- else
570- printf("%s\n", logMessage);
571- fflush(stdout) ;
572-#elif defined(WOLFSSL_UTASKER)
573- fnDebugMsg((char*)logMessage);
574- fnDebugMsg("\r\n");
575-#elif defined(MQX_USE_IO_OLD)
576- if (file_name != NULL)
577- fprintf(_mqxio_stderr, "[%s L %d] %s\n",
578- file_name, line_number, logMessage);
579- else
580- fprintf(_mqxio_stderr, "%s\n", logMessage);
581-#elif defined(WOLFSSL_APACHE_MYNEWT)
582- if (file_name != NULL)
583- LOG_DEBUG(&mynewt_log, LOG_MODULE_DEFAULT, "[%s L %d] %s\n",
584- file_name, line_number, logMessage);
585- else
586- LOG_DEBUG(&mynewt_log, LOG_MODULE_DEFAULT, "%s\n", logMessage);
587-#elif defined(WOLFSSL_ESPIDF)
588- if (file_name != NULL)
589- ESP_LOGI("wolfssl", "[%s L %d] %s",
590- file_name, line_number, logMessage);
591- else
592- ESP_LOGI("wolfssl", "%s", logMessage);
593-#elif defined(WOLFSSL_ZEPHYR)
594- if (file_name != NULL)
595- printk("[%s L %d] %s\n", file_name, line_number, logMessage);
596- else
597- printk("%s\n", logMessage);
598-#elif defined(WOLFSSL_TELIT_M2MB)
599- if (file_name != NULL)
600- M2M_LOG_INFO("[%s L %d] %s\n", file_name, line_number, logMessage);
601- else
602- M2M_LOG_INFO("%s\n", logMessage);
603-#elif defined(WOLFSSL_ANDROID_DEBUG)
604- if (file_name != NULL)
605- __android_log_print(ANDROID_LOG_VERBOSE, "[wolfSSL]", "[%s L %d] %s",
606- file_name, line_number, logMessage);
607- else
608- __android_log_print(ANDROID_LOG_VERBOSE, "[wolfSSL]", "%s",
609- logMessage);
610-#elif defined(WOLFSSL_XILINX)
611- if (file_name != NULL)
612- xil_printf("[%s L %d] %s\r\n", file_name, line_number, logMessage);
613- else
614- xil_printf("%s\r\n", logMessage);
615-#elif defined(WOLFSSL_LINUXKM)
616- if (file_name != NULL)
617- printk("[%s L %d] %s\n", file_name, line_number, logMessage);
618- else
619- printk("%s\n", logMessage);
620-#elif defined(WOLFSSL_RENESAS_RA6M4)
621- if (file_name != NULL)
622- myprintf("[%s L %d] %s\n", file_name, line_number, logMessage);
623- else
624- myprintf("%s\n", logMessage);
625-#elif defined(STACK_SIZE_CHECKPOINT_MSG) && \
626- defined(HAVE_STACK_SIZE_VERBOSE) && defined(HAVE_STACK_SIZE_VERBOSE_LOG)
627- STACK_SIZE_CHECKPOINT_MSG(logMessage);
628-#else
629+#elif defined(WOLFSSL_DEBUG_PRINTF)
630 if (log_prefix != NULL) {
631 if (file_name != NULL)
632- fprintf(stderr, "[%s]: [%s L %d] %s\n",
633+ WOLFSSL_DEBUG_PRINTF("[%s]: [%s L %d] %s\n",
634 log_prefix, file_name, line_number, logMessage);
635 else
636- fprintf(stderr, "[%s]: %s\n", log_prefix, logMessage);
637+ WOLFSSL_DEBUG_PRINTF("[%s]: %s\n", log_prefix, logMessage);
638 } else {
639 if (file_name != NULL)
640- fprintf(stderr, "[%s L %d] %s\n",
641+ WOLFSSL_DEBUG_PRINTF("[%s L %d] %s\n",
642 file_name, line_number, logMessage);
643 else
644- fprintf(stderr, "%s\n", logMessage);
645+ WOLFSSL_DEBUG_PRINTF("%s\n", logMessage);
646 }
647+#elif defined(ARDUINO)
648+ wolfSSL_Arduino_Serial_Print(logMessage);
649+#elif defined(WOLFSSL_UTASKER)
650+ fnDebugMsg((char*)logMessage);
651+ fnDebugMsg("\r\n");
652+#elif defined(STACK_SIZE_CHECKPOINT_MSG) && \
653+ defined(HAVE_STACK_SIZE_VERBOSE) && defined(HAVE_STACK_SIZE_VERBOSE_LOG)
654+ STACK_SIZE_CHECKPOINT_MSG(logMessage);
655+#else
656+ #error No log method defined.
657 #endif
658 }
659 }
660diff --git a/wolfssl/internal.h b/wolfssl/internal.h
661index 9cdbdb697..dd191fb1a 100644
662--- a/wolfssl/internal.h
663+++ b/wolfssl/internal.h
664@@ -6389,7 +6389,8 @@ WOLFSSL_TEST_VIS void wolfSSL_ResourceFree(WOLFSSL* ssl); /* Micrium uses */
665
666 WOLFSSL_LOCAL int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff,
667 long sz, int format, int type, WOLFSSL* ssl,
668- long* used, int userChain, int verify);
669+ long* used, int userChain, int verify,
670+ const char *source_name);
671 WOLFSSL_LOCAL int ProcessFile(WOLFSSL_CTX* ctx, const char* fname, int format,
672 int type, WOLFSSL* ssl, int userChain,
673 WOLFSSL_CRL* crl, int verify);
674diff --git a/wolfssl/wolfcrypt/logging.h b/wolfssl/wolfcrypt/logging.h
675index 49de70147..8b3cf0fd8 100644
676--- a/wolfssl/wolfcrypt/logging.h
677+++ b/wolfssl/wolfcrypt/logging.h
678@@ -89,11 +89,6 @@ enum wc_FuncNum {
679 };
680 #endif
681
682-#if defined(ARDUINO)
683-/* implemented in Arduino wolfssl.h */
684-extern WOLFSSL_API int wolfSSL_Arduino_Serial_Print(const char* const s);
685-#endif /* ARDUINO */
686-
687 typedef void (*wolfSSL_Logging_cb)(const int logLevel,
688 const char *const logMessage);
689
690@@ -157,6 +152,10 @@ WOLFSSL_API void wolfSSL_SetLoggingPrefix(const char* prefix);
691 #define WOLFSSL_TIME(n) WC_DO_NOTHING
692 #endif
693
694+#if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_DEBUG_CERTIFICATE_LOADS)
695+ #define WOLFSSL_DEBUG_CERTIFICATE_LOADS
696+#endif
697+
698 #if defined(DEBUG_WOLFSSL) && !defined(WOLFSSL_DEBUG_ERRORS_ONLY)
699 #if defined(_WIN32)
700 #if defined(INTIME_RTOS)
701@@ -268,6 +267,90 @@ WOLFSSL_API void wolfSSL_SetLoggingPrefix(const char* prefix);
702 extern WOLFSSL_API THREAD_LS_T void *StackSizeCheck_stackOffsetPointer;
703 #endif
704
705+/* Port-specific includes and printf methods: */
706+
707+#if defined(ARDUINO)
708+ /* implemented in Arduino wolfssl.h */
709+ extern WOLFSSL_API int wolfSSL_Arduino_Serial_Print(const char* const s);
710+#elif defined(FREESCALE_MQX) || defined(FREESCALE_KSDK_MQX)
711+ /* see wc_port.h for fio.h and nio.h includes */
712+#elif defined(WOLFSSL_SGX)
713+ /* Declare sprintf for ocall */
714+ int sprintf(char* buf, const char *fmt, ...);
715+#elif defined(WOLFSSL_DEOS)
716+#elif defined(MICRIUM)
717+ #if (BSP_SER_COMM_EN == DEF_ENABLED)
718+ #include <bsp_ser.h>
719+ #endif
720+#elif defined(WOLFSSL_USER_LOG)
721+ /* user includes their own headers */
722+#elif defined(WOLFSSL_ESPIDF)
723+ #include "esp_types.h"
724+ #include "esp_log.h"
725+#elif defined(WOLFSSL_TELIT_M2MB)
726+ #include <stdio.h>
727+ #include "m2m_log.h"
728+#elif defined(WOLFSSL_ANDROID_DEBUG)
729+ #include <android/log.h>
730+#elif defined(WOLFSSL_XILINX)
731+ #include "xil_printf.h"
732+#elif defined(WOLFSSL_LINUXKM)
733+ /* the requisite linux/kernel.h is included in linuxkm_wc_port.h, with
734+ * incompatible warnings masked out.
735+ */
736+#elif defined(FUSION_RTOS)
737+ #include <fclstdio.h>
738+ #define fprintf FCL_FPRINTF
739+#else
740+ #include <stdio.h> /* for default printf stuff */
741+#endif
742+
743+#if defined(THREADX) && !defined(THREADX_NO_DC_PRINTF)
744+ int dc_log_printf(char*, ...);
745+#endif
746+
747+#ifdef WOLFSSL_DEBUG_PRINTF
748+ /* user-supplied definition */
749+#elif defined(ARDUINO)
750+ /* ARDUINO only has print and sprintf, no printf. */
751+#elif defined(WOLFSSL_LOG_PRINTF) || defined(WOLFSSL_DEOS)
752+ #define WOLFSSL_DEBUG_PRINTF(...) printf(__VA_ARGS__)
753+#elif defined(THREADX) && !defined(THREADX_NO_DC_PRINTF)
754+ #define WOLFSSL_DEBUG_PRINTF(...) dc_log_printf(__VA_ARGS__)
755+#elif defined(MICRIUM)
756+ #define WOLFSSL_DEBUG_PRINTF(...) BSP_Ser_Printf(__VA_ARGS__)
757+#elif defined(WOLFSSL_MDK_ARM)
758+ #define WOLFSSL_DEBUG_PRINTF(...) do { \
759+ fflush(stdout); \
760+ printf(__VA_ARGS__); \
761+ fflush(stdout); \
762+ } while (0)
763+#elif defined(WOLFSSL_UTASKER)
764+ /* WOLFSSL_UTASKER only has fnDebugMsg and related primitives, no printf. */
765+#elif defined(MQX_USE_IO_OLD)
766+ #define WOLFSSL_DEBUG_PRINTF(...) fprintf(_mqxio_stderr, __VAR_ARGS)
767+#elif defined(WOLFSSL_APACHE_MYNEWT)
768+ #define WOLFSSL_DEBUG_PRINTF(...) LOG_DEBUG(&mynewt_log, \
769+ LOG_MODULE_DEFAULT, __VA_ARGS__)
770+#elif defined(WOLFSSL_ESPIDF)
771+ #define WOLFSSL_DEBUG_PRINTF(...) ESP_LOGI("wolfssl", __VA_ARGS__)
772+#elif defined(WOLFSSL_ZEPHYR)
773+ #define WOLFSSL_DEBUG_PRINTF(...) printk(__VA_ARGS__)
774+#elif defined(WOLFSSL_TELIT_M2MB)
775+ #define WOLFSSL_DEBUG_PRINTF(...) M2M_LOG_INFO(__VA_ARGS__)
776+#elif defined(WOLFSSL_ANDROID_DEBUG)
777+ #define WOLFSSL_DEBUG_PRINTF(...) __android_log_print(ANDROID_LOG_VERBOSE, \
778+ "[wolfSSL]", __VA_ARGS__)
779+#elif defined(WOLFSSL_XILINX)
780+ #define WOLFSSL_DEBUG_PRINTF(...) xil_printf(__VA_ARGS__)
781+#elif defined(WOLFSSL_LINUXKM)
782+ #define WOLFSSL_DEBUG_PRINTF(...) printk(__VA_ARGS__)
783+#elif defined(WOLFSSL_RENESAS_RA6M4)
784+ #define WOLFSSL_DEBUG_PRINTF(...) myprintf(__VA_ARGS__)
785+#else
786+ #define WOLFSSL_DEBUG_PRINTF(...) fprintf(stderr, __VA_ARGS__)
787+#endif
788+
789 #ifdef __cplusplus
790 }
791 #endif
diff --git a/meta-networking/recipes-connectivity/wolfssl/files/run-ptest b/meta-networking/recipes-connectivity/wolfssl/files/run-ptest
index ff66f4ef6c..fd260d441a 100644
--- a/meta-networking/recipes-connectivity/wolfssl/files/run-ptest
+++ b/meta-networking/recipes-connectivity/wolfssl/files/run-ptest
@@ -8,7 +8,9 @@ echo "Wolfssl ptest logs are stored in ${temp_dir}/${log_file}"
8 8
9./test/unit.test > "$temp_dir/$log_file" 2>&1 9./test/unit.test > "$temp_dir/$log_file" 2>&1
10 10
11echo "Test script returned: $?" 11ret=$?
12
13echo "Test script returned: $ret"
12 14
13MAGIC_SENTENCE=$(grep "unit_test: Success for all configured tests." $temp_dir/$log_file) 15MAGIC_SENTENCE=$(grep "unit_test: Success for all configured tests." $temp_dir/$log_file)
14 16
@@ -21,4 +23,4 @@ else
21fi 23fi
22NUM_FAILS=$(grep -c "Failed" $temp_dir/$log_file) 24NUM_FAILS=$(grep -c "Failed" $temp_dir/$log_file)
23 25
24exit $NUM_FAILS 26exit $ret
diff --git a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.7.2.bb b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.8.0.bb
index b7ff23e719..b420795cee 100644
--- a/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.7.2.bb
+++ b/meta-networking/recipes-connectivity/wolfssl/wolfssl_5.8.0.bb
@@ -14,20 +14,25 @@ RPROVIDES:${PN} = "cyassl"
14 14
15SRC_URI = " \ 15SRC_URI = " \
16 git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master \ 16 git://github.com/wolfSSL/wolfssl.git;protocol=https;branch=master \
17 file://0001-wolfssl-wolfcrypt-logging.h-and-wolfcrypt-src-loggin.patch \
17 file://run-ptest \ 18 file://run-ptest \
18" 19"
19 20
20SRCREV = "00e42151ca061463ba6a95adb2290f678cbca472" 21SRCREV = "b077c81eb635392e694ccedbab8b644297ec0285"
21 22
22S = "${WORKDIR}/git" 23S = "${WORKDIR}/git"
23 24
24inherit autotools ptest 25inherit autotools ptest
25 26
27EXTRA_OECONF += "--enable-certreq --enable-dtls --enable-opensslextra --enable-certext --enable-certgen"
28
26PACKAGECONFIG ?= "reproducible-build" 29PACKAGECONFIG ?= "reproducible-build"
27 30
28PACKAGECONFIG[reproducible-build] = "--enable-reproducible-build,--disable-reproducible-build," 31PACKAGECONFIG[reproducible-build] = "--enable-reproducible-build,--disable-reproducible-build,"
29BBCLASSEXTEND += "native nativesdk" 32BBCLASSEXTEND += "native nativesdk"
30 33
34CFLAGS += '-fPIC -DCERT_REL_PREFIX=\\"./\\"'
35
31RDEPENDS:${PN}-ptest += " bash" 36RDEPENDS:${PN}-ptest += " bash"
32 37
33do_install_ptest() { 38do_install_ptest() {
diff --git a/meta-oe/classes/check-version-mismatch.bbclass b/meta-oe/classes/check-version-mismatch.bbclass
index e83cfec756..f735280d7a 100644
--- a/meta-oe/classes/check-version-mismatch.bbclass
+++ b/meta-oe/classes/check-version-mismatch.bbclass
@@ -1,3 +1,6 @@
1QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS:tune-%s" % d.getVar('TUNE_PKGARCH')) or ""}"
2QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS:tune-${TUNE_PKGARCH}"
3
1ENABLE_VERSION_MISMATCH_CHECK ?= "${@'1' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else '0'}" 4ENABLE_VERSION_MISMATCH_CHECK ?= "${@'1' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else '0'}"
2DEBUG_VERSION_MISMATCH_CHECK ?= "1" 5DEBUG_VERSION_MISMATCH_CHECK ?= "1"
3CHECK_VERSION_PV ?= "" 6CHECK_VERSION_PV ?= ""
diff --git a/meta-oe/classes/discoverable-disk-image.bbclass b/meta-oe/classes/discoverable-disk-image.bbclass
new file mode 100644
index 0000000000..e601bf452f
--- /dev/null
+++ b/meta-oe/classes/discoverable-disk-image.bbclass
@@ -0,0 +1,132 @@
1##
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: MIT
5#
6#
7# Discoverable Disk Image (DDI)
8#
9# "DDIs (Discoverable Disk Images) are self-describing file system
10# images that follow the DPS ( Discoverable Partitions Specification),
11# wrapped in a GPT partition table, that may contain root (or /usr/)
12# filesystems for bootable OS images, system extensions, configuration
13# extensions, portable services, containers and more, and shall be
14# protected by signed dm-verity all combined into one. They are
15# designed to be composable and stackable, and provide security by
16# default."
17# https://uapi-group.org/specifications/specs/discoverable_disk_image/
18# https://uapi-group.org/specifications/specs/discoverable_partitions_specification/
19# https://www.freedesktop.org/software/systemd/man/latest/systemd.image-policy.html
20
21# To be able to use discoverable-disk-images with a
22# root-verity-sig or usr-verity-sig configuration:
23# - systemd needs to include the PACKAGECONFIG 'cryptsetup', and
24# - the kernel needs the following features enabled:
25# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y
26# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_PLATFORM_KEYRING=y
27# CONFIG_EROFS_FS=y
28# CONFIG_EROFS_FS_XATTR=y
29# CONFIG_EROFS_FS_ZIP=y
30# CONFIG_EROFS_FS_ZIP_LZMA=y
31# CONFIG_INTEGRITY_SIGNATURE=y
32# CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
33# CONFIG_INTEGRITY_PLATFORM_KEYRING=y
34# CONFIG_SYSTEM_BLACKLIST_KEYRING=y
35# CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
36# CONFIG_SIGNATURE=y
37
38# To sign DDIs, a key and certificate need to be provided by setting
39# the variables:
40# REPART_PRIVATE_KEY
41# private key so sign the verity-hash
42# REPART_PRIVATE_KEY_SOURCE
43# optional, can be "engine:pkcs11" when using a (soft)hsm
44# REPART_CERTIFICATE
45# corresponding public certificate, in .pem format
46#
47
48# For signature verification, systemd-sysext expects the matching
49# certificate to reside in /etc/verity.d as PEM formated .crt file.
50#
51# To enforce loading of only signed extension images, an appropriate
52# image policy has to be passed to systemd-sysext, e.g.:
53# systemd-sysext --image-policy='root=signed+absent:usr=signed+absent:=unused+absent' merge
54
55# 'systemd-dissect' can be used to inspect, manually mount, ... a DDI.
56
57inherit image
58
59IMAGE_FSTYPES = "ddi"
60
61DEPENDS += " \
62 systemd-repart-native \
63 erofs-utils-native \
64 openssl-native \
65"
66
67# systemd-repart --make-ddi takes one of "sysext", "confext" or "portable",
68# which it then takes and looks up definitions in the host os; which we need
69# to divert to the sysroot-native by setting '--definitions=' instead.
70#
71REPART_DDI_TYPE ?= "sysext"
72
73REPART_DDI_EXTENSION ?= "ddi"
74
75# systemd-repart creates temporary directoryies under /var/tmp/.#repartXXXXXXX/,
76# to estimate partition size etc. Since files are copied there from the image/rootfs
77# folder - which are owned by pseudo-root - this temporary location has to be
78# added to the directories handled by pseudo; otherwise calls to e.g.
79# fchown(0,0) inside systemd git/src/shared/copy.c end up failing.
80PSEUDO_INCLUDE_PATHS .= ",/var/tmp/"
81
82oe_image_systemd_repart_make_ddi() {
83
84 local additional_args=""
85
86 if [ -n "${REPART_PRIVATE_KEY}" ]
87 then
88 if [ -n "${REPART_PRIVATE_KEY_SOURCE}" ]
89 then
90 additional_args="$additional_args --private-key-source=${REPART_PRIVATE_KEY_SOURCE}"
91 fi
92 additional_args="$additional_args --private-key=${REPART_PRIVATE_KEY}"
93 fi
94
95 if [ -n "${REPART_CERTIFICATE}" ]
96 then
97 additional_args="$additional_args --certificate=${REPART_CERTIFICATE}"
98 fi
99
100 # map architectures to systemd's expected values
101 local systemd_arch="${TARGET_ARCH}"
102 case "${systemd_arch}" in
103 aarch64)
104 systemd_arch=arm64
105 ;;
106 x86_64)
107 systemd_arch=x86-64
108 ;;
109 esac
110
111 # prepare system-repart configuration
112 mkdir -p ${B}/definitions.repart.d
113 cp ${STAGING_LIBDIR_NATIVE}/systemd/repart/definitions/${REPART_DDI_TYPE}.repart.d/* ${B}/definitions.repart.d/
114 # enable erofs compression
115 sed -i "/^Compression/d" ${B}/definitions.repart.d/10-root.conf
116 echo "Compression=lzma\nCompressionLevel=3" >> ${B}/definitions.repart.d/10-root.conf
117 # disable verity signature partition creation, if no key is provided
118 if [ -z "${REPART_PRIVATE_KEY}" ]; then
119 rm ${B}/definitions.repart.d/30-root-verity-sig.conf
120 fi
121
122 systemd-repart \
123 --definitions="${B}/definitions.repart.d/" \
124 --copy-source="${IMAGE_ROOTFS}" \
125 --empty=create --size=auto --dry-run=no --offline=yes \
126 --architecture="${systemd_arch}" \
127 --json=pretty --no-pager $additional_args \
128 "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${REPART_DDI_EXTENSION}"
129}
130
131IMAGE_CMD:ddi = "oe_image_systemd_repart_make_ddi"
132do_image_ddi[deptask] += "do_unpack"
diff --git a/meta-oe/classes/signing.bbclass b/meta-oe/classes/signing.bbclass
index 8af7bbf8e0..c9759e9198 100644
--- a/meta-oe/classes/signing.bbclass
+++ b/meta-oe/classes/signing.bbclass
@@ -54,7 +54,7 @@
54SIGNING_PKCS11_URI ?= "" 54SIGNING_PKCS11_URI ?= ""
55SIGNING_PKCS11_MODULE ?= "" 55SIGNING_PKCS11_MODULE ?= ""
56 56
57DEPENDS += "softhsm-native libp11-native opensc-native openssl-native" 57DEPENDS += "softhsm-native libp11-native opensc-native openssl-native extract-cert-native"
58 58
59def signing_class_prepare(d): 59def signing_class_prepare(d):
60 import os.path 60 import os.path
@@ -123,58 +123,122 @@ signing_import_define_role() {
123 echo "_SIGNING_PKCS11_MODULE_${role}_=\"softhsm\"" >> $_SIGNING_ENV_FILE_ 123 echo "_SIGNING_PKCS11_MODULE_${role}_=\"softhsm\"" >> $_SIGNING_ENV_FILE_
124} 124}
125 125
126# signing_import_cert_from_der <role> <der> 126# signing_import_cert_from_der <cert_name> <der>
127# 127#
128# Import a certificate from DER file to a role. To be used 128# Import a certificate from DER file to a cert_name.
129# with SoftHSM. 129# Where the <cert_name> can either be a previously setup
130# signing_import_define_role linking the certificate to a signing key,
131# or a new identifier when dealing with a standalone certificate.
132#
133# To be used with SoftHSM.
130signing_import_cert_from_der() { 134signing_import_cert_from_der() {
131 local role="${1}" 135 local cert_name="${1}"
132 local der="${2}" 136 local der="${2}"
133 137
134 signing_pkcs11_tool --type cert --write-object "${der}" --label "${role}" 138 # check wether the cert_name/role needs to be defined first,
139 # or do so otherwise
140 local uri=$(siging_get_uri $cert_name)
141 if [ -z "$uri" ]; then
142 signing_import_define_role "$cert_name"
143 fi
144
145 signing_pkcs11_tool --type cert --write-object "${der}" --label "${cert_name}"
135} 146}
136 147
137# signing_import_cert_chain_from_pem <role> <pem> 148# signing_import_set_ca <cert_name> <ca_cert_name>
138# 149#
150# Link the certificate from <cert_name> to its issuer stored in
151# <ca_cert_name> By walking this linked list a CA-chain can later be
152# reconstructed from the involed roles.
153signing_import_set_ca() {
154 local cert_name="${1}"
155 local ca_cert_name="${2}"
156
157 echo "_SIGNING_CA_${cert_name}_=\"${ca_cert_name}\"" >> $_SIGNING_ENV_FILE_
158 echo "added link from ${cert_name} to ${ca_cert_name}"
159}
139 160
140# Import a certificate *chain* from a PEM file to a role. 161# signing_get_ca <cert_name>
141# (e.g. multiple ones concatenated in one file)
142# 162#
143# Due to limitations in the toolchain: 163# returns the <ca_cert_name> that has been set previously through
144# signing class -> softhsm -> 'extract-cert' 164# signing_import_set_ca; or the empty string if none was set
145# the input certificate is split into a sequentially numbered list of roles, 165signing_get_ca() {
146# starting at <role>_1 166 local cert_name="${1}"
167
168 eval local ca_cert_name="\$_SIGNING_CA_${cert_name}_"
169 echo "$ca_cert_name"
170}
171
172# signing_has_ca <cert_name>
147# 173#
148# (The limitations are the conversion step from x509 to a plain .der, and 174# check if the cert_name links to another cert_name that is its
149# extract-cert expecting a x509 and then producing only plain .der again) 175# certificate authority/issuer.
150signing_import_cert_chain_from_pem() { 176signing_has_ca() {
151 local role="${1}" 177 local ca_cert_name="$(signing_get_ca ${1})"
152 local pem="${2}" 178
153 local i=1 179 test -n "$ca_cert_name"
154 180 return $?
155 cat "${pem}" | \
156 while openssl x509 -inform pem -outform der -out ${B}/temp_${i}.der; do
157 signing_import_define_role "${role}_${i}"
158 signing_pkcs11_tool --type cert \
159 --write-object ${B}/temp_${i}.der \
160 --label "${role}_${i}"
161 rm ${B}/temp_${i}.der
162 echo "imported ${pem} under role: ${role}_${i}"
163 i=$(awk "BEGIN {print $i+1}")
164 done
165} 181}
166 182
167# signing_import_cert_from_pem <role> <pem> 183# signing_get_intermediate_certs <cert_name>
168# 184#
169# Import a certificate from PEM file to a role. To be used 185# return a list of role/name intermediary CA certificates for a given
170# with SoftHSM. 186# <cert_name> by walking the chain setup with signing_import_set_ca.
187#
188# The returned list will not include the the root CA, and can
189# potentially be empty.
190#
191# To be used with SoftHSM.
192signing_get_intermediate_certs() {
193 local cert_name="${1}"
194 local intermediary=""
195 while signing_has_ca "${cert_name}"; do
196 cert_name="$(signing_get_ca ${cert_name})"
197 if signing_has_ca "${cert_name}"; then
198 intermediary="${intermediary} ${cert_name}"
199 fi
200 done
201 echo "${intermediary}"
202}
203
204# signing_get_root_cert <cert_name>
205#
206# return the role/name of the CA root certificate for a given
207# <cert_name>, by walking the chain setup with signing_import_set_ca
208# all the way to the last in line that doesn't have a CA set - which
209# would be the root.
210#
211# To be used with SoftHSM.
212signing_get_root_cert() {
213 local cert_name="${1}"
214 while signing_has_ca "${cert_name}"; do
215 cert_name="$(signing_get_ca ${cert_name})"
216 done
217 echo "${cert_name}"
218}
219
220# signing_import_cert_from_pem <cert_name> <pem>
221#
222# Import a certificate from PEM file to a cert_name.
223# Where the <cert_name> can either be a previously setup
224# signing_import_define_role linking the certificate to a signing key,
225# or a new identifier when dealing with a standalone certificate.
226#
227# To be used with SoftHSM.
171signing_import_cert_from_pem() { 228signing_import_cert_from_pem() {
172 local role="${1}" 229 local cert_name="${1}"
173 local pem="${2}" 230 local pem="${2}"
174 231
232 # check wether the cert_name/role needs to be defined first,
233 # or do so otherwise
234 local uri=$(siging_get_uri $cert_name)
235 if [ -z "$uri" ]; then
236 signing_import_define_role "$cert_name"
237 fi
238
175 openssl x509 \ 239 openssl x509 \
176 -in "${pem}" -inform pem -outform der | 240 -in "${pem}" -inform pem -outform der |
177 signing_pkcs11_tool --type cert --write-object /proc/self/fd/0 --label "${role}" 241 signing_pkcs11_tool --type cert --write-object /proc/self/fd/0 --label "${cert_name}"
178} 242}
179 243
180# signing_import_pubkey_from_der <role> <der> 244# signing_import_pubkey_from_der <role> <der>
@@ -346,6 +410,30 @@ signing_get_module() {
346 fi 410 fi
347} 411}
348 412
413# signing_extract_cert_der <role> <der>
414#
415# Export a certificate attached to a role into a DER file.
416# To be used with SoftHSM.
417signing_extract_cert_der() {
418 local role="${1}"
419 local output="${2}"
420
421 extract-cert "$(signing_get_uri $role)" "${output}"
422}
423
424# signing_extract_cert_pem <role> <pem>
425#
426# Export a certificate attached to a role into a PEM file.
427# To be used with SoftHSM.
428signing_extract_cert_pem() {
429 local role="${1}"
430 local output="${2}"
431
432 extract-cert "$(signing_get_uri $role)" "${output}.tmp-der"
433 openssl x509 -inform der -in "${output}.tmp-der" -out "${output}"
434 rm "${output}.tmp-der"
435}
436
349python () { 437python () {
350 signing_class_prepare(d) 438 signing_class_prepare(d)
351} 439}
diff --git a/meta-oe/classes/sysext-image.bbclass b/meta-oe/classes/sysext-image.bbclass
new file mode 100644
index 0000000000..4d97b59ce3
--- /dev/null
+++ b/meta-oe/classes/sysext-image.bbclass
@@ -0,0 +1,76 @@
1#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: MIT
5#
6
7# System extension images may – dynamically at runtime — extend the
8# /usr/ and /opt/ directory hierarchies with additional files. This is
9# particularly useful on immutable system images where a /usr/ and/or
10# /opt/ hierarchy residing on a read-only file system shall be
11# extended temporarily at runtime without making any persistent
12# modifications.
13
14# Example usage:
15## place a symlink into the systemd-sysext image search path:
16# $> mkdir /run/extensions
17# $> ln -s /tmp/extension-example.sysext.ddi /run/extensions/example.raw
18## list all available extensions:
19# $> systemd-sysext list
20## and enable the found extensions:
21# $> SYSTEMD_LOG_LEVEL=debug systemd-sysext merge
22
23# Note: PACKAGECONFIG:pn-systemd needs to include 'sysext'
24
25# systemd-sysext [1] has a simple mechanism for version compatibility:
26# the extension to be loaded has to contain a file named
27# /usr/lib/extension-release.d/extension-release.NAME
28# with "NAME" part *exactly* matching the filename of the extensions
29# raw-device filename/
30#
31# From the extension-release file the "ID" and "VERSION_ID" fields are
32# matched against same fields present in `os-release` and the extension
33# is "merged" only if values in both fields from both files are an
34# exact match.
35#
36# Link: https://www.freedesktop.org/software/systemd/man/latest/systemd-sysext.html
37
38inherit image
39
40# Include '.sysext' in the deployed image filename and symlink
41IMAGE_NAME = "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}${IMAGE_VERSION_SUFFIX}.sysext"
42IMAGE_LINK_NAME = "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}.sysext"
43EXTENSION_NAME = "${IMAGE_LINK_NAME}.${IMAGE_FSTYPES}"
44
45# Base extension identification fields
46EXTENSION_ID_FIELD ?= "${DISTRO}"
47EXTENSION_VERSION_FIELD ?= "${DISTRO_VERSION}"
48
49sysext_image_add_version_identifier_file() {
50 # Use matching based on Distro name and version
51 echo 'ID=${EXTENSION_ID_FIELD}' > ${WORKDIR}/extension-release.base
52 # os-release.bb does "sanitise_value(ver)", which needs to be done here too
53 echo 'VERSION_ID=${EXTENSION_VERSION_FIELD}' \
54 | sed 's,+,-,g;s, ,_,g' \
55 >> ${WORKDIR}/extension-release.base
56
57 # Instruct `systemd-sysext` to perform re-load once extension image is verified
58 echo 'EXTENSION_RELOAD_MANAGER=1' >> ${WORKDIR}/extension-release.base
59
60 install -d ${IMAGE_ROOTFS}${nonarch_libdir}/extension-release.d
61 install -m 0644 ${WORKDIR}/extension-release.base \
62 ${IMAGE_ROOTFS}${nonarch_libdir}/extension-release.d/extension-release.${EXTENSION_NAME}
63
64 # systemd-sysext expects an extension-release file of the exact same name as the image;
65 # by setting a xattr we allow renaming of the extension image file.
66 # (Kernel: this requires xattr support in the used filesystem)
67 setfattr -n user.extension-release.strict -v false \
68 ${IMAGE_ROOTFS}${nonarch_libdir}/extension-release.d/extension-release.${EXTENSION_NAME}
69}
70
71ROOTFS_POSTPROCESS_COMMAND += "sysext_image_add_version_identifier_file"
72
73# remove 'os-release' from the packages to be installed into the image.
74# systemd-sysext otherwise raises the error:
75# Extension contains '/usr/lib/os-release', which is not allowed, refusing.
76PACKAGE_EXCLUDE += "os-release"
diff --git a/meta-oe/conf/version-check.conf b/meta-oe/conf/version-check.conf
index dee5fe40d5..b41c9e8d22 100644
--- a/meta-oe/conf/version-check.conf
+++ b/meta-oe/conf/version-check.conf
@@ -29,3 +29,9 @@ CHECK_VERSION_PV:pn-sg3-utils = "%"
29CHECK_VERSION_PV:pn-netperf = "2.7.%" 29CHECK_VERSION_PV:pn-netperf = "2.7.%"
30CHECK_VERSION_PV:pn-bridge-utils = "1.7%" 30CHECK_VERSION_PV:pn-bridge-utils = "1.7%"
31CHECK_VERSION_PV:pn-turbostat = "2024.07.26" 31CHECK_VERSION_PV:pn-turbostat = "2024.07.26"
32CHECK_VERSION_PV:pn-bpftool = "%"
33CHECK_VERSION_PV:pn-libhugetlbfs = "%"
34CHECK_VERSION_PV:pn-pps-tools = '%'
35CHECK_VERSION_PV:pn-libusb-compat = "0.1.12"
36CHECK_VERSION_PV:pn-jemalloc = "${@d.getVar('PV').split('+')[0]}%"
37CHECK_VERSION_PV:pn-dialog = "${@d.getVar('PV').split('-')[0]}%"
diff --git a/meta-oe/recipes-core/systemd/systemd-repart-native_257.6.bb b/meta-oe/recipes-core/systemd/systemd-repart-native_257.6.bb
new file mode 100644
index 0000000000..15b60af02e
--- /dev/null
+++ b/meta-oe/recipes-core/systemd/systemd-repart-native_257.6.bb
@@ -0,0 +1,59 @@
1# SPDX-License-Identifier: MIT
2#
3# Copyright Leica Geosystems AG
4#
5
6SUMMARY = "systemd-repart"
7DESCRIPTION = "systemd-repart grows and adds partitions to a partition table, based on the configuration files described in repart.d(5), or generates a Discoverable Disk Image (DDI) for a system extension (sysext, see systemd-sysext(8))."
8HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd"
9
10LICENSE = "GPL-2.0-only & LGPL-2.1-or-later"
11LICENSE:libsystemd = "LGPL-2.1-or-later"
12LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
13 file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
14
15SRCREV = "00a12c234e2506f5cab683460199575f13c454db"
16SRCBRANCH = "v257-stable"
17SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH}"
18
19S = "${WORKDIR}/git"
20
21DEPENDS = " \
22 cryptsetup-native \
23 gperf-native \
24 libcap \
25 python3-jinja2-native \
26 util-linux \
27"
28
29inherit meson pkgconfig gettext native
30
31MESON_TARGET = "systemd-repart"
32
33# Helper variables to clarify locations. This mirrors the logic in systemd's
34# build system.
35rootprefix ?= "${root_prefix}"
36rootlibdir ?= "${base_libdir}"
37rootlibexecdir = "${rootprefix}/lib"
38
39EXTRA_OEMESON += "-Dnobody-user=nobody \
40 -Dnobody-group=nogroup \
41 -Drootlibdir=${rootlibdir} \
42 -Drootprefix=${rootprefix} \
43 -Ddefault-locale=C \
44 -Dmode=release \
45 -Dsystem-alloc-uid-min=101 \
46 -Dsystem-uid-max=999 \
47 -Dsystem-alloc-gid-min=101 \
48 -Dsystem-gid-max=999 \
49"
50
51do_install() {
52 install -d ${D}${bindir}/
53 install -m 0755 ${B}/systemd-repart ${D}${bindir}/systemd-repart
54 install -d ${D}${libdir}/
55 install -m 0644 ${B}/src/shared/libsystemd-shared-257.so ${D}${libdir}/libsystemd-shared-257.so
56
57 install -d ${D}${libdir}/systemd/repart/
58 cp -r ${S}/src/repart/definitions ${D}${libdir}/systemd/repart/
59}
diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.3.0.bb b/meta-oe/recipes-devtools/mpich/mpich_4.3.0.bb
index af15ce61a3..6babba3de7 100644
--- a/meta-oe/recipes-devtools/mpich/mpich_4.3.0.bb
+++ b/meta-oe/recipes-devtools/mpich/mpich_4.3.0.bb
@@ -28,13 +28,13 @@ PACKAGECONFIG[fortran] = "--with-cross=${WORKDIR}/cross_values.txt --enable-fort
28LDFLAGS:append:x86-64 = " -lgcc" 28LDFLAGS:append:x86-64 = " -lgcc"
29LDFLAGS:append:x86 = " -lgcc" 29LDFLAGS:append:x86 = " -lgcc"
30 30
31inherit autotools gettext pkgconfig 31inherit autotools gettext pkgconfig qemu
32 32
33DEPENDS += "qemu-native" 33DEPENDS += "qemu-native"
34 34
35do_configure() { 35do_configure() {
36 if [ "${@bb.utils.contains('PACKAGECONFIG', 'fortran', '1', '', d)}" = "1" ]; then 36 if [ "${@bb.utils.contains('PACKAGECONFIG', 'fortran', '1', '', d)}" = "1" ]; then
37 qemu_binary="${@oe.qemu.qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" 37 qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
38 cat > ${WORKDIR}/qemuwrapper << EOF 38 cat > ${WORKDIR}/qemuwrapper << EOF
39#!/bin/sh 39#!/bin/sh
40$qemu_binary "\$@" 40$qemu_binary "\$@"
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb b/meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb
index c2bf3b6bd3..43d9b99fd8 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_22.16.0.bb
@@ -9,7 +9,7 @@ DEPENDS = "openssl openssl-native file-replacement-native python3-packaging-nati
9DEPENDS:append:class-target = " qemu-native" 9DEPENDS:append:class-target = " qemu-native"
10DEPENDS:append:class-native = " c-ares-native" 10DEPENDS:append:class-native = " c-ares-native"
11 11
12inherit pkgconfig python3native ptest siteinfo 12inherit pkgconfig python3native qemu ptest siteinfo
13 13
14COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*" 14COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*"
15COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*" 15COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*"
@@ -107,8 +107,8 @@ python do_create_v8_qemu_wrapper () {
107 on the host.""" 107 on the host."""
108 qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'), 108 qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'),
109 d.expand('${STAGING_DIR_HOST}${base_libdir}')] 109 d.expand('${STAGING_DIR_HOST}${base_libdir}')]
110 qemu_cmd = oe.qemu.qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), 110 qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'),
111 qemu_libdirs) 111 qemu_libdirs)
112 112
113 if d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "1": 113 if d.getVar("HOST_AND_TARGET_SAME_WIDTH") == "1":
114 qemu_cmd = "" 114 qemu_cmd = ""
diff --git a/meta-oe/recipes-extended/icewm/icewm_3.7.4.bb b/meta-oe/recipes-extended/icewm/icewm_3.7.4.bb
index 77160b5b51..fa76f2e34e 100644
--- a/meta-oe/recipes-extended/icewm/icewm_3.7.4.bb
+++ b/meta-oe/recipes-extended/icewm/icewm_3.7.4.bb
@@ -10,7 +10,7 @@ SRC_URI[sha256sum] = "e248e299616f417f5051423ea65a15668b71c1fdc9b5e477b47b1e80db
10UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases" 10UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases"
11UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" 11UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
12 12
13inherit autotools pkgconfig gettext perlnative features_check update-alternatives 13inherit autotools pkgconfig gettext perlnative features_check qemu update-alternatives
14REQUIRED_DISTRO_FEATURES = "x11" 14REQUIRED_DISTRO_FEATURES = "x11"
15 15
16EXTRA_OECONF += "--with-libdir=${datadir}/icewm \ 16EXTRA_OECONF += "--with-libdir=${datadir}/icewm \
@@ -31,7 +31,7 @@ do_compile:prepend:class-target() {
31 cd ${B} 31 cd ${B}
32 oe_runmake -C src genpref 32 oe_runmake -C src genpref
33 33
34 qemu_binary="${@oe.qemu.qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}',['${B}/src/.libs','${STAGING_DIR_TARGET}/${libdir}','${STAGING_DIR_TARGET}/${base_libdir}'])}" 34 qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}',['${B}/src/.libs','${STAGING_DIR_TARGET}/${libdir}','${STAGING_DIR_TARGET}/${base_libdir}'])}"
35 cat >qemuwrapper <<EOF 35 cat >qemuwrapper <<EOF
36#!/bin/sh 36#!/bin/sh
37${qemu_binary} src/genpref "\$@" 37${qemu_binary} src/genpref "\$@"
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0001-hiredis-use-default-CC-if-it-is-set.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0001-hiredis-use-default-CC-if-it-is-set.patch
index 63bf403412..63bf403412 100644
--- a/meta-oe/recipes-extended/redis/redis-7.2.7/0001-hiredis-use-default-CC-if-it-is-set.patch
+++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0001-hiredis-use-default-CC-if-it-is-set.patch
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0002-lua-update-Makefile-to-use-environment-build-setting.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0002-lua-update-Makefile-to-use-environment-build-setting.patch
index 46330f5064..46330f5064 100644
--- a/meta-oe/recipes-extended/redis/redis-7.2.7/0002-lua-update-Makefile-to-use-environment-build-setting.patch
+++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0002-lua-update-Makefile-to-use-environment-build-setting.patch
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0003-hack-to-force-use-of-libc-malloc.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0003-hack-to-force-use-of-libc-malloc.patch
index 1f97f9783d..1f97f9783d 100644
--- a/meta-oe/recipes-extended/redis/redis-7.2.7/0003-hack-to-force-use-of-libc-malloc.patch
+++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0003-hack-to-force-use-of-libc-malloc.patch
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0004-src-Do-not-reset-FINAL_LIBS.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0004-src-Do-not-reset-FINAL_LIBS.patch
index 974cf5169f..974cf5169f 100644
--- a/meta-oe/recipes-extended/redis/redis-7.2.7/0004-src-Do-not-reset-FINAL_LIBS.patch
+++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0004-src-Do-not-reset-FINAL_LIBS.patch
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch
index 8e5f30993b..8e5f30993b 100644
--- a/meta-oe/recipes-extended/redis/redis-7.2.7/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch
+++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0005-Define-_GNU_SOURCE-to-get-PTHREAD_MUTEX_INITIALIZER.patch
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/0006-Define-correct-gregs-for-RISCV32.patch b/meta-oe/recipes-extended/redis/redis-7.2.8/0006-Define-correct-gregs-for-RISCV32.patch
index 7009048171..7009048171 100644
--- a/meta-oe/recipes-extended/redis/redis-7.2.7/0006-Define-correct-gregs-for-RISCV32.patch
+++ b/meta-oe/recipes-extended/redis/redis-7.2.8/0006-Define-correct-gregs-for-RISCV32.patch
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/init-redis-server b/meta-oe/recipes-extended/redis/redis-7.2.8/init-redis-server
index c5f335f57d..c5f335f57d 100644
--- a/meta-oe/recipes-extended/redis/redis-7.2.7/init-redis-server
+++ b/meta-oe/recipes-extended/redis/redis-7.2.8/init-redis-server
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/redis.conf b/meta-oe/recipes-extended/redis/redis-7.2.8/redis.conf
index 75037d6dc8..75037d6dc8 100644
--- a/meta-oe/recipes-extended/redis/redis-7.2.7/redis.conf
+++ b/meta-oe/recipes-extended/redis/redis-7.2.8/redis.conf
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.7/redis.service b/meta-oe/recipes-extended/redis/redis-7.2.8/redis.service
index b7791d0df4..b7791d0df4 100644
--- a/meta-oe/recipes-extended/redis/redis-7.2.7/redis.service
+++ b/meta-oe/recipes-extended/redis/redis-7.2.8/redis.service
diff --git a/meta-oe/recipes-extended/redis/redis_7.2.7.bb b/meta-oe/recipes-extended/redis/redis_7.2.8.bb
index c688e92cca..3c4d84085b 100644
--- a/meta-oe/recipes-extended/redis/redis_7.2.7.bb
+++ b/meta-oe/recipes-extended/redis/redis_7.2.8.bb
@@ -18,7 +18,7 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
18 file://0006-Define-correct-gregs-for-RISCV32.patch \ 18 file://0006-Define-correct-gregs-for-RISCV32.patch \
19 " 19 "
20 20
21SRC_URI[sha256sum] = "72c081e3b8cfae7144273d26d76736f08319000af46c01515cad5d29765cead5" 21SRC_URI[sha256sum] = "6be4fdfcdb2e5ac91454438246d00842d2671f792673390e742dfcaf1bf01574"
22 22
23RPROVIDES:${PN} = "virtual-redis" 23RPROVIDES:${PN} = "virtual-redis"
24 24
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_12.2.1.bb b/meta-oe/recipes-graphics/graphviz/graphviz_12.2.1.bb
index cb04a1b24a..cccbbe75f7 100644
--- a/meta-oe/recipes-graphics/graphviz/graphviz_12.2.1.bb
+++ b/meta-oe/recipes-graphics/graphviz/graphviz_12.2.1.bb
@@ -16,7 +16,7 @@ DEPENDS = " \
16DEPENDS:append:class-target = " ${BPN}-native" 16DEPENDS:append:class-target = " ${BPN}-native"
17DEPENDS:append:class-nativesdk = " ${BPN}-native" 17DEPENDS:append:class-nativesdk = " ${BPN}-native"
18 18
19inherit autotools-brokensep pkgconfig gettext 19inherit autotools-brokensep pkgconfig gettext qemu
20 20
21SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \ 21SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \
22 " 22 "
@@ -84,7 +84,7 @@ SYSROOT_PREPROCESS_FUNCS:append:class-native = " graphviz_sstate_postinst"
84pkg_postinst:${PN} () { 84pkg_postinst:${PN} () {
85 if [ -n "$D" ]; then 85 if [ -n "$D" ]; then
86 if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then 86 if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then
87 ${@oe.qemu.qemu_run_binary(d, '$D', '${bindir}/dot')} -c 87 ${@qemu_run_binary(d, '$D', '${bindir}/dot')} -c
88 fi 88 fi
89 else 89 else
90 dot -c 90 dot -c
@@ -96,7 +96,7 @@ pkg_postrm:${PN} () {
96 rmdir --ignore-fail-on-non-empty $D${libdir}/graphviz 96 rmdir --ignore-fail-on-non-empty $D${libdir}/graphviz
97} 97}
98 98
99PACKAGE_WRITE_DEPS += "qemuwrapper-cross" 99PACKAGE_WRITE_DEPS += "qemu-native"
100 100
101PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo" 101PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo"
102 102
diff --git a/meta-oe/recipes-support/bvi/bvi_1.4.2.bb b/meta-oe/recipes-support/bvi/bvi_1.4.2.bb
index b0081794d0..fb136e16a6 100644
--- a/meta-oe/recipes-support/bvi/bvi_1.4.2.bb
+++ b/meta-oe/recipes-support/bvi/bvi_1.4.2.bb
@@ -2,10 +2,10 @@ SUMMARY = "Binary VI editor"
2DESCRIPTION = "bvi is a visual editor for binary files." 2DESCRIPTION = "bvi is a visual editor for binary files."
3HOMEPAGE = "https://sourceforge.net/projects/bvi" 3HOMEPAGE = "https://sourceforge.net/projects/bvi"
4SECTION = "console/utils" 4SECTION = "console/utils"
5LICENSE = "GPL-3.0-only" 5LICENSE = "GPL-3.0-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=a36207309d382da27cd66fdaae922e3c" 6LIC_FILES_CHKSUM = "file://COPYING;md5=a36207309d382da27cd66fdaae922e3c"
7 7
8SRC_URI = "${SOURCEFORGE_MIRROR}/bvi/bvi-${PV}.src.tar.gz" 8SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz"
9SRC_URI[sha256sum] = "4bba16c2b496963a9b939336c0abcc8d488664492080ae43a86da18cf4ce94f2" 9SRC_URI[sha256sum] = "4bba16c2b496963a9b939336c0abcc8d488664492080ae43a86da18cf4ce94f2"
10 10
11DEPENDS += "ncurses" 11DEPENDS += "ncurses"
diff --git a/meta-oe/recipes-support/espeak/espeak_1.48.04.bb b/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
index 363fffbc05..b4812d59d6 100644
--- a/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
+++ b/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "bf9a17673adffcc28ff7ea18764f06136547e97bbd9edf2ec612f09b20
13S = "${WORKDIR}/espeak-${PV}-source" 13S = "${WORKDIR}/espeak-${PV}-source"
14 14
15DEPENDS = "portaudio-v19 qemu-helper-native" 15DEPENDS = "portaudio-v19 qemu-helper-native"
16inherit siteinfo 16inherit siteinfo qemu
17 17
18 18
19CXXFLAGS += "-DUSE_PORTAUDIO" 19CXXFLAGS += "-DUSE_PORTAUDIO"
@@ -31,7 +31,7 @@ do_compile() {
31 oe_runmake 31 oe_runmake
32 32
33 cd "${S}/platforms/big_endian" 33 cd "${S}/platforms/big_endian"
34 qemu_binary="${@oe.qemu.qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${S}/platforms/big_endian', '${STAGING_DIR_TARGET}${base_libdir}'])}" 34 qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${S}/platforms/big_endian', '${STAGING_DIR_TARGET}${base_libdir}'])}"
35 cat >qemuwrapper <<EOF 35 cat >qemuwrapper <<EOF
36#!/bin/sh 36#!/bin/sh
37$qemu_binary "\$@" 37$qemu_binary "\$@"
diff --git a/meta-oe/recipes-support/hdf5/hdf5_1.14.4-3.bb b/meta-oe/recipes-support/hdf5/hdf5_1.14.4-3.bb
index 4ffc875cec..f34e5f183d 100644
--- a/meta-oe/recipes-support/hdf5/hdf5_1.14.4-3.bb
+++ b/meta-oe/recipes-support/hdf5/hdf5_1.14.4-3.bb
@@ -7,7 +7,7 @@ SECTION = "libs"
7LICENSE = "HDF5" 7LICENSE = "HDF5"
8LIC_FILES_CHKSUM = "file://COPYING;md5=adebb1ecf1b3b80c13359e18ef67301e" 8LIC_FILES_CHKSUM = "file://COPYING;md5=adebb1ecf1b3b80c13359e18ef67301e"
9 9
10inherit cmake siteinfo multilib_header multilib_script 10inherit cmake siteinfo qemu multilib_header multilib_script
11 11
12DEPENDS += "qemu-native zlib" 12DEPENDS += "qemu-native zlib"
13 13
@@ -30,7 +30,7 @@ EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}
30gen_emu() { 30gen_emu() {
31 # Write out a qemu wrapper that will be used by cmake 31 # Write out a qemu wrapper that will be used by cmake
32 # so that it can run target helper binaries through that. 32 # so that it can run target helper binaries through that.
33 qemu_binary="${@oe.qemu.qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" 33 qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
34 cat > ${WORKDIR}/qemuwrapper << EOF 34 cat > ${WORKDIR}/qemuwrapper << EOF
35#!/bin/sh 35#!/bin/sh
36$qemu_binary "\$@" 36$qemu_binary "\$@"
diff --git a/meta-oe/recipes-support/libserialmodule/libserialmodule_1.0.7.bb b/meta-oe/recipes-support/libserialmodule/libserialmodule_1.0.8.bb
index ac5a3eaf09..7994907e13 100644
--- a/meta-oe/recipes-support/libserialmodule/libserialmodule_1.0.7.bb
+++ b/meta-oe/recipes-support/libserialmodule/libserialmodule_1.0.8.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22cdd382a6275cb4c2e75c517952ac7c" 6LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22cdd382a6275cb4c2e75c517952ac7c"
7DEPENDS = "libsimplelog" 7DEPENDS = "libsimplelog"
8SRC_URI = "git://git@github.com/thuanalg/libserialmodule.git;branch=main;protocol=https;tag=v${PV}" 8SRC_URI = "git://git@github.com/thuanalg/libserialmodule.git;branch=main;protocol=https;tag=v${PV}"
9SRCREV = "b5a5a436900d0bd69f990ca062de916c65f7e2e0" 9SRCREV = "f89f98ff0c9d0aaee2624d40addb0687a74c5d81"
10S = "${WORKDIR}/git" 10S = "${WORKDIR}/git"
11inherit cmake 11inherit cmake
12EXTRA_OECMAKE = "-DUNIX_LINUX=1 -DMETA_OPENEMBEDDED=1" 12EXTRA_OECMAKE = "-DUNIX_LINUX=1 -DMETA_OPENEMBEDDED=1"
diff --git a/meta-oe/recipes-support/uim/uim_1.9.0.bb b/meta-oe/recipes-support/uim/uim_1.9.0.bb
index a7857b2487..cb3aee3f0d 100644
--- a/meta-oe/recipes-support/uim/uim_1.9.0.bb
+++ b/meta-oe/recipes-support/uim/uim_1.9.0.bb
@@ -25,7 +25,7 @@ LEAD_SONAME = "libuim.so.1"
25COMPATIBLE_HOST:riscv64 = "null" 25COMPATIBLE_HOST:riscv64 = "null"
26COMPATIBLE_HOST:riscv32 = "null" 26COMPATIBLE_HOST:riscv32 = "null"
27 27
28inherit features_check autotools pkgconfig gettext gtk-immodules-cache 28inherit features_check autotools pkgconfig gettext qemu gtk-immodules-cache
29 29
30REQUIRED_DISTRO_FEATURES = "x11" 30REQUIRED_DISTRO_FEATURES = "x11"
31 31
@@ -120,10 +120,10 @@ FILES:uim-skk = "${libdir}/uim/plugin/libuim-skk.* \
120 ${datadir}/uim/skk*.scm \ 120 ${datadir}/uim/skk*.scm \
121" 121"
122 122
123PACKAGE_WRITE_DEPS += "qemuwrapper-cross" 123PACKAGE_WRITE_DEPS += "qemu-native"
124pkg_postinst:uim-anthy() { 124pkg_postinst:uim-anthy() {
125 if test -n "$D"; then 125 if test -n "$D"; then
126 ${@oe.qemu.qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register anthy --path $D${datadir}/uim 126 ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register anthy --path $D${datadir}/uim
127 else 127 else
128 uim-module-manager --register anthy --path ${datadir}/uim 128 uim-module-manager --register anthy --path ${datadir}/uim
129 fi 129 fi
@@ -131,7 +131,7 @@ pkg_postinst:uim-anthy() {
131 131
132pkg_prerm:uim-anthy() { 132pkg_prerm:uim-anthy() {
133 if test -n "$D"; then 133 if test -n "$D"; then
134 ${@oe.qemu.qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister anthy 134 ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister anthy
135 else 135 else
136 uim-module-manager --path ${datadir}/uim --unregister anthy 136 uim-module-manager --path ${datadir}/uim --unregister anthy
137 fi 137 fi
@@ -139,7 +139,7 @@ pkg_prerm:uim-anthy() {
139 139
140pkg_postinst:uim-skk() { 140pkg_postinst:uim-skk() {
141 if test -n "$D"; then 141 if test -n "$D"; then
142 ${@oe.qemu.qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register skk --path $D${datadir}/uim 142 ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register skk --path $D${datadir}/uim
143 else 143 else
144 uim-module-manager --register skk --path ${datadir}/uim 144 uim-module-manager --register skk --path ${datadir}/uim
145 fi 145 fi
@@ -147,7 +147,7 @@ pkg_postinst:uim-skk() {
147 147
148pkg_postrm:uim-skk() { 148pkg_postrm:uim-skk() {
149 if test -n "$D"; then 149 if test -n "$D"; then
150 ${@oe.qemu.qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister skk 150 ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister skk
151 else 151 else
152 uim-module-manager --path ${datadir}/uim --unregister skk 152 uim-module-manager --path ${datadir}/uim --unregister skk
153 fi 153 fi
diff --git a/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb b/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb
index ce02535c95..0927f5c904 100644
--- a/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb
+++ b/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb
@@ -18,14 +18,14 @@ SRC_URI[sha256sum] = "f210501445ce21bf607ba51ef8c125e10e22dffdffec377646462df5f0
18UPSTREAM_CHECK_URI = "https://www.unixodbc.org/download.html" 18UPSTREAM_CHECK_URI = "https://www.unixodbc.org/download.html"
19UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar" 19UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar"
20 20
21inherit autotools-brokensep multilib_header 21inherit autotools-brokensep multilib_header qemu
22 22
23S = "${WORKDIR}/unixODBC-${PV}" 23S = "${WORKDIR}/unixODBC-${PV}"
24 24
25EXTRA_OEMAKE += "LIBS=-lltdl" 25EXTRA_OEMAKE += "LIBS=-lltdl"
26EXTRA_OECONF += "--enable-utf8ini" 26EXTRA_OECONF += "--enable-utf8ini"
27DEPENDS:append:class-target = "${@' qemu-native' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else ''}" 27DEPENDS:append:class-target = "${@' qemu-native' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else ''}"
28QEMU_WRAPPER = "${@oe.qemu.qemu_wrapper_cmdline(d, '${STAGING_DIR_HOST}', ['${STAGING_DIR_HOST}/${libdir}','${STAGING_DIR_HOST}/${base_libdir}'])}" 28QEMU_WRAPPER = "${@qemu_wrapper_cmdline(d, '${STAGING_DIR_HOST}', ['${STAGING_DIR_HOST}/${libdir}','${STAGING_DIR_HOST}/${base_libdir}'])}"
29 29
30do_configure:prepend() { 30do_configure:prepend() {
31 # old m4 files will cause libtool version don't match 31 # old m4 files will cause libtool version don't match
diff --git a/meta-python/recipes-devtools/python/python3-charset-normalizer/0001-pyproject.toml-Relax-version-for-mypy.patch b/meta-python/recipes-devtools/python/python3-charset-normalizer/0001-pyproject.toml-Relax-version-for-mypy.patch
deleted file mode 100644
index d544caaa17..0000000000
--- a/meta-python/recipes-devtools/python/python3-charset-normalizer/0001-pyproject.toml-Relax-version-for-mypy.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1From 57b626d6d8c247c9203dde51a988b9401abe065c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 9 Apr 2025 23:44:44 -0700
4Subject: [PATCH] pyproject.toml: Relax version for mypy
5
6It asks for mypy <= 1.14.0 but we have 1.15.x
7already in meta-python
8
9Upstream-Status: Pending
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 pyproject.toml | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/pyproject.toml b/pyproject.toml
16index bbb8227..ad42715 100644
17--- a/pyproject.toml
18+++ b/pyproject.toml
19@@ -1,5 +1,5 @@
20 [build-system]
21-requires = ["setuptools", "setuptools-scm", "mypy>=1.4.1,<=1.14.0"]
22+requires = ["setuptools", "setuptools-scm", "mypy>=1.4.1,<=1.16.0"]
23 build-backend = "setuptools.build_meta"
24
25 [project]
diff --git a/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.1.bb b/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.2.bb
index 4f9b09ef93..e62306fff3 100644
--- a/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.1.bb
+++ b/meta-python/recipes-devtools/python/python3-charset-normalizer_3.4.2.bb
@@ -3,8 +3,7 @@ HOMEPAGE = "https://github.com/ousret/charset_normalizer"
3LICENSE = "MIT" 3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=48178f3fc1374ad7e830412f812bde05" 4LIC_FILES_CHKSUM = "file://LICENSE;md5=48178f3fc1374ad7e830412f812bde05"
5 5
6SRC_URI += "file://0001-pyproject.toml-Relax-version-for-mypy.patch" 6SRC_URI[sha256sum] = "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63"
7SRC_URI[sha256sum] = "44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"
8 7
9DEPENDS += "python3-setuptools-scm-native python3-mypy-native" 8DEPENDS += "python3-setuptools-scm-native python3-mypy-native"
10 9
diff --git a/meta-python/recipes-devtools/python/python3-libevdev_0.11.bb b/meta-python/recipes-devtools/python/python3-libevdev_0.12.bb
index 8c05df38e3..cabcfd8df6 100644
--- a/meta-python/recipes-devtools/python/python3-libevdev_0.11.bb
+++ b/meta-python/recipes-devtools/python/python3-libevdev_0.12.bb
@@ -5,7 +5,7 @@ SECTION = "devel/python"
5LICENSE = "MIT" 5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d94c10c546b419eddc6296157ec40747" 6LIC_FILES_CHKSUM = "file://COPYING;md5=d94c10c546b419eddc6296157ec40747"
7 7
8SRC_URI[sha256sum] = "e9ca006a4df2488a60bd9a740011ee948d81904be2364f017e560169508f560f" 8SRC_URI[sha256sum] = "02e952632ec6c249cbb9c66f6fa00012ea448b06606c77cd139133bc2fe46b08"
9 9
10inherit pypi setuptools3 10inherit pypi setuptools3
11 11
diff --git a/meta-python/recipes-devtools/python/python3-portion_2.6.0.bb b/meta-python/recipes-devtools/python/python3-portion_2.6.1.bb
index 2c2e67579e..942d7d5d4d 100644
--- a/meta-python/recipes-devtools/python/python3-portion_2.6.0.bb
+++ b/meta-python/recipes-devtools/python/python3-portion_2.6.1.bb
@@ -5,9 +5,9 @@ SECTION = "devel/python"
5LICENSE = "LGPL-3.0-only" 5LICENSE = "LGPL-3.0-only"
6LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000208d539ec061b899bce1d9ce9404" 6LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000208d539ec061b899bce1d9ce9404"
7 7
8inherit pypi python_setuptools_build_meta ptest-python-pytest 8inherit pypi python_hatchling ptest-python-pytest
9 9
10SRC_URI[sha256sum] = "6fb538b57a92058f0edd360667694448aa3fc028ab97e41e3091359d14ba4dd5" 10SRC_URI[sha256sum] = "44b1f7d57e052993c4157e519dc447e57b87a4e5e00a77c1c50e7044104e53c6"
11 11
12RDEPENDS:${PN} += "\ 12RDEPENDS:${PN} += "\
13 python3-sortedcontainers \ 13 python3-sortedcontainers \
diff --git a/meta-python/recipes-devtools/python/python3-typer_0.15.4.bb b/meta-python/recipes-devtools/python/python3-typer_0.16.0.bb
index 26b0c042be..87e258ae1f 100644
--- a/meta-python/recipes-devtools/python/python3-typer_0.15.4.bb
+++ b/meta-python/recipes-devtools/python/python3-typer_0.16.0.bb
@@ -3,11 +3,11 @@ DESCRIPTION = "\
3 Typer is a library for building CLI applications that users will love using and developers will love creating. Based on Python type hints. \ 3 Typer is a library for building CLI applications that users will love using and developers will love creating. Based on Python type hints. \
4 It's also a command line tool to run scripts, automatically converting them to CLI applications. \ 4 It's also a command line tool to run scripts, automatically converting them to CLI applications. \
5" 5"
6HOMEPAGE = "https://github.com/tiangolo/typer" 6HOMEPAGE = "https://github.com/fastapi/typer"
7LICENSE = "MIT" 7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=173d405eb704b1499218013178722617" 8LIC_FILES_CHKSUM = "file://LICENSE;md5=173d405eb704b1499218013178722617"
9 9
10SRC_URI[sha256sum] = "89507b104f9b6a0730354f27c39fae5b63ccd0c95b1ce1f1a6ba0cfd329997c3" 10SRC_URI[sha256sum] = "af377ffaee1dbe37ae9440cb4e8f11686ea5ce4e9bae01b84ae7c63b87f1dd3b"
11 11
12inherit pypi python_setuptools_build_meta ptest 12inherit pypi python_setuptools_build_meta ptest
13 13