diff options
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 @@ | |||
1 | From 915bc44d9f243075d084238c72089a346036388c Mon Sep 17 00:00:00 2001 | ||
2 | From: Changqing Li <changqing.li@windriver.com> | ||
3 | Date: Thu, 29 May 2025 10:08:21 +0800 | ||
4 | Subject: [PATCH] configure.ac: correct the version | ||
5 | |||
6 | The source is here: | ||
7 | https://salsa.debian.org/cinnamon-team/libtimezonemap | ||
8 | |||
9 | Upstream-Status: Pending [ register account rejected ] | ||
10 | |||
11 | Signed-off-by: Changqing Li <changqing.li@windriver.com> | ||
12 | --- | ||
13 | configure.ac | 2 +- | ||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/configure.ac b/configure.ac | ||
17 | index 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 | -- | ||
28 | 2.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" | |||
4 | LICENSE = "GPL-3.0-only" | 4 | LICENSE = "GPL-3.0-only" |
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" |
6 | 6 | ||
7 | SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz;downloadfilename=${BP}.tar.gz" | 7 | SRC_URI = "${DEBIAN_MIRROR}/main/libt/${BPN}/${BPN}_${PV}.orig.tar.gz;downloadfilename=${BP}.tar.gz \ |
8 | file://0001-configure.ac-correct-the-version.patch" | ||
8 | SRC_URI[sha256sum] = "0d634cc2476d8f57d1ee1864bd4f442180ae4bf040a9ae4bf73b66bbd85d7195" | 9 | SRC_URI[sha256sum] = "0d634cc2476d8f57d1ee1864bd4f442180ae4bf040a9ae4bf73b66bbd85d7195" |
9 | 10 | ||
10 | DEPENDS = "gtk+3 gdk-pixbuf libsoup-2.4 json-glib gnome-common-native" | 11 | DEPENDS = "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} \ | |||
35 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" | 35 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" |
36 | PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd" | 36 | PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,systemd" |
37 | 37 | ||
38 | EXTRA_OEMAKE += 'libdir=${nonarch_libdir} LDLIBS="${LDLIBS}" enable_test=no' | 38 | EXTRA_OEMAKE += 'libdir=${nonarch_libdir} LDLIBS="${LDLIBS}" enable_test=no DRACUT_FULL_VERSION=${PV}' |
39 | 39 | ||
40 | CFLAGS:append = " -fPIC" | 40 | CFLAGS:append = " -fPIC" |
41 | LDLIBS:append:libc-musl = " -lfts" | 41 | LDLIBS: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 \ | |||
21 | CMAKE_VERBOSE = "VERBOSE=1" | 21 | CMAKE_VERBOSE = "VERBOSE=1" |
22 | CFLAGS:append:libc-musl = " -D_GNU_SOURCE" | 22 | CFLAGS:append:libc-musl = " -D_GNU_SOURCE" |
23 | EXTRA_OECMAKE:append:arm = " -DENABLE_NEON=OFF" | 23 | EXTRA_OECMAKE:append:arm = " -DENABLE_NEON=OFF" |
24 | EXTRA_OECMAKE:append:riscv32 = " -DENABLE_RVV=OFF" | ||
24 | 25 | ||
25 | do_generate_toolchain_file:append() { | 26 | do_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 | ||
13 | DEPENDS = "dbus ncurses" | 13 | DEPENDS = "dbus ncurses" |
14 | 14 | ||
15 | SRCREV = "331d5e03516a99c56b3064dbbbd639a3ae848d36" | 15 | SRCREV = "3f79bcae5d4415f82907b49221ca05241a7f263c" |
16 | BRANCH = "${@oe.utils.trim_version('${PV}', 2)}" | 16 | BRANCH = "${@oe.utils.trim_version('${PV}', 2)}" |
17 | SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=${BRANCH};protocol=https" | 17 | SRC_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 | # |
4 | inherit python3native | 4 | inherit qemu python3native |
5 | 5 | ||
6 | DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python3" | 6 | DEPENDS += "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 @@ | |||
1 | From 04975ac158e6d33875c2855f74792efb2258bb93 Mon Sep 17 00:00:00 2001 | ||
2 | From: Daniel Pouzzner <douzzer@wolfssl.com> | ||
3 | Date: Tue, 13 May 2025 20:30:48 -0500 | ||
4 | Subject: [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 | |||
9 | src/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 | |||
13 | remove expired "Baltimore CyberTrust Root" from certs/external/ca_collection.pem | ||
14 | and certs/external/baltimore-cybertrust-root.pem. | ||
15 | |||
16 | Upstream-Status: Backport [https://github.com/wolfSSL/wolfssl/commit/55460a52619626f614e86d528b9a60445562eb34] | ||
17 | Signed-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 | |||
29 | diff --git a/certs/external/baltimore-cybertrust-root.pem b/certs/external/baltimore-cybertrust-root.pem | ||
30 | deleted file mode 100644 | ||
31 | index 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----- | ||
56 | diff --git a/certs/external/ca_collection.pem b/certs/external/ca_collection.pem | ||
57 | index 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) | ||
141 | diff --git a/src/ssl_load.c b/src/ssl_load.c | ||
142 | index 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 | } | ||
474 | diff --git a/wolfcrypt/src/error.c b/wolfcrypt/src/error.c | ||
475 | index 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"; | ||
491 | diff --git a/wolfcrypt/src/logging.c b/wolfcrypt/src/logging.c | ||
492 | index 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 | } | ||
660 | diff --git a/wolfssl/internal.h b/wolfssl/internal.h | ||
661 | index 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); | ||
674 | diff --git a/wolfssl/wolfcrypt/logging.h b/wolfssl/wolfcrypt/logging.h | ||
675 | index 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 | ||
11 | echo "Test script returned: $?" | 11 | ret=$? |
12 | |||
13 | echo "Test script returned: $ret" | ||
12 | 14 | ||
13 | MAGIC_SENTENCE=$(grep "unit_test: Success for all configured tests." $temp_dir/$log_file) | 15 | MAGIC_SENTENCE=$(grep "unit_test: Success for all configured tests." $temp_dir/$log_file) |
14 | 16 | ||
@@ -21,4 +23,4 @@ else | |||
21 | fi | 23 | fi |
22 | NUM_FAILS=$(grep -c "Failed" $temp_dir/$log_file) | 24 | NUM_FAILS=$(grep -c "Failed" $temp_dir/$log_file) |
23 | 25 | ||
24 | exit $NUM_FAILS | 26 | exit $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 | ||
15 | SRC_URI = " \ | 15 | SRC_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 | ||
20 | SRCREV = "00e42151ca061463ba6a95adb2290f678cbca472" | 21 | SRCREV = "b077c81eb635392e694ccedbab8b644297ec0285" |
21 | 22 | ||
22 | S = "${WORKDIR}/git" | 23 | S = "${WORKDIR}/git" |
23 | 24 | ||
24 | inherit autotools ptest | 25 | inherit autotools ptest |
25 | 26 | ||
27 | EXTRA_OECONF += "--enable-certreq --enable-dtls --enable-opensslextra --enable-certext --enable-certgen" | ||
28 | |||
26 | PACKAGECONFIG ?= "reproducible-build" | 29 | PACKAGECONFIG ?= "reproducible-build" |
27 | 30 | ||
28 | PACKAGECONFIG[reproducible-build] = "--enable-reproducible-build,--disable-reproducible-build," | 31 | PACKAGECONFIG[reproducible-build] = "--enable-reproducible-build,--disable-reproducible-build," |
29 | BBCLASSEXTEND += "native nativesdk" | 32 | BBCLASSEXTEND += "native nativesdk" |
30 | 33 | ||
34 | CFLAGS += '-fPIC -DCERT_REL_PREFIX=\\"./\\"' | ||
35 | |||
31 | RDEPENDS:${PN}-ptest += " bash" | 36 | RDEPENDS:${PN}-ptest += " bash" |
32 | 37 | ||
33 | do_install_ptest() { | 38 | do_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 @@ | |||
1 | QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS:tune-%s" % d.getVar('TUNE_PKGARCH')) or ""}" | ||
2 | QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS:tune-${TUNE_PKGARCH}" | ||
3 | |||
1 | ENABLE_VERSION_MISMATCH_CHECK ?= "${@'1' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else '0'}" | 4 | ENABLE_VERSION_MISMATCH_CHECK ?= "${@'1' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else '0'}" |
2 | DEBUG_VERSION_MISMATCH_CHECK ?= "1" | 5 | DEBUG_VERSION_MISMATCH_CHECK ?= "1" |
3 | CHECK_VERSION_PV ?= "" | 6 | CHECK_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 | |||
57 | inherit image | ||
58 | |||
59 | IMAGE_FSTYPES = "ddi" | ||
60 | |||
61 | DEPENDS += " \ | ||
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 | # | ||
71 | REPART_DDI_TYPE ?= "sysext" | ||
72 | |||
73 | REPART_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. | ||
80 | PSEUDO_INCLUDE_PATHS .= ",/var/tmp/" | ||
81 | |||
82 | oe_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 | |||
131 | IMAGE_CMD:ddi = "oe_image_systemd_repart_make_ddi" | ||
132 | do_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 @@ | |||
54 | SIGNING_PKCS11_URI ?= "" | 54 | SIGNING_PKCS11_URI ?= "" |
55 | SIGNING_PKCS11_MODULE ?= "" | 55 | SIGNING_PKCS11_MODULE ?= "" |
56 | 56 | ||
57 | DEPENDS += "softhsm-native libp11-native opensc-native openssl-native" | 57 | DEPENDS += "softhsm-native libp11-native opensc-native openssl-native extract-cert-native" |
58 | 58 | ||
59 | def signing_class_prepare(d): | 59 | def 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. | ||
130 | signing_import_cert_from_der() { | 134 | signing_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. | ||
153 | signing_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, | 165 | signing_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. |
150 | signing_import_cert_chain_from_pem() { | 176 | signing_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. | ||
192 | signing_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. | ||
212 | signing_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. | ||
171 | signing_import_cert_from_pem() { | 228 | signing_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. | ||
417 | signing_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. | ||
428 | signing_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 | |||
349 | python () { | 437 | python () { |
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 | |||
38 | inherit image | ||
39 | |||
40 | # Include '.sysext' in the deployed image filename and symlink | ||
41 | IMAGE_NAME = "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}${IMAGE_VERSION_SUFFIX}.sysext" | ||
42 | IMAGE_LINK_NAME = "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}.sysext" | ||
43 | EXTENSION_NAME = "${IMAGE_LINK_NAME}.${IMAGE_FSTYPES}" | ||
44 | |||
45 | # Base extension identification fields | ||
46 | EXTENSION_ID_FIELD ?= "${DISTRO}" | ||
47 | EXTENSION_VERSION_FIELD ?= "${DISTRO_VERSION}" | ||
48 | |||
49 | sysext_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 | |||
71 | ROOTFS_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. | ||
76 | PACKAGE_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 = "%" | |||
29 | CHECK_VERSION_PV:pn-netperf = "2.7.%" | 29 | CHECK_VERSION_PV:pn-netperf = "2.7.%" |
30 | CHECK_VERSION_PV:pn-bridge-utils = "1.7%" | 30 | CHECK_VERSION_PV:pn-bridge-utils = "1.7%" |
31 | CHECK_VERSION_PV:pn-turbostat = "2024.07.26" | 31 | CHECK_VERSION_PV:pn-turbostat = "2024.07.26" |
32 | CHECK_VERSION_PV:pn-bpftool = "%" | ||
33 | CHECK_VERSION_PV:pn-libhugetlbfs = "%" | ||
34 | CHECK_VERSION_PV:pn-pps-tools = '%' | ||
35 | CHECK_VERSION_PV:pn-libusb-compat = "0.1.12" | ||
36 | CHECK_VERSION_PV:pn-jemalloc = "${@d.getVar('PV').split('+')[0]}%" | ||
37 | CHECK_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 | |||
6 | SUMMARY = "systemd-repart" | ||
7 | DESCRIPTION = "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))." | ||
8 | HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd" | ||
9 | |||
10 | LICENSE = "GPL-2.0-only & LGPL-2.1-or-later" | ||
11 | LICENSE:libsystemd = "LGPL-2.1-or-later" | ||
12 | LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ | ||
13 | file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" | ||
14 | |||
15 | SRCREV = "00a12c234e2506f5cab683460199575f13c454db" | ||
16 | SRCBRANCH = "v257-stable" | ||
17 | SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH}" | ||
18 | |||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | DEPENDS = " \ | ||
22 | cryptsetup-native \ | ||
23 | gperf-native \ | ||
24 | libcap \ | ||
25 | python3-jinja2-native \ | ||
26 | util-linux \ | ||
27 | " | ||
28 | |||
29 | inherit meson pkgconfig gettext native | ||
30 | |||
31 | MESON_TARGET = "systemd-repart" | ||
32 | |||
33 | # Helper variables to clarify locations. This mirrors the logic in systemd's | ||
34 | # build system. | ||
35 | rootprefix ?= "${root_prefix}" | ||
36 | rootlibdir ?= "${base_libdir}" | ||
37 | rootlibexecdir = "${rootprefix}/lib" | ||
38 | |||
39 | EXTRA_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 | |||
51 | do_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 | |||
28 | LDFLAGS:append:x86-64 = " -lgcc" | 28 | LDFLAGS:append:x86-64 = " -lgcc" |
29 | LDFLAGS:append:x86 = " -lgcc" | 29 | LDFLAGS:append:x86 = " -lgcc" |
30 | 30 | ||
31 | inherit autotools gettext pkgconfig | 31 | inherit autotools gettext pkgconfig qemu |
32 | 32 | ||
33 | DEPENDS += "qemu-native" | 33 | DEPENDS += "qemu-native" |
34 | 34 | ||
35 | do_configure() { | 35 | do_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 | |||
9 | DEPENDS:append:class-target = " qemu-native" | 9 | DEPENDS:append:class-target = " qemu-native" |
10 | DEPENDS:append:class-native = " c-ares-native" | 10 | DEPENDS:append:class-native = " c-ares-native" |
11 | 11 | ||
12 | inherit pkgconfig python3native ptest siteinfo | 12 | inherit pkgconfig python3native qemu ptest siteinfo |
13 | 13 | ||
14 | COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*" | 14 | COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*" |
15 | COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*" | 15 | COMPATIBLE_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 | |||
10 | UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases" | 10 | UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases" |
11 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" | 11 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" |
12 | 12 | ||
13 | inherit autotools pkgconfig gettext perlnative features_check update-alternatives | 13 | inherit autotools pkgconfig gettext perlnative features_check qemu update-alternatives |
14 | REQUIRED_DISTRO_FEATURES = "x11" | 14 | REQUIRED_DISTRO_FEATURES = "x11" |
15 | 15 | ||
16 | EXTRA_OECONF += "--with-libdir=${datadir}/icewm \ | 16 | EXTRA_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 | ||
21 | SRC_URI[sha256sum] = "72c081e3b8cfae7144273d26d76736f08319000af46c01515cad5d29765cead5" | 21 | SRC_URI[sha256sum] = "6be4fdfcdb2e5ac91454438246d00842d2671f792673390e742dfcaf1bf01574" |
22 | 22 | ||
23 | RPROVIDES:${PN} = "virtual-redis" | 23 | RPROVIDES:${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 = " \ | |||
16 | DEPENDS:append:class-target = " ${BPN}-native" | 16 | DEPENDS:append:class-target = " ${BPN}-native" |
17 | DEPENDS:append:class-nativesdk = " ${BPN}-native" | 17 | DEPENDS:append:class-nativesdk = " ${BPN}-native" |
18 | 18 | ||
19 | inherit autotools-brokensep pkgconfig gettext | 19 | inherit autotools-brokensep pkgconfig gettext qemu |
20 | 20 | ||
21 | SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \ | 21 | SRC_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" | |||
84 | pkg_postinst:${PN} () { | 84 | pkg_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 | ||
99 | PACKAGE_WRITE_DEPS += "qemuwrapper-cross" | 99 | PACKAGE_WRITE_DEPS += "qemu-native" |
100 | 100 | ||
101 | PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo" | 101 | PACKAGES =+ "${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" | |||
2 | DESCRIPTION = "bvi is a visual editor for binary files." | 2 | DESCRIPTION = "bvi is a visual editor for binary files." |
3 | HOMEPAGE = "https://sourceforge.net/projects/bvi" | 3 | HOMEPAGE = "https://sourceforge.net/projects/bvi" |
4 | SECTION = "console/utils" | 4 | SECTION = "console/utils" |
5 | LICENSE = "GPL-3.0-only" | 5 | LICENSE = "GPL-3.0-or-later" |
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=a36207309d382da27cd66fdaae922e3c" | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=a36207309d382da27cd66fdaae922e3c" |
7 | 7 | ||
8 | SRC_URI = "${SOURCEFORGE_MIRROR}/bvi/bvi-${PV}.src.tar.gz" | 8 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz" |
9 | SRC_URI[sha256sum] = "4bba16c2b496963a9b939336c0abcc8d488664492080ae43a86da18cf4ce94f2" | 9 | SRC_URI[sha256sum] = "4bba16c2b496963a9b939336c0abcc8d488664492080ae43a86da18cf4ce94f2" |
10 | 10 | ||
11 | DEPENDS += "ncurses" | 11 | DEPENDS += "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 | |||
13 | S = "${WORKDIR}/espeak-${PV}-source" | 13 | S = "${WORKDIR}/espeak-${PV}-source" |
14 | 14 | ||
15 | DEPENDS = "portaudio-v19 qemu-helper-native" | 15 | DEPENDS = "portaudio-v19 qemu-helper-native" |
16 | inherit siteinfo | 16 | inherit siteinfo qemu |
17 | 17 | ||
18 | 18 | ||
19 | CXXFLAGS += "-DUSE_PORTAUDIO" | 19 | CXXFLAGS += "-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" | |||
7 | LICENSE = "HDF5" | 7 | LICENSE = "HDF5" |
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=adebb1ecf1b3b80c13359e18ef67301e" | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=adebb1ecf1b3b80c13359e18ef67301e" |
9 | 9 | ||
10 | inherit cmake siteinfo multilib_header multilib_script | 10 | inherit cmake siteinfo qemu multilib_header multilib_script |
11 | 11 | ||
12 | DEPENDS += "qemu-native zlib" | 12 | DEPENDS += "qemu-native zlib" |
13 | 13 | ||
@@ -30,7 +30,7 @@ EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR} | |||
30 | gen_emu() { | 30 | gen_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" | |||
6 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22cdd382a6275cb4c2e75c517952ac7c" | 6 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22cdd382a6275cb4c2e75c517952ac7c" |
7 | DEPENDS = "libsimplelog" | 7 | DEPENDS = "libsimplelog" |
8 | SRC_URI = "git://git@github.com/thuanalg/libserialmodule.git;branch=main;protocol=https;tag=v${PV}" | 8 | SRC_URI = "git://git@github.com/thuanalg/libserialmodule.git;branch=main;protocol=https;tag=v${PV}" |
9 | SRCREV = "b5a5a436900d0bd69f990ca062de916c65f7e2e0" | 9 | SRCREV = "f89f98ff0c9d0aaee2624d40addb0687a74c5d81" |
10 | S = "${WORKDIR}/git" | 10 | S = "${WORKDIR}/git" |
11 | inherit cmake | 11 | inherit cmake |
12 | EXTRA_OECMAKE = "-DUNIX_LINUX=1 -DMETA_OPENEMBEDDED=1" | 12 | EXTRA_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" | |||
25 | COMPATIBLE_HOST:riscv64 = "null" | 25 | COMPATIBLE_HOST:riscv64 = "null" |
26 | COMPATIBLE_HOST:riscv32 = "null" | 26 | COMPATIBLE_HOST:riscv32 = "null" |
27 | 27 | ||
28 | inherit features_check autotools pkgconfig gettext gtk-immodules-cache | 28 | inherit features_check autotools pkgconfig gettext qemu gtk-immodules-cache |
29 | 29 | ||
30 | REQUIRED_DISTRO_FEATURES = "x11" | 30 | REQUIRED_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 | ||
123 | PACKAGE_WRITE_DEPS += "qemuwrapper-cross" | 123 | PACKAGE_WRITE_DEPS += "qemu-native" |
124 | pkg_postinst:uim-anthy() { | 124 | pkg_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 | ||
132 | pkg_prerm:uim-anthy() { | 132 | pkg_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 | ||
140 | pkg_postinst:uim-skk() { | 140 | pkg_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 | ||
148 | pkg_postrm:uim-skk() { | 148 | pkg_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 | |||
18 | UPSTREAM_CHECK_URI = "https://www.unixodbc.org/download.html" | 18 | UPSTREAM_CHECK_URI = "https://www.unixodbc.org/download.html" |
19 | UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar" | 19 | UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar" |
20 | 20 | ||
21 | inherit autotools-brokensep multilib_header | 21 | inherit autotools-brokensep multilib_header qemu |
22 | 22 | ||
23 | S = "${WORKDIR}/unixODBC-${PV}" | 23 | S = "${WORKDIR}/unixODBC-${PV}" |
24 | 24 | ||
25 | EXTRA_OEMAKE += "LIBS=-lltdl" | 25 | EXTRA_OEMAKE += "LIBS=-lltdl" |
26 | EXTRA_OECONF += "--enable-utf8ini" | 26 | EXTRA_OECONF += "--enable-utf8ini" |
27 | DEPENDS:append:class-target = "${@' qemu-native' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else ''}" | 27 | DEPENDS:append:class-target = "${@' qemu-native' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else ''}" |
28 | QEMU_WRAPPER = "${@oe.qemu.qemu_wrapper_cmdline(d, '${STAGING_DIR_HOST}', ['${STAGING_DIR_HOST}/${libdir}','${STAGING_DIR_HOST}/${base_libdir}'])}" | 28 | QEMU_WRAPPER = "${@qemu_wrapper_cmdline(d, '${STAGING_DIR_HOST}', ['${STAGING_DIR_HOST}/${libdir}','${STAGING_DIR_HOST}/${base_libdir}'])}" |
29 | 29 | ||
30 | do_configure:prepend() { | 30 | do_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 @@ | |||
1 | From 57b626d6d8c247c9203dde51a988b9401abe065c Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 9 Apr 2025 23:44:44 -0700 | ||
4 | Subject: [PATCH] pyproject.toml: Relax version for mypy | ||
5 | |||
6 | It asks for mypy <= 1.14.0 but we have 1.15.x | ||
7 | already in meta-python | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | pyproject.toml | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/pyproject.toml b/pyproject.toml | ||
16 | index 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" | |||
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=48178f3fc1374ad7e830412f812bde05" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=48178f3fc1374ad7e830412f812bde05" |
5 | 5 | ||
6 | SRC_URI += "file://0001-pyproject.toml-Relax-version-for-mypy.patch" | 6 | SRC_URI[sha256sum] = "5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63" |
7 | SRC_URI[sha256sum] = "44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3" | ||
8 | 7 | ||
9 | DEPENDS += "python3-setuptools-scm-native python3-mypy-native" | 8 | DEPENDS += "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" | |||
5 | LICENSE = "MIT" | 5 | LICENSE = "MIT" |
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d94c10c546b419eddc6296157ec40747" | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d94c10c546b419eddc6296157ec40747" |
7 | 7 | ||
8 | SRC_URI[sha256sum] = "e9ca006a4df2488a60bd9a740011ee948d81904be2364f017e560169508f560f" | 8 | SRC_URI[sha256sum] = "02e952632ec6c249cbb9c66f6fa00012ea448b06606c77cd139133bc2fe46b08" |
9 | 9 | ||
10 | inherit pypi setuptools3 | 10 | inherit 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" | |||
5 | LICENSE = "LGPL-3.0-only" | 5 | LICENSE = "LGPL-3.0-only" |
6 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000208d539ec061b899bce1d9ce9404" | 6 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000208d539ec061b899bce1d9ce9404" |
7 | 7 | ||
8 | inherit pypi python_setuptools_build_meta ptest-python-pytest | 8 | inherit pypi python_hatchling ptest-python-pytest |
9 | 9 | ||
10 | SRC_URI[sha256sum] = "6fb538b57a92058f0edd360667694448aa3fc028ab97e41e3091359d14ba4dd5" | 10 | SRC_URI[sha256sum] = "44b1f7d57e052993c4157e519dc447e57b87a4e5e00a77c1c50e7044104e53c6" |
11 | 11 | ||
12 | RDEPENDS:${PN} += "\ | 12 | RDEPENDS:${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 | " |
6 | HOMEPAGE = "https://github.com/tiangolo/typer" | 6 | HOMEPAGE = "https://github.com/fastapi/typer" |
7 | LICENSE = "MIT" | 7 | LICENSE = "MIT" |
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=173d405eb704b1499218013178722617" | 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=173d405eb704b1499218013178722617" |
9 | 9 | ||
10 | SRC_URI[sha256sum] = "89507b104f9b6a0730354f27c39fae5b63ccd0c95b1ce1f1a6ba0cfd329997c3" | 10 | SRC_URI[sha256sum] = "af377ffaee1dbe37ae9440cb4e8f11686ea5ce4e9bae01b84ae7c63b87f1dd3b" |
11 | 11 | ||
12 | inherit pypi python_setuptools_build_meta ptest | 12 | inherit pypi python_setuptools_build_meta ptest |
13 | 13 | ||