[OE-core] [PATCH] musl: add typedefs for Elf64_Relr and Elf32_Relr

2023-12-07 Thread Zang Ruochen
From: Zang Ruochen 

The absence of this typedef causes elfutils to report the following error:
/usr/include/gelf.h:86:9: error: unknown type name 'Elf64_Relr'

https://git.musl-libc.org/cgit/musl/commit/?id=6be76895f6863100a311d474a42abdbb6466189d

Signed-off-by: Zang Ruochen 
---
 ...pedefs-for-Elf64_Relr-and-Elf32_Relr.patch | 37 +++
 meta/recipes-core/musl/musl_git.bb|  1 +
 2 files changed, 38 insertions(+)
 create mode 100644 
meta/recipes-core/musl/musl/0003-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch

diff --git 
a/meta/recipes-core/musl/musl/0003-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch
 
b/meta/recipes-core/musl/musl/0003-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch
new file mode 100644
index 00..45d40cd5b4
--- /dev/null
+++ 
b/meta/recipes-core/musl/musl/0003-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch
@@ -0,0 +1,37 @@
+From 65b0ac0d998bf0f36924a7c27ed9e702b2a5a453 Mon Sep 17 00:00:00 2001
+From: Violet Purcell 
+Date: Sat, 4 Nov 2023 12:09:20 -0400
+Subject: [PATCH] elf.h: add typedefs for Elf64_Relr and Elf32_Relr
+
+These were overlooked when DT_RELR was added in commit
+d32dadd60efb9d3b255351a3b532f8e4c3dd0db1, potentially breaking
+software that treats presence of the DT_RELR macro as implying they
+exist.
+
+Upstream-Status: Backport [1.2.5]
+
+Signed-off-by: Zang Ruochen 
+
+---
+ include/elf.h | 5 +
+ 1 file changed, 5 insertions(+)
+
+diff --git a/include/elf.h b/include/elf.h
+index 23f2c4bc..72d17c3a 100644
+--- a/include/elf.h
 b/include/elf.h
+@@ -558,6 +558,11 @@ typedef struct {
+ 
+ 
+ 
++typedef Elf32_Word Elf32_Relr;
++typedef Elf64_Xword Elf64_Relr;
++
++
++
+ #define ELF32_R_SYM(val)  ((val) >> 8)
+ #define ELF32_R_TYPE(val) ((val) & 0xff)
+ #define ELF32_R_INFO(sym, type)   (((sym) << 8) + ((type) & 0xff))
+-- 
+2.25.1
+
diff --git a/meta/recipes-core/musl/musl_git.bb 
b/meta/recipes-core/musl/musl_git.bb
index 7dd949ffaf..324269a968 100644
--- a/meta/recipes-core/musl/musl_git.bb
+++ b/meta/recipes-core/musl/musl_git.bb
@@ -13,6 +13,7 @@ PV = "${BASEVER}+git"
 SRC_URI = "git://git.etalabs.net/git/musl;branch=master;protocol=https \
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \

file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
+   file://0003-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch \
   "
 
 S = "${WORKDIR}/git"
-- 
2.25.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192013): 
https://lists.openembedded.org/g/openembedded-core/message/192013
Mute This Topic: https://lists.openembedded.org/mt/103051153/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [PATCH] [OE-core] [PATCHv2] elfutils: upgrade 0.189 -> 0.190

2023-12-07 Thread Zang Ruochen
Hello.
This error is caused by a lack of typedefs in musl. I'll submit a fix patch for 
musl later.
https://git.musl-libc.org/cgit/musl/commit/include/elf.h?id=6be76895f6863100a311d474a42abdbb6466189d


> -原始邮件-
> 发件人: "Alexandre Belloni" 
> 发送时间:2023-12-05 06:35:30 (星期二)
> 收件人: "Zang Ruochen" 
> 抄送: openembedded-core@lists.openembedded.org
> 主题: Re: [PATCH] [OE-core] [PATCHv2] elfutils: upgrade 0.189 -> 0.190
> 
> Hello,
> 
> This fails with musl:
> 
> https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/8232/steps/11/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/8262/steps/12/logs/stdio
> 
> New ptest failure:
> https://autobuilder.yoctoproject.org/typhoon/#/builders/81/builds/5988/steps/12/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/82/builds/5808/steps/12/logs/stdio
> 
> On 03/12/2023 18:35:51-0800, Zang Ruochen wrote:
> > From: Zang Ruochen 
> > 
> > The following patches have been fixed:
> > 0001-libasm-may-link-with-libbz2-if-found.patch
> > 
> > Refresh the following patch:
> > 0001-dso-link-change.patch
> > 
> > Signed-off-by: Zang Ruochen 
> > ---
> >  .../{elfutils_0.189.bb => elfutils_0.190.bb}  |  3 +-
> >  .../elfutils/files/0001-dso-link-change.patch | 14 
> >  ...libasm-may-link-with-libbz2-if-found.patch | 36 ---
> >  3 files changed, 9 insertions(+), 44 deletions(-)
> >  rename meta/recipes-devtools/elfutils/{elfutils_0.189.bb => 
> > elfutils_0.190.bb} (98%)
> >  delete mode 100644 
> > meta/recipes-devtools/elfutils/files/0001-libasm-may-link-with-libbz2-if-found.patch
> > 
> > diff --git a/meta/recipes-devtools/elfutils/elfutils_0.189.bb 
> > b/meta/recipes-devtools/elfutils/elfutils_0.190.bb
> > similarity index 98%
> > rename from meta/recipes-devtools/elfutils/elfutils_0.189.bb
> > rename to meta/recipes-devtools/elfutils/elfutils_0.190.bb
> > index d8bf82b022..8657080830 100644
> > --- a/meta/recipes-devtools/elfutils/elfutils_0.189.bb
> > +++ b/meta/recipes-devtools/elfutils/elfutils_0.190.bb
> > @@ -16,7 +16,6 @@ SRC_URI = 
> > "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
> > file://0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch \
> > file://0003-fixheadercheck.patch \
> > file://0006-Fix-build-on-aarch64-musl.patch \
> > -   file://0001-libasm-may-link-with-libbz2-if-found.patch \
> > 
> > file://0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch \
> > file://0001-skip-the-test-when-gcc-not-deployed.patch \
> > file://ptest.patch \
> > @@ -25,7 +24,7 @@ SRC_URI = 
> > "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
> >  SRC_URI:append:libc-musl = " \
> > file://0003-musl-utils.patch \
> > "
> > -SRC_URI[sha256sum] = 
> > "39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8"
> > +SRC_URI[sha256sum] = 
> > "8e00a3a9b5f04bc1dc273ae86281d2d26ed412020b391ffcc23198f10231d692"
> >  
> >  inherit autotools gettext ptest pkgconfig
> >  
> > diff --git 
> > a/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch 
> > b/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
> > index 6acc036406..8ccfcb7bd5 100644
> > --- a/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
> > +++ b/meta/recipes-devtools/elfutils/files/0001-dso-link-change.patch
> > @@ -16,18 +16,18 @@ more details.
> >  Rebase to 0.170
> >  
> >  Signed-off-by: Hongxu Jia 
> > -
> > +Signed-off-by: Zang Ruochen 
> >  ---
> >   src/Makefile.am   | 2 +-
> >   tests/Makefile.am | 2 +-
> >   2 files changed, 2 insertions(+), 2 deletions(-)
> >  
> >  diff --git a/src/Makefile.am b/src/Makefile.am
> > -index 88d0ac8..c28d81f 100644
> > +index d3d9d40..ea61616 100644
> >  --- a/src/Makefile.am
> >  +++ b/src/Makefile.am
> >  @@ -45,7 +45,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl 
> > -lpthread
> > - libelf = ../libelf/libelf.a -lz
> > + libelf = ../libelf/libelf.a -lz $(zstd_LIBS)
> >   else
> >   libasm = ../libasm/libasm.so
> >  -libdw = ../libdw/libdw.so
> > @@ -36,11 +36,11 @@ index 88d0ac8..c28d81f 100644
> >   endif
> >   libebl = ../libebl/libebl.a ../backends/libebl_backends.a 
> > ../libcpu/libcpu.a
> >  diff --git a/tests/Makefile.am b/tests/Makefile.am
> > -index c145720..72afd0e 100644
> > +index 7fb8efb..71c1a61 100644
> >  --- a/tests/Makefile.am
> >  +++ b/tests/Makefile.am
> > -@@ -554,7 +554,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) 
> > $(libebl) -ldl -lpthread
> > - libelf = ../libelf/libelf.a -lz
> > +@@ -680,7 +680,7 @@ libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) 
> > $(libebl) -ldl -lpthread
> > + libelf = ../libelf/libelf.a -lz $(zstd_LIBS)
> >   libasm = ../libasm/libasm.a
> >   else
> >  -libdw = ../libdw/libdw.so
> > @@ -48,3 +48,5 @@ index c145720..72afd0e 100644
> >   libelf = ../libelf/libelf.so
> >   libasm = ../libasm/libasm.so
> >   endif
> > +--
> > +2.25.1
> > 

[OE-core][kirkstone][PATCH] avahi: backport CVE-2023-1981 & CVE's follow-up patches

2023-12-07 Thread Vijay Anusuri via lists.openembedded.org
From: Vijay Anusuri 

import patches from ubuntu to fix
 CVE-2023-1981
 CVE-2023-38469-2
 CVE-2023-38470-2
 CVE-2023-38471-2

Upstream-Status: Backport [import from ubuntu 
https://git.launchpad.net/ubuntu/+source/avahi/tree/debian/patches?h=ubuntu/jammy-security
Upstream commit
https://github.com/lathiat/avahi/commit/a2696da2f2c50ac43b6c4903f72290d5c3fa9f6f
&
https://github.com/lathiat/avahi/commit/c6cab87df290448a63323c8ca759baa516166237
&
https://github.com/lathiat/avahi/commit/94cb6489114636940ac683515417990b55b5d66c
&
https://github.com/lathiat/avahi/commit/b675f70739f404342f7f78635d6e2dcd85a13460]

Ref: 
https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/nanbield-nut=a9203c46cd64c3ec5e5b00e381bbac85733f85df

Signed-off-by: Vijay Anusuri 
---
 meta/recipes-connectivity/avahi/avahi_0.8.bb  | 10 ++-
 .../avahi/files/CVE-2023-1981.patch   | 58 +
 ...023-38469.patch => CVE-2023-38469-1.patch} |  0
 .../avahi/files/CVE-2023-38469-2.patch| 65 +++
 ...023-38470.patch => CVE-2023-38470-1.patch} |  0
 .../avahi/files/CVE-2023-38470-2.patch| 52 +++
 ...023-38471.patch => CVE-2023-38471-1.patch} |  0
 .../avahi/files/CVE-2023-38471-2.patch| 52 +++
 .../avahi/files/CVE-2023-38472.patch  | 44 ++---
 9 files changed, 256 insertions(+), 25 deletions(-)
 create mode 100644 meta/recipes-connectivity/avahi/files/CVE-2023-1981.patch
 rename meta/recipes-connectivity/avahi/files/{CVE-2023-38469.patch => 
CVE-2023-38469-1.patch} (100%)
 create mode 100644 meta/recipes-connectivity/avahi/files/CVE-2023-38469-2.patch
 rename meta/recipes-connectivity/avahi/files/{CVE-2023-38470.patch => 
CVE-2023-38470-1.patch} (100%)
 create mode 100644 meta/recipes-connectivity/avahi/files/CVE-2023-38470-2.patch
 rename meta/recipes-connectivity/avahi/files/{CVE-2023-38471.patch => 
CVE-2023-38471-1.patch} (100%)
 create mode 100644 meta/recipes-connectivity/avahi/files/CVE-2023-38471-2.patch

diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb 
b/meta/recipes-connectivity/avahi/avahi_0.8.bb
index af5284a252..5d1c86978a 100644
--- a/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -26,9 +26,13 @@ SRC_URI = 
"https://github.com/lathiat/avahi/releases/download/v${PV}/avahi-${PV}
file://0001-Fix-opening-etc-resolv.conf-error.patch \
file://handle-hup.patch \
file://local-ping.patch \
-   file://CVE-2023-38471.patch \
-   file://CVE-2023-38470.patch \
-   file://CVE-2023-38469.patch \
+   file://CVE-2023-1981.patch \
+   file://CVE-2023-38469-1.patch \
+   file://CVE-2023-38469-2.patch \
+   file://CVE-2023-38470-1.patch \
+   file://CVE-2023-38470-2.patch \
+   file://CVE-2023-38471-1.patch \
+   file://CVE-2023-38471-2.patch \
file://CVE-2023-38472.patch \
file://CVE-2023-38473.patch \
"
diff --git a/meta/recipes-connectivity/avahi/files/CVE-2023-1981.patch 
b/meta/recipes-connectivity/avahi/files/CVE-2023-1981.patch
new file mode 100644
index 00..4d7924d13a
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/files/CVE-2023-1981.patch
@@ -0,0 +1,58 @@
+From a2696da2f2c50ac43b6c4903f72290d5c3fa9f6f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= 
+Date: Thu, 17 Nov 2022 01:51:53 +0100
+Subject: [PATCH] Emit error if requested service is not found
+
+It currently just crashes instead of replying with error. Check return
+value and emit error instead of passing NULL pointer to reply.
+
+Fixes #375
+
+Upstream-Status: Backport [import from ubuntu 
https://git.launchpad.net/ubuntu/+source/avahi/tree/debian/patches/CVE-2023-1981.patch?h=ubuntu/jammy-security
+Upstream commit 
https://github.com/lathiat/avahi/commit/a2696da2f2c50ac43b6c4903f72290d5c3fa9f6f]
+CVE: CVE-2023-1981
+Signed-off-by: Vijay Anusuri 
+---
+ avahi-daemon/dbus-protocol.c | 20 ++--
+ 1 file changed, 14 insertions(+), 6 deletions(-)
+
+diff --git a/avahi-daemon/dbus-protocol.c b/avahi-daemon/dbus-protocol.c
+index 70d7687bc..406d0b441 100644
+--- a/avahi-daemon/dbus-protocol.c
 b/avahi-daemon/dbus-protocol.c
+@@ -375,10 +375,14 @@ static DBusHandlerResult 
dbus_get_alternative_host_name(DBusConnection *c, DBusM
+ }
+ 
+ t = avahi_alternative_host_name(n);
+-avahi_dbus_respond_string(c, m, t);
+-avahi_free(t);
++if (t) {
++avahi_dbus_respond_string(c, m, t);
++avahi_free(t);
+ 
+-return DBUS_HANDLER_RESULT_HANDLED;
++return DBUS_HANDLER_RESULT_HANDLED;
++} else {
++return avahi_dbus_respond_error(c, m, AVAHI_ERR_NOT_FOUND, "Hostname 
not found");
++}
+ }
+ 
+ static DBusHandlerResult dbus_get_alternative_service_name(DBusConnection *c, 
DBusMessage *m, DBusError *error) {
+@@ -389,10 +393,14 @@ static DBusHandlerResult 

[OE-core] [master] [PATCH] cve-update-nvd2-native: increase the delay between subsequent request failures

2023-12-07 Thread Dhairya Nagodra via lists.openembedded.org
Sometimes NVD servers are unstable and return too many errors.
There is an option to have higher fetch attempts to increase the chances
of successfully fetching the CVE data.

Additionally, it also makes sense to progressively increase the delay
after a failed request to an already unstable or busy server.
The increase in delay is reset after every successful request and
the maximum delay is limited to 30 seconds.

Also, the logs are improved to give more clarity.

Signed-off-by: Dhairya Nagodra 
---
 meta/recipes-core/meta/cve-update-nvd2-native.bb | 13 +
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/meta/cve-update-nvd2-native.bb 
b/meta/recipes-core/meta/cve-update-nvd2-native.bb
index 941fca34c6..bfe48b27e7 100644
--- a/meta/recipes-core/meta/cve-update-nvd2-native.bb
+++ b/meta/recipes-core/meta/cve-update-nvd2-native.bb
@@ -114,7 +114,10 @@ def cleanup_db_download(db_file, db_tmp_file):
 if os.path.exists(db_tmp_file):
 os.remove(db_tmp_file)
 
-def nvd_request_next(url, attempts, api_key, args):
+def nvd_request_wait(attempt, min_wait):
+return min ( ( (2 * attempt) + min_wait ) , 30)
+
+def nvd_request_next(url, attempts, api_key, args, min_wait):
 """
 Request next part of the NVD dabase
 """
@@ -143,8 +146,10 @@ def nvd_request_next(url, attempts, api_key, args):
 r.close()
 
 except Exception as e:
-bb.note("CVE database: received error (%s), retrying" % (e))
-time.sleep(6)
+wait_time = nvd_request_wait(attempt, min_wait)
+bb.note("CVE database: received error (%s)" % (e))
+bb.note("CVE database: retrying download after %d seconds. 
attempted (%d/%d)" % (wait_time, attempt+1, attempts))
+time.sleep(wait_time)
 pass
 else:
 return raw_data
@@ -195,7 +200,7 @@ def update_db_file(db_tmp_file, d, database_time):
 
 while True:
 req_args['startIndex'] = index
-raw_data = nvd_request_next(url, attempts, api_key, req_args)
+raw_data = nvd_request_next(url, attempts, api_key, req_args, 
wait_time)
 if raw_data is None:
 # We haven't managed to download data
 return False
-- 
2.35.6


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192010): 
https://lists.openembedded.org/g/openembedded-core/message/192010
Mute This Topic: https://lists.openembedded.org/mt/103049968/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] gdb: Update to gdb 14.1 release

2023-12-07 Thread Khem Raj
* Drop add-missing-ldflags.patch, its already applied to gdb 14
* Add dependency on mpfr for cross/cross-canadian/target recipe
* Remove gcc-only complier restriction, clang can compile it just fine
* Notable changes are here [1] [2]

[1] 
https://sourceware.org/git/?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=refs/heads/gdb-14-branch
[2] https://www.sourceware.org/gdb/download/ANNOUNCEMENT

Signed-off-by: Khem Raj 
---
 meta/conf/distro/include/tcmode-default.inc   |  2 +-
 meta/recipes-devtools/gdb/gdb-common.inc  |  2 +-
 .../gdb/gdb-cross-canadian.inc|  2 +-
 ...ian_13.2.bb => gdb-cross-canadian_14.1.bb} |  0
 meta/recipes-devtools/gdb/gdb-cross.inc   |  2 +-
 .../{gdb-cross_13.2.bb => gdb-cross_14.1.bb}  |  0
 meta/recipes-devtools/gdb/gdb.inc |  5 +-
 ...ux-nat-Define-_ABIO32-if-not-defined.patch |  4 +-
 ...e-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch |  4 +-
 ...readline.a-when-using-disable-static.patch | 10 ++--
 .../gdb/gdb/0004-use-asm-sgidefs.h.patch  |  4 +-
 .../gdb/gdb/0005-Change-order-of-CFLAGS.patch |  4 +-
 ...06-resolve-restrict-keyword-conflict.patch |  2 +-
 .../0007-Fix-invalid-sigprocmask-call.patch   |  2 +-
 ...sing-_Alignof-when-using-C11-or-newe.patch |  4 +-
 .../gdb/gdb/add-missing-ldflags.patch | 47 ---
 .../gdb/{gdb_13.2.bb => gdb_14.1.bb}  |  0
 17 files changed, 22 insertions(+), 72 deletions(-)
 rename meta/recipes-devtools/gdb/{gdb-cross-canadian_13.2.bb => 
gdb-cross-canadian_14.1.bb} (100%)
 rename meta/recipes-devtools/gdb/{gdb-cross_13.2.bb => gdb-cross_14.1.bb} 
(100%)
 delete mode 100644 meta/recipes-devtools/gdb/gdb/add-missing-ldflags.patch
 rename meta/recipes-devtools/gdb/{gdb_13.2.bb => gdb_14.1.bb} (100%)

diff --git a/meta/conf/distro/include/tcmode-default.inc 
b/meta/conf/distro/include/tcmode-default.inc
index 707402e6eb9..66c274aa806 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -19,7 +19,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
 GCCVERSION ?= "13.%"
 SDKGCCVERSION ?= "${GCCVERSION}"
 BINUVERSION ?= "2.41%"
-GDBVERSION ?= "13.%"
+GDBVERSION ?= "14.%"
 GLIBCVERSION ?= "2.38%"
 LINUXLIBCVERSION ?= "6.5%"
 QEMUVERSION ?= "8.1%"
diff --git a/meta/recipes-devtools/gdb/gdb-common.inc 
b/meta/recipes-devtools/gdb/gdb-common.inc
index 48dbb914636..ea1fc27a61b 100644
--- a/meta/recipes-devtools/gdb/gdb-common.inc
+++ b/meta/recipes-devtools/gdb/gdb-common.inc
@@ -2,7 +2,7 @@ SUMMARY = "GNU debugger"
 HOMEPAGE = "http://www.gnu.org/software/gdb/;
 DESCRIPTION = "GDB, the GNU Project debugger, allows you to see what is going 
on inside another program while it executes -- or what another program was 
doing at the moment it crashed."
 SECTION = "devel"
-DEPENDS = "expat gmp zlib ncurses virtual/libiconv ${LTTNGUST} bison-native"
+DEPENDS = "expat gmp mpfr zlib ncurses virtual/libiconv ${LTTNGUST} 
bison-native"
 
 LTTNGUST = "lttng-ust"
 LTTNGUST:arc = ""
diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc 
b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
index 81dc572be0d..058ffbc9c55 100644
--- a/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
+++ b/meta/recipes-devtools/gdb/gdb-cross-canadian.inc
@@ -6,7 +6,7 @@ SUMMARY = "GNU debugger (cross-canadian gdb for ${TARGET_ARCH} 
target)"
 PN = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 BPN = "gdb"
 
-DEPENDS = "nativesdk-ncurses nativesdk-expat nativesdk-gettext nativesdk-gmp \
+DEPENDS = "nativesdk-ncurses nativesdk-expat nativesdk-gettext nativesdk-gmp 
nativesdk-mpfr \
virtual/${HOST_PREFIX}gcc virtual/${HOST_PREFIX}binutils 
virtual/nativesdk-libc"
 
 GDBPROPREFIX = "--program-prefix='${TARGET_PREFIX}'"
diff --git a/meta/recipes-devtools/gdb/gdb-cross-canadian_13.2.bb 
b/meta/recipes-devtools/gdb/gdb-cross-canadian_14.1.bb
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb-cross-canadian_13.2.bb
rename to meta/recipes-devtools/gdb/gdb-cross-canadian_14.1.bb
diff --git a/meta/recipes-devtools/gdb/gdb-cross.inc 
b/meta/recipes-devtools/gdb/gdb-cross.inc
index 9f9675c1b32..399f4bba97a 100644
--- a/meta/recipes-devtools/gdb/gdb-cross.inc
+++ b/meta/recipes-devtools/gdb/gdb-cross.inc
@@ -1,6 +1,6 @@
 require gdb-common.inc
 
-DEPENDS = "expat-native gmp-native ncurses-native flex-native bison-native"
+DEPENDS = "expat-native gmp-native mpfr-native ncurses-native flex-native 
bison-native"
 
 inherit python3native pkgconfig
 
diff --git a/meta/recipes-devtools/gdb/gdb-cross_13.2.bb 
b/meta/recipes-devtools/gdb/gdb-cross_14.1.bb
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb-cross_13.2.bb
rename to meta/recipes-devtools/gdb/gdb-cross_14.1.bb
diff --git a/meta/recipes-devtools/gdb/gdb.inc 
b/meta/recipes-devtools/gdb/gdb.inc
index e986b1a1f91..eb480f3c658 100644
--- a/meta/recipes-devtools/gdb/gdb.inc
+++ b/meta/recipes-devtools/gdb/gdb.inc
@@ -13,8 +13,5 @@ SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.xz \
 

[OE-core] [master] [PATCH] cve-update-nvd2-native: faster requests with API keys

2023-12-07 Thread Dhairya Nagodra via lists.openembedded.org
As per NVD, the public rate limit is 5 requests in 30s (6s delay).
Using an API key increases the limit to 50 requests in 30s (0.6s delay).
However, NVD still recommends sleeping for several seconds so that the
other legitimate requests are serviced without denial or interruption.
Keeping the default sleep at 6 seconds and 2 seconds with an API key.

For failures, the wait time is unchanged (6 seconds).

Reference: https://nvd.nist.gov/developers/start-here#RateLimits

Signed-off-by: Dhairya Nagodra 
---
 meta/recipes-core/meta/cve-update-nvd2-native.bb | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/meta/cve-update-nvd2-native.bb 
b/meta/recipes-core/meta/cve-update-nvd2-native.bb
index 9ab8dc6050..941fca34c6 100644
--- a/meta/recipes-core/meta/cve-update-nvd2-native.bb
+++ b/meta/recipes-core/meta/cve-update-nvd2-native.bb
@@ -188,6 +188,11 @@ def update_db_file(db_tmp_file, d, database_time):
 api_key = d.getVar("NVDCVE_API_KEY") or None
 attempts = int(d.getVar("CVE_DB_UPDATE_ATTEMPTS"))
 
+# Recommended by NVD
+wait_time = 6
+if api_key:
+wait_time = 2
+
 while True:
 req_args['startIndex'] = index
 raw_data = nvd_request_next(url, attempts, api_key, req_args)
@@ -210,7 +215,7 @@ def update_db_file(db_tmp_file, d, database_time):
break
 
 # Recommended by NVD
-time.sleep(6)
+time.sleep(wait_time)
 
 # Update success, set the date to cve_check file.
 cve_f.write('CVE database update : %s\n\n' % datetime.date.today())
-- 
2.35.6


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192008): 
https://lists.openembedded.org/g/openembedded-core/message/192008
Mute This Topic: https://lists.openembedded.org/mt/103048465/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][kirkstone 15/15] native: Clear TUNE_FEATURES/ABIEXTENSION

2023-12-07 Thread Steve Sakoman
From: Richard Purdie 

Some recipes reference these. Rather than continually trying to chase down the 
references
and taskhash issues, clear the variables for an easier life and simpler code. 
These
wouldn't convey anything useful in a native build.

Signed-off-by: Richard Purdie 
(cherry picked from commit f8edeead263708889d31a7ff578ef8274cb678b4)
Signed-off-by: Jermain Horsman 
Signed-off-by: Steve Sakoman 
---
 meta/classes/native.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 4de96cd59b..56726301bd 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -23,6 +23,8 @@ TARGET_CFLAGS = "${BUILD_CFLAGS}"
 TARGET_CXXFLAGS = "${BUILD_CXXFLAGS}"
 TARGET_LDFLAGS = "${BUILD_LDFLAGS}"
 TARGET_FPU = ""
+TUNE_FEATURES = ""
+ABIEXTENSION = ""
 
 HOST_ARCH = "${BUILD_ARCH}"
 HOST_OS = "${BUILD_OS}"
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192007): 
https://lists.openembedded.org/g/openembedded-core/message/192007
Mute This Topic: https://lists.openembedded.org/mt/103048241/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][kirkstone 14/15] rust-cross: Simplfy the rust_gen_target calls

2023-12-07 Thread Steve Sakoman
From: Richard Purdie 

Match the code in rust-cross-canadian so that further simplifications
can be considered in future.

Signed-off-by: Richard Purdie 
(cherry picked from commit 5cb62d0a33777cb9afb1eea5f736a2580ce50dc7)
Signed-off-by: Jermain Horsman 
Signed-off-by: Steve Sakoman 
---
 meta/recipes-devtools/rust/rust-common.inc | 12 ++--
 meta/recipes-devtools/rust/rust-cross.inc  | 16 
 2 files changed, 10 insertions(+), 18 deletions(-)

diff --git a/meta/recipes-devtools/rust/rust-common.inc 
b/meta/recipes-devtools/rust/rust-common.inc
index 3252827818..a73367bbd5 100644
--- a/meta/recipes-devtools/rust/rust-common.inc
+++ b/meta/recipes-devtools/rust/rust-common.inc
@@ -119,12 +119,12 @@ def llvm_features(d):
 
 
 ## arm-unknown-linux-gnueabihf
-DATA_LAYOUT[arm] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
-TARGET_ENDIAN[arm] = "little"
-TARGET_POINTER_WIDTH[arm] = "32"
-TARGET_C_INT_WIDTH[arm] = "32"
-MAX_ATOMIC_WIDTH[arm] = "64"
-FEATURES[arm] = "+v6,+vfp2"
+DATA_LAYOUT[arm-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+TARGET_ENDIAN[arm-eabi] = "little"
+TARGET_POINTER_WIDTH[arm-eabi] = "32"
+TARGET_C_INT_WIDTH[arm-eabi] = "32"
+MAX_ATOMIC_WIDTH[arm-eabi] = "64"
+FEATURES[arm-eabi] = "+v6,+vfp2"
 
 ## armv7-unknown-linux-gnueabihf
 DATA_LAYOUT[armv7-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
diff --git a/meta/recipes-devtools/rust/rust-cross.inc 
b/meta/recipes-devtools/rust/rust-cross.inc
index 4c026b1f38..2e47a3aa5f 100644
--- a/meta/recipes-devtools/rust/rust-cross.inc
+++ b/meta/recipes-devtools/rust/rust-cross.inc
@@ -1,17 +1,9 @@
 python do_rust_gen_targets () {
 wd = d.getVar('WORKDIR') + '/targets/'
-# It is important 'TARGET' is last here so that it overrides our less
-# informed choices for BUILD & HOST if TARGET happens to be the same as
-# either of them.
-for thing in ['BUILD', 'HOST', 'TARGET']:
-bb.debug(1, "rust_gen_target for " + thing)
-features = ""
-cpu = "generic"
-arch = d.getVar('{}_ARCH'.format(thing))
-if thing is "TARGET":
-features = d.getVar('TARGET_LLVM_FEATURES') or ""
-cpu = d.getVar('TARGET_LLVM_CPU')
-rust_gen_target(d, thing, wd, features, cpu, arch)
+# Order of BUILD, HOST, TARGET is important in case the files overwrite, 
most specific last
+rust_gen_target(d, 'BUILD', wd, "", "generic", d.getVar('BUILD_ARCH'))
+rust_gen_target(d, 'HOST', wd, "", "generic", d.getVar('HOST_ARCH'))
+rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_LLVM_FEATURES') or "", 
d.getVar('TARGET_LLVM_CPU'), d.getVar('TARGET_ARCH'))
 }
 
 # Otherwise we'll depend on what we provide
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192006): 
https://lists.openembedded.org/g/openembedded-core/message/192006
Mute This Topic: https://lists.openembedded.org/mt/103048240/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][kirkstone 13/15] rust-cross/rust-common: Merge arm target handling code to fix cross-canadian

2023-12-07 Thread Steve Sakoman
From: Richard Purdie 

rust-cross had special handling for armv7 targets but we also need this
for cross-canadian. Merge the code into the main function so everything is
consistent.

Also then fix the arm definition to be arm-eabi since ABI is correctly
being looked up.

Signed-off-by: Richard Purdie 
(cherry picked from commit ff3c3dbbd2bf1bb7bb70b55cca203e9eedcf14a8)
Signed-off-by: Jermain Horsman 
Signed-off-by: Steve Sakoman 
---
 meta/recipes-devtools/rust/rust-common.inc | 6 ++
 meta/recipes-devtools/rust/rust-cross.inc  | 7 +--
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-devtools/rust/rust-common.inc 
b/meta/recipes-devtools/rust/rust-common.inc
index ac00fd3d43..3252827818 100644
--- a/meta/recipes-devtools/rust/rust-common.inc
+++ b/meta/recipes-devtools/rust/rust-common.inc
@@ -297,6 +297,12 @@ def rust_gen_target(d, thing, wd, features, cpu, arch, 
abi=""):
 sys = sys_for(d, thing)
 prefix = prefix_for(d, thing)
 
+if thing == "TARGET":
+abi = d.getVar('ABIEXTENSION')
+# arm and armv7 have different targets in llvm
+if arch == "arm" and target_is_armv7(d):
+arch = 'armv7'
+
 rust_arch = oe.rust.arch_to_rust_arch(arch)
 
 if abi:
diff --git a/meta/recipes-devtools/rust/rust-cross.inc 
b/meta/recipes-devtools/rust/rust-cross.inc
index f6babfeeda..4c026b1f38 100644
--- a/meta/recipes-devtools/rust/rust-cross.inc
+++ b/meta/recipes-devtools/rust/rust-cross.inc
@@ -8,15 +8,10 @@ python do_rust_gen_targets () {
 features = ""
 cpu = "generic"
 arch = d.getVar('{}_ARCH'.format(thing))
-abi = ""
 if thing is "TARGET":
-abi = d.getVar('ABIEXTENSION')
-# arm and armv7 have different targets in llvm
-if arch == "arm" and target_is_armv7(d):
-arch = 'armv7'
 features = d.getVar('TARGET_LLVM_FEATURES') or ""
 cpu = d.getVar('TARGET_LLVM_CPU')
-rust_gen_target(d, thing, wd, features, cpu, arch, abi)
+rust_gen_target(d, thing, wd, features, cpu, arch)
 }
 
 # Otherwise we'll depend on what we provide
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192005): 
https://lists.openembedded.org/g/openembedded-core/message/192005
Mute This Topic: https://lists.openembedded.org/mt/103048239/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][kirkstone 12/15] rust-cross-canadian: Fix ordering of target json config generation

2023-12-07 Thread Steve Sakoman
From: Richard Purdie 

Based upon a patch from Otavio Salvador ,
ensure the target json files are written in the correct order with
the most specific last incase it overwrites earlier files if the prefixes
match.

Signed-off-by: Richard Purdie 
(cherry picked from commit 1912c4e9e0ecf9655f3b3a41588b54d7956f5899)
Signed-off-by: Jermain Horsman 
Signed-off-by: Steve Sakoman 
---
 meta/recipes-devtools/rust/rust-cross-canadian-common.inc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/rust/rust-cross-canadian-common.inc 
b/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
index 1f21c8af26..df4901f1fa 100644
--- a/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
+++ b/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
@@ -27,9 +27,10 @@ DEBUG_PREFIX_MAP = 
"-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDP
 
 python do_rust_gen_targets () {
 wd = d.getVar('WORKDIR') + '/targets/'
-rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_LLVM_FEATURES') or "", 
d.getVar('TARGET_LLVM_CPU'), d.getVar('TARGET_ARCH'))
-rust_gen_target(d, 'HOST', wd, "", "generic", d.getVar('HOST_ARCH'))
+# Order of BUILD, HOST, TARGET is important in case the files overwrite, 
most specific last
 rust_gen_target(d, 'BUILD', wd, "", "generic", d.getVar('BUILD_ARCH'))
+rust_gen_target(d, 'HOST', wd, "", "generic", d.getVar('HOST_ARCH'))
+rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_LLVM_FEATURES') or "", 
d.getVar('TARGET_LLVM_CPU'), d.getVar('TARGET_ARCH'))
 }
 
 INHIBIT_DEFAULT_RUST_DEPS = "1"
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192004): 
https://lists.openembedded.org/g/openembedded-core/message/192004
Mute This Topic: https://lists.openembedded.org/mt/103048238/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][kirkstone 11/15] rust-common: Set llvm-target correctly for cross SDK targets

2023-12-07 Thread Steve Sakoman
From: Richard Purdie 

When a 'BUILD' target is requested we shouldn't be looking at TARGET_SYS but
at BUILD_SYS. Due to the way rust mangles triplets, we need the HOST_SYS triplet
to work with existing code - fixing that issue is a separate patch.

Also drop the arch_abi argument, it doens't make any sense to a getVar() call
and was a copy and paste error.

Based on a patch from Otavio Salvador  but separated 
out
and tweaked.

Fixes: bd36593ba3 ("rust-common: Drop LLVM_TARGET and simplify")

Signed-off-by: Richard Purdie 
(cherry picked from commit d554161a045d12411f288394e253c54aa4c1257c)
Signed-off-by: Jermain Horsman 
Signed-off-by: Steve Sakoman 
---
 meta/recipes-devtools/rust/rust-common.inc | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/rust/rust-common.inc 
b/meta/recipes-devtools/rust/rust-common.inc
index db0bd8fc1b..ac00fd3d43 100644
--- a/meta/recipes-devtools/rust/rust-common.inc
+++ b/meta/recipes-devtools/rust/rust-common.inc
@@ -307,9 +307,13 @@ def rust_gen_target(d, thing, wd, features, cpu, arch, 
abi=""):
 features = features or d.getVarFlag('FEATURES', arch_abi) or ""
 features = features.strip()
 
+llvm_target = d.getVar('RUST_TARGET_SYS')
+if thing == "BUILD":
+llvm_target = d.getVar('RUST_HOST_SYS')
+
 # build tspec
 tspec = {}
-tspec['llvm-target'] = d.getVar('RUST_TARGET_SYS', arch_abi)
+tspec['llvm-target'] = llvm_target
 tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch_abi)
 tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch_abi))
 tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', 
arch_abi)
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192003): 
https://lists.openembedded.org/g/openembedded-core/message/192003
Mute This Topic: https://lists.openembedded.org/mt/103048237/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][kirkstone 10/15] rust-llvm: Allow overriding LLVM target archs

2023-12-07 Thread Steve Sakoman
From: Niko Mauno 

Move the default value into a variable which can be overridden to
match more accurately the use case specific scenario.

(From OE-Core rev: 645370e85d8742d0614cd52ca7507b5df2d38ad8)

Signed-off-by: Niko Mauno 
Signed-off-by: Alexandre Belloni 
Signed-off-by: Richard Purdie 
Signed-off-by: Steve Sakoman 
---
 meta/recipes-devtools/rust/rust-llvm.inc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/rust/rust-llvm.inc 
b/meta/recipes-devtools/rust/rust-llvm.inc
index e645e7a7ac..416a07cd40 100644
--- a/meta/recipes-devtools/rust/rust-llvm.inc
+++ b/meta/recipes-devtools/rust/rust-llvm.inc
@@ -25,9 +25,11 @@ CXXFLAGS:remove = "-g"
 
 LLVM_DIR = "llvm${LLVM_RELEASE}"
 
+RUST_LLVM_TARGETS ?= "ARM;AArch64;Mips;PowerPC;RISCV;X86"
+
 EXTRA_OECMAKE = " \
 -DCMAKE_BUILD_TYPE=Release \
--DLLVM_TARGETS_TO_BUILD='ARM;AArch64;Mips;PowerPC;RISCV;X86' \
+-DLLVM_TARGETS_TO_BUILD='${RUST_LLVM_TARGETS}' \
 -DLLVM_BUILD_DOCS=OFF \
 -DLLVM_ENABLE_TERMINFO=OFF \
 -DLLVM_ENABLE_ZLIB=OFF \
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#192002): 
https://lists.openembedded.org/g/openembedded-core/message/192002
Mute This Topic: https://lists.openembedded.org/mt/103048236/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][kirkstone 09/15] bash: changes to SIGINT handler while waiting for a child

2023-12-07 Thread Steve Sakoman
From: Wenlin Kang 

It rarely observes the problem while running shell script aborting
test repeatedly, at the problem, the test shell script never returns
to shell

Steps to reproduce:
1. Run test script and ctrl-c repeatedly
2. Observe whether returns to shell after ctrl-c

Fixed issue:
https://lists.gnu.org/archive/html/bug-bash/2023-10/msg00131.html

Signed-off-by: Wenlin Kang 
Signed-off-by: Steve Sakoman 
---
 ...T-handler-while-waiting-for-a-child-.patch | 229 ++
 meta/recipes-extended/bash/bash_5.1.16.bb |   1 +
 2 files changed, 230 insertions(+)
 create mode 100644 
meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch

diff --git 
a/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch
 
b/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch
new file mode 100644
index 00..c12b4b7766
--- /dev/null
+++ 
b/meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch
@@ -0,0 +1,229 @@
+From 7e84276e07c0835a8729d6fe1265e70eedb2a7f7 Mon Sep 17 00:00:00 2001
+From: Chet Ramey 
+Date: Mon, 30 Oct 2023 12:16:07 -0400
+Subject: [PATCH] changes to SIGINT handler while waiting for a child; skip
+ vertical whitespace after translating an integer
+
+Upstream-Status: Backport
+https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel=fe24a6a55e8850298b496c5b9d82f1866eba190e
+
+[Adjust and drop some codes to be applicable the tree]
+Signed-off-by: Wenlin Kang 
+---
+ general.c |  5 +++--
+ jobs.c| 26 --
+ tests/redir.right |  4 ++--
+ tests/redir11.sub |  2 ++
+ tests/type.right  | 16 
+ tests/type.tests  | 24 
+ 6 files changed, 43 insertions(+), 34 deletions(-)
+
+diff --git a/general.c b/general.c
+index 50d5216..68987e2 100644
+--- a/general.c
 b/general.c
+@@ -262,8 +262,9 @@ legal_number (string, result)
+   if (errno || ep == string)
+ return 0; /* errno is set on overflow or underflow */
+ 
+-  /* Skip any trailing whitespace, since strtoimax does not. */
+-  while (whitespace (*ep))
++  /* Skip any trailing whitespace, since strtoimax does not, using the same
++ test that strtoimax uses for leading whitespace. */
++  while (isspace ((unsigned char) *ep))
+ ep++;
+ 
+   /* If *string is not '\0' but *ep is '\0' on return, the entire string
+diff --git a/jobs.c b/jobs.c
+index 7c3b6e8..84dab4d 100644
+--- a/jobs.c
 b/jobs.c
+@@ -2727,6 +2727,10 @@ wait_for_background_pids (ps)
+ #define INVALID_SIGNAL_HANDLER (SigHandler *)wait_for_background_pids
+ static SigHandler *old_sigint_handler = INVALID_SIGNAL_HANDLER;
+ 
++/* The current SIGINT handler as set by restore_sigint_handler. Only valid
++   immediately after restore_sigint_handler, used for continuations. */
++static SigHandler *cur_sigint_handler = INVALID_SIGNAL_HANDLER;   
++
+ static int wait_sigint_received;
+ static int child_caught_sigint;
+ 
+@@ -2743,6 +2747,7 @@ wait_sigint_cleanup ()
+ static void
+ restore_sigint_handler ()
+ {
++  cur_sigint_handler = old_sigint_handler;
+   if (old_sigint_handler != INVALID_SIGNAL_HANDLER)
+ {
+   set_signal_handler (SIGINT, old_sigint_handler);
+@@ -2766,8 +2771,7 @@ wait_sigint_handler (sig)
+   restore_sigint_handler ();
+   /* If we got a SIGINT while in `wait', and SIGINT is trapped, do
+what POSIX.2 says (see builtins/wait.def for more info). */
+-  if (this_shell_builtin && this_shell_builtin == wait_builtin &&
+-signal_is_trapped (SIGINT) &&
++  if (signal_is_trapped (SIGINT) &&
+ ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
+   {
+ trap_handler (SIGINT);/* set pending_traps[SIGINT] */
+@@ -2792,6 +2796,8 @@ wait_sigint_handler (sig)
+ {
+   set_exit_status (128+SIGINT);
+   restore_sigint_handler ();
++  if (cur_sigint_handler == INVALID_SIGNAL_HANDLER)
++  set_sigint_handler ();  /* XXX - only do this in one 
place */
+   kill (getpid (), SIGINT);
+ }
+ 
+@@ -2934,15 +2940,15 @@ wait_for (pid, flags)
+ {
+   SigHandler *temp_sigint_handler;
+ 
+-  temp_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
+-  if (temp_sigint_handler == wait_sigint_handler)
+-  {
++  temp_sigint_handler = old_sigint_handler;
++  old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
++  if (old_sigint_handler == wait_sigint_handler)
++  {
+ #if defined (DEBUG)
+-internal_warning ("wait_for: recursively setting old_sigint_handler 
to wait_sigint_handler: running_trap = %d", running_trap);
++  internal_debug ("wait_for: recursively setting 
old_sigint_handler to wait_sigint_handler: running_trap = %d", running_trap);
+ #endif
+-  }
+-  else
+-  old_sigint_handler = 

[OE-core][kirkstone 08/15] cve-exclusion_5.10.inc: update for 5.10.202

2023-12-07 Thread Steve Sakoman
Signed-off-by: Steve Sakoman 
---
 .../linux/cve-exclusion_5.10.inc  | 92 +++
 1 file changed, 73 insertions(+), 19 deletions(-)

diff --git a/meta/recipes-kernel/linux/cve-exclusion_5.10.inc 
b/meta/recipes-kernel/linux/cve-exclusion_5.10.inc
index 7b4f68c428..583d81d0f2 100644
--- a/meta/recipes-kernel/linux/cve-exclusion_5.10.inc
+++ b/meta/recipes-kernel/linux/cve-exclusion_5.10.inc
@@ -1,9 +1,9 @@
 
 # Auto-generated CVE metadata, DO NOT EDIT BY HAND.
-# Generated at 2023-10-24 06:17:08.900468 for version 5.10.197
+# Generated at 2023-12-05 05:25:07.507188 for version 5.10.202
 
 python check_kernel_cve_status_version() {
-this_version = "5.10.197"
+this_version = "5.10.202"
 kernel_version = d.getVar("LINUX_VERSION")
 if kernel_version != this_version:
 bb.warn("Kernel CVE status needs updating: generated for %s but kernel 
is %s" % (this_version, kernel_version))
@@ -5651,7 +5651,8 @@ CVE_CHECK_IGNORE += "CVE-2021-43976"
 # cpe-stable-backport: Backported in 5.10.89
 CVE_CHECK_IGNORE += "CVE-2021-44733"
 
-# CVE-2021-44879 needs backporting (fixed from 5.17rc1)
+# cpe-stable-backport: Backported in 5.10.200
+CVE_CHECK_IGNORE += "CVE-2021-44879"
 
 # cpe-stable-backport: Backported in 5.10.91
 CVE_CHECK_IGNORE += "CVE-2021-45095"
@@ -6515,7 +6516,7 @@ CVE_CHECK_IGNORE += "CVE-2022-43945"
 
 # CVE-2022-44033 needs backporting (fixed from 6.4rc1)
 
-# CVE-2022-44034 has no known resolution
+# CVE-2022-44034 needs backporting (fixed from 6.4rc1)
 
 # CVE-2022-4543 has no known resolution
 
@@ -6686,7 +6687,8 @@ CVE_CHECK_IGNORE += "CVE-2023-1118"
 # fixed-version: only affects 5.15rc1 onwards
 CVE_CHECK_IGNORE += "CVE-2023-1192"
 
-# CVE-2023-1193 has no known resolution
+# fixed-version: only affects 5.15rc1 onwards
+CVE_CHECK_IGNORE += "CVE-2023-1193"
 
 # fixed-version: only affects 5.15rc1 onwards
 CVE_CHECK_IGNORE += "CVE-2023-1194"
@@ -6982,7 +6984,8 @@ CVE_CHECK_IGNORE += "CVE-2023-3106"
 
 # CVE-2023-31084 needs backporting (fixed from 6.4rc3)
 
-# CVE-2023-31085 needs backporting (fixed from 5.10.198)
+# cpe-stable-backport: Backported in 5.10.198
+CVE_CHECK_IGNORE += "CVE-2023-31085"
 
 # cpe-stable-backport: Backported in 5.10.184
 CVE_CHECK_IGNORE += "CVE-2023-3111"
@@ -7098,7 +7101,8 @@ CVE_CHECK_IGNORE += "CVE-2023-34256"
 # fixed-version: only affects 6.1 onwards
 CVE_CHECK_IGNORE += "CVE-2023-34319"
 
-# CVE-2023-34324 needs backporting (fixed from 5.10.198)
+# cpe-stable-backport: Backported in 5.10.198
+CVE_CHECK_IGNORE += "CVE-2023-34324"
 
 # fixed-version: only affects 5.15rc1 onwards
 CVE_CHECK_IGNORE += "CVE-2023-3439"
@@ -7123,7 +7127,8 @@ CVE_CHECK_IGNORE += "CVE-2023-35824"
 # fixed-version: only affects 5.18rc1 onwards
 CVE_CHECK_IGNORE += "CVE-2023-35826"
 
-# CVE-2023-35827 has no known resolution
+# cpe-stable-backport: Backported in 5.10.199
+CVE_CHECK_IGNORE += "CVE-2023-35827"
 
 # cpe-stable-backport: Backported in 5.10.180
 CVE_CHECK_IGNORE += "CVE-2023-35828"
@@ -7201,7 +7206,8 @@ CVE_CHECK_IGNORE += "CVE-2023-3867"
 # cpe-stable-backport: Backported in 5.10.195
 CVE_CHECK_IGNORE += "CVE-2023-39189"
 
-# CVE-2023-39191 needs backporting (fixed from 6.3rc1)
+# fixed-version: only affects 5.19rc1 onwards
+CVE_CHECK_IGNORE += "CVE-2023-39191"
 
 # cpe-stable-backport: Backported in 5.10.195
 CVE_CHECK_IGNORE += "CVE-2023-39192"
@@ -7212,6 +7218,11 @@ CVE_CHECK_IGNORE += "CVE-2023-39193"
 # cpe-stable-backport: Backported in 5.10.192
 CVE_CHECK_IGNORE += "CVE-2023-39194"
 
+# cpe-stable-backport: Backported in 5.10.188
+CVE_CHECK_IGNORE += "CVE-2023-39197"
+
+# CVE-2023-39198 needs backporting (fixed from 6.5rc7)
+
 # cpe-stable-backport: Backported in 5.10.188
 CVE_CHECK_IGNORE += "CVE-2023-4004"
 
@@ -7223,7 +7234,8 @@ CVE_CHECK_IGNORE += "CVE-2023-4015"
 # cpe-stable-backport: Backported in 5.10.190
 CVE_CHECK_IGNORE += "CVE-2023-40283"
 
-# CVE-2023-40791 needs backporting (fixed from 6.5rc6)
+# fixed-version: only affects 6.3rc1 onwards
+CVE_CHECK_IGNORE += "CVE-2023-40791"
 
 # cpe-stable-backport: Backported in 5.10.190
 CVE_CHECK_IGNORE += "CVE-2023-4128"
@@ -7253,7 +7265,8 @@ CVE_CHECK_IGNORE += "CVE-2023-4207"
 # cpe-stable-backport: Backported in 5.10.190
 CVE_CHECK_IGNORE += "CVE-2023-4208"
 
-# CVE-2023-4244 needs backporting (fixed from 5.10.198)
+# cpe-stable-backport: Backported in 5.10.198
+CVE_CHECK_IGNORE += "CVE-2023-4244"
 
 # cpe-stable-backport: Backported in 5.10.190
 CVE_CHECK_IGNORE += "CVE-2023-4273"
@@ -7264,7 +7277,8 @@ CVE_CHECK_IGNORE += "CVE-2023-42752"
 # cpe-stable-backport: Backported in 5.10.195
 CVE_CHECK_IGNORE += "CVE-2023-42753"
 
-# CVE-2023-42754 needs backporting (fixed from 5.10.198)
+# cpe-stable-backport: Backported in 5.10.198
+CVE_CHECK_IGNORE += "CVE-2023-42754"
 
 # cpe-stable-backport: Backported in 5.10.197
 CVE_CHECK_IGNORE += "CVE-2023-42755"
@@ -7290,7 +7304,8 @@ CVE_CHECK_IGNORE += "CVE-2023-44466"
 # cpe-stable-backport: Backported in 5.10.118
 CVE_CHECK_IGNORE += 

[OE-core][kirkstone 07/15] linux-yocto/5.10: update to v5.10.202

2023-12-07 Thread Steve Sakoman
From: Bruce Ashfield 

Updating  to the latest korg -stable release that comprises
the following commits:

479e8b892541 Linux 5.10.202
610057f4f6e0 interconnect: qcom: Add support for mask-based BCMs
7ce66afcaaf6 netfilter: nf_tables: disable toggling dormant table state 
more than once
d9c4da8cb74e netfilter: nf_tables: fix table flag updates
7d1d3f113425 netfilter: nftables: update table flags from the commit phase
a98172e36e5f tracing: Have trace_event_file have ref counters
c6e8af2a8a63 io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid
aeeb1ad2dd4e drm/amd/display: Change the DMCUB mailbox memory location from 
FB to inbox
e2bdd437886c drm/amdgpu: fix error handling in amdgpu_bo_list_get()
dfa8e63ca527 drm/amd/pm: Handle non-terminated overdrive commands.
7dc933b4b498 ext4: remove gdb backup copy for meta bg in 
setup_new_flex_group_blocks
0932764fb54a ext4: correct the start block of counting reserved clusters
3c1ad03a5ff2 ext4: correct return value of ext4_convert_meta_bg
d739a7e38944 ext4: correct offset of gdb backup in non meta_bg group to 
update_backups
c878db71edc0 ext4: apply umask if ACL support is disabled
3a51aee542b0 Revert "net: r8169: Disable multicast filter for RTL8168H and 
RTL8107E"
f6e014b5eb1d media: qcom: camss: Fix vfe_get() error jump
e2d2e266089d mm: kmem: drop __GFP_NOFAIL when allocating objcg vectors
6875820f36bf nfsd: fix file memleak on client_opens_release
b51b20c018c6 media: venus: hfi: add checks to handle capabilities from 
firmware
bcee276a1e02 media: venus: hfi: fix the check to handle session buffer 
requirement
da240b7bada2 media: venus: hfi_parser: Add check to keep the number of 
codecs within range
0f887306bd8b media: sharp: fix sharp encoding
dfa9f4ea6502 media: lirc: drop trailing space from scancode transmit
c041f5ddef00 f2fs: avoid format-overflow warning
829f0d5231b7 i2c: i801: fix potential race in 
i801_block_transaction_byte_by_byte
430603f6de33 net: phylink: initialize carrier state at creation
4dc0484e90a3 net: dsa: lan9303: consequently nested-lock physical MDIO
cb1006640cb3 i2c: designware: Disable TX_EMPTY irq while waiting for block 
length byte
8e29eebe4c39 lsm: fix default return value for inode_getsecctx
8327f50442d2 lsm: fix default return value for vm_enough_memory
a011391f019c Revert ncsi: Propagate carrier gain/loss events to the NCSI 
controller
969d994612ff arm64: dts: qcom: ipq6018: Fix tcsr_mutex register size
2b3931eb8e9c arm64: dts: qcom: ipq6018: switch TCSR mutex to MMIO
bdda1c356d58 PCI: exynos: Don't discard .remove() callback
62d15b6a6ec9 Bluetooth: btusb: Add 0bda:b85b for Fn-Link RTL8852BE
dbbf3c456002 Bluetooth: btusb: Add RTW8852BE device 13d3:3570 to device 
tables
990d4c76d254 bluetooth: Add device 13d3:3571 to device tables
3aba34baa4fb bluetooth: Add device 0bda:887b to device tables
0952747362c1 Bluetooth: btusb: Add Realtek RTL8852BE support ID 
0x0cb8:0xc559
8617305611c1 cpufreq: stats: Fix buffer overflow detection in trans_stats()
2ed25af15b32 tty: serial: meson: fix hard LOCKUP on crtscts mode
07c61839582d serial: meson: Use platform_get_irq() to get the interrupt
980c3135f1ae tty: serial: meson: retrieve port FIFO size from DT
1e66cd408353 serial: meson: remove redundant initialization of variable id
ba30578def84 ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC
ddd47d8d1ba6 ALSA: hda/realtek - Add Dell ALC295 to pin fall back table
a681d28b973f ALSA: info: Fix potential deadlock at disconnection
f04fa1e1997f xhci: Enable RPM on controllers that support low-power states
5e34fe50a976 parisc/pgtable: Do not drop upper 5 address bits of physical 
address
064c697cac4b parisc: Prevent booting 64-bit kernels on PA1.x machines
c6effcdd7dd0 i3c: master: cdns: Fix reading status register
76320f05b99d mtd: cfi_cmdset_0001: Byte swap OTP info
dce3e7c40055 mm/memory_hotplug: use pfn math in place of direct struct page 
manipulation
63d2023fbbe1 mm/cma: use nth_page() in place of direct struct page 
manipulation
d24340f08104 dmaengine: stm32-mdma: correct desc prep when channel running
788322e1ede6 mcb: fix error handling for different scenarios when parsing
25284c46b657 i2c: core: Run atomic i2c xfer when !preemptible
8f8fc95b3a7f kernel/reboot: emergency_restart: Set correct system_state
9386f59759b4 quota: explicitly forbid quota files from being encrypted
f729cf6f3217 jbd2: fix potential data lost in recovering journal raced with 
synchronizing fs bdev
db5ebaeb8fda PCI: keystone: Don't discard .probe() callback
2bcdc1b6b61e PCI: keystone: Don't discard .remove() callback
943347e53a75 genirq/generic_chip: Make irq_remove_generic_chip() irqdomain 
aware
b2c194fe8f31 mmc: meson-gx: Remove setting of CMD_CFG_ERROR
03ed26935beb wifi: ath11k: fix 

[OE-core][kirkstone 06/15] linux-yocto/5.10: update to v5.10.200

2023-12-07 Thread Steve Sakoman
From: Bruce Ashfield 

Updating  to the latest korg -stable release that comprises
the following commits:

3e55583405ac Linux 5.10.200
a5feaf765935 ALSA: hda: intel-dsp-config: Fix JSL Chromebook quirk detection
9109649559f9 tty: 8250: Add support for Intashield IS-100
73bcb4d44988 tty: 8250: Add support for Brainboxes UP cards
119f38e8ca16 tty: 8250: Add support for additional Brainboxes UC cards
a8bf6f62187f tty: 8250: Remove UC-257 and UC-431
e705aee2a657 usb: raw-gadget: properly handle interrupted requests
8e0324f2cbb7 usb: storage: set 1.50 as the lower bcdDevice for older "Super 
Top" compatibility
747b8f877998 PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD 
device
deddf60c271f can: isotp: isotp_sendmsg(): fix TX state detection and wait 
behavior
8716c28f695c can: isotp: isotp_bind(): do not validate unused address 
information
e4c4e0e1b29c can: isotp: add local echo tx processing and tx without FC
569c95b7ece0 can: isotp: handle wait_event_interruptible() return values
de3c02383aa6 can: isotp: check CAN address family in isotp_bind()
0386f3704789 can: isotp: isotp_bind(): return -EINVAL on incorrect CAN ID 
formatting
93b1e3f3a263 can: isotp: set max PDU size to 64 kByte
7adbc048d84b can: isotp: Add error message if txqueuelen is too small
57798a2cfe15 can: isotp: add symbolic error message to isotp_module_init()
186ab5645199 can: isotp: change error format from decimal to symbolic error 
names
b881ce6c7d10 powerpc/mm: Fix boot crash with FLATMEM
1b285a1bfb0d net: chelsio: cxgb4: add an error code check in t4_load_phy_fw
955a1105eec2 platform/mellanox: mlxbf-tmfifo: Fix a warning message
268ec38b797b scsi: mpt3sas: Fix in error path
abf9c7811836 fbdev: uvesafb: Call cn_del_callback() at the end of 
uvesafb_exit()
ec45886637ee ASoC: rt5650: fix the wrong result of key button
c683d8b6417c netfilter: nfnetlink_log: silence bogus compiler warning
66cc633fc6e1 spi: npcm-fiu: Fix UMA reads when dummy.nbytes == 0
6f9093b6f8f7 fbdev: atyfb: only use ioremap_uc() on i386 and ia64
ead3c123a753 Input: synaptics-rmi4 - handle reset delay when using SMBus 
trsnsport
fb8f253b9532 dmaengine: ste_dma40: Fix PM disable depth imbalance in 
d40_probe
e619b38a873f irqchip/stm32-exti: add missing DT IRQ flag translation
d151fb801957 net: sched: cls_u32: Fix allocation size in u32_init()
9ade01b2949b x86: Fix .brk attribute in linker script
3fdd5b2bb09f rpmsg: Fix possible refcount leak in 
rpmsg_register_device_override()
41c13a571de4 rpmsg: glink: Release driver_override
5f1bb9f4d4b5 rpmsg: Fix calling device_lock() on non-initialized device
5bbd3469a4b6 rpmsg: Fix kfree() of static memory on setting driver_override
d0208fb38f43 rpmsg: Constify local variable in field store macro
da369d3996cc driver: platform: Add helper for safer setting of 
driver_override
4a20f5ea62db objtool/x86: add missing embedded_insn check
6b977a7323f7 ext4: avoid overlapping preallocations due to overflow
58fe961c606c ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow
c0db17e55ff6 ext4: add two helper functions extent_logical_end() and 
pa_logical_end()
c761d34a7ec0 x86/mm: Fix RESERVE_BRK() for older binutils
01a5e17e3ef3 x86/mm: Simplify RESERVE_BRK()
571ce7d944cd f2fs: fix to do sanity check on inode type during garbage 
collection
d1c37e849f37 smbdirect: missing rc checks while waiting for rdma events
b2e62728b106 kobject: Fix slab-out-of-bounds in fill_kobj_path()
b9b197f65904 x86/i8259: Skip probing when ACPI/MADT advertises PCAT 
compatibility
62184eb77821 iio: adc: xilinx-xadc: Don't clobber preset 
voltage/temperature thresholds
e96eb8853f33 iio: adc: xilinx: use more devres helpers and remove remove()
0eb1198fe4d6 iio: adc: xilinx: use devm_krealloc() instead of kfree() + 
kcalloc()
c4b496c9f772 iio: adc: xilinx: use helper variable for >dev
d8928befffe5 clk: Sanitize possible_parent_show to Handle Return Value of 
of_clk_get_parent_name
09ce0d85cc00 sparc32: fix a braino in fault handling in 
csum_and_copy_..._user()
0258ca32b0ea perf/core: Fix potential NULL deref
4e3c606afa25 nvmem: imx: correct nregs for i.MX6UL
37ccf15ebeec nvmem: imx: correct nregs for i.MX6SLL
7a1c29e93c25 nvmem: imx: correct nregs for i.MX6ULL
d44166341f4b misc: fastrpc: Clean buffers on remote invocation failures
866838eb8ee9 tracing/kprobes: Fix the description of variable length 
arguments
ca764116b5c1 i2c: aspeed: Fix i2c bus hang in slave read
18c5167d0460 i2c: stm32f7: Fix PEC handling in case of SMBUS transfers
80416f6ba002 i2c: muxes: i2c-demux-pinctrl: Use of_get_i2c_adapter_by_node()
9a9ead53e72f i2c: muxes: i2c-mux-gpmux: Use of_get_i2c_adapter_by_node()
3cb69f1dbc86 i2c: muxes: i2c-mux-pinctrl: Use of_get_i2c_adapter_by_node()
0c8587fec9d5 iio: exynos-adc: 

[OE-core][kirkstone 05/15] linux-yocto/5.10: update to v5.10.198

2023-12-07 Thread Steve Sakoman
From: Bruce Ashfield 

Updating  to the latest korg -stable release that comprises
the following commits:

a8d812240fdd Linux 5.10.198
660627c71bc1 xen/events: replace evtchn_rwlock with RCU
1e3d016a9506 mmc: renesas_sdhi: only reset SCC when its pointer is populated
a7d86a77c33b netfilter: nftables: exthdr: fix 4-byte stack OOB write
84f6b686df2d netfilter: nf_tables: fix kdoc warnings after gc rework
c17446c00805 parisc: Restore __ldcw_align for PA-RISC 2.0 processors
cfc93ae6 RDMA/mlx5: Fix NULL string error
0d520cdb0cd0 RDMA/siw: Fix connection failure handling
5a4a6a47e074 RDMA/uverbs: Fix typo of sizeof argument
626868282c36 RDMA/cma: Fix truncation compilation warning in make_cma_ports
7de0e42444e9 RDMA/cma: Initialize ib_sa_multicast structure to 0 when join
36953b4da78b gpio: pxa: disable pinctrl calls for MMP_GPIO
6ad972e66870 gpio: aspeed: fix the GPIO number passed to 
pinctrl_gpio_set_config()
d7d8f1a679ec IB/mlx4: Fix the size of a buffer in add_port_entries()
204c2d485f86 of: dynamic: Fix potential memory leak in of_changeset_action()
b74f12f98b7f RDMA/core: Require admin capabilities to set system parameters
ccd87fe7a0f6 dm zoned: free dmz->ddev array in dmz_put_zoned_devices
82d87c944ea8 cpupower: add Makefile dependencies for install targets
492241613cf4 sctp: update hb timer immediately after users change 
hb_interval
f87658493898 sctp: update transport state when processing a dupcook packet
ff346b01eba5 tcp: fix delayed ACKs for MSS boundary condition
677aaa261e7a tcp: fix quick-ack counting to count actual ACKs of new data
6a24d0661fa3 tipc: fix a potential deadlock on >lock
b9f1568ba37f net: stmmac: dwmac-stm32: fix resume on STM32 MCU
3a5142f01758 netfilter: nf_tables: nft_set_rbtree: fix spurious insertion 
failure
0ba9348532bd netfilter: handle the connecting collision properly in 
nf_conntrack_proto_sctp
b212f361a5d1 net: ethernet: ti: am65-cpsw: Fix error code in 
am65_cpsw_nuss_init_tx_chns()
dba849cc9811 net: nfc: llcp: Add lock when modifying device list
30bc4d7aebe3 net: usb: smsc75xx: Fix uninit-value access in 
__smsc75xx_read_reg
d44346dda7d4 net: dsa: mv88e6xxx: Avoid EEPROM timeout when EEPROM is absent
96b2e1090397 ipv4, ipv6: Fix handling of transhdrlen in 
__ip{,6}_append_data()
2ea52a2fb8e8 net: fix possible store tearing in neigh_periodic_work()
6e3d9e5caba8 modpost: add missing else to the "of" check
225cd4f67bd4 NFSv4: Fix a nfs4_state_manager() race
d8f2ba9ec358 ima: rework CONFIG_IMA dependency block
77f82df960cb scsi: target: core: Fix deadlock due to recursive locking
a9430129d8db ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig
725fd2080559 regmap: rbtree: Fix wrong register marked as in-cache when 
creating new node
666cdc43df24 wifi: mt76: mt76x02: fix MT76x0 external LNA gain handling
54a4faab2baa drivers/net: process the result of hdlc_open() and add call of 
hdlc_close() in uhdlc_close()
93dd471d3a2f bpf: Fix tr dereferencing
10a18c8bac7f wifi: mwifiex: Fix oob check condition in 
mwifiex_process_rx_packet
8c15c1bcc5b5 wifi: iwlwifi: dbg_ini: fix structure packing
a5f643ab1163 ubi: Refuse attaching if mtd's erasesize is 0
33420a82067b arm64: Add Cortex-A520 CPU part definition
81d03e251894 net: prevent rewrite of msg_name in sock_sendmsg()
72fc02ebfc93 net: replace calls to sock->ops->connect() with 
kernel_connect()
1aeff207e295 wifi: mwifiex: Fix tlv_buf_left calculation
f6f25930fa34 qed/red_ll2: Fix undefined behavior bug in struct qed_ll2_info
b9c4b3ca9016 scsi: zfcp: Fix a double put in zfcp_port_enqueue()
04b6b67a3e77 Revert "PCI: qcom: Disable write access to read only registers 
for IP v2.3.3"
c2cf152e8bb8 Revert "clk: imx: pll14xx: dynamically configure PLL for 
393216000/361267200Hz"
f94471c0cc31 block: fix use-after-free of q->q_usage_counter
0d6987d4a34c rbd: take header_rwsem in rbd_dev_refresh() only when updating
d3d170c5fc06 rbd: decouple parent info read-in from updating rbd_dev
3ceb306f9b2d rbd: decouple header read-in from updating rbd_dev->header
7c4f11d73b24 rbd: move rbd_dev_refresh() definition
d0952ce316d1 drm/mediatek: Fix backport issue in mtk_drm_gem_prime_vmap()
c33d75a57a81 ring-buffer: Fix bytes info in per_cpu buffer stats
0ecde7dd766f ring-buffer: remove obsolete comment for free_buffer_page()
2ad1a1d3d616 NFSv4: Fix a state manager thread deadlock regression
ec4325e80633 NFS: rename nfs_client_kset to nfs_kset
598539f38c72 NFS: Cleanup unused rpc_clnt variable
19f3d5d13b75 spi: zynqmp-gqspi: fix clock imbalance on probe failure
2cdec9c13f81 spi: spi-zynqmp-gqspi: Fix runtime PM imbalance in 
zynqmp_qspi_probe
ae03dafc3761 fs: binfmt_elf_efpic: fix personality for ELF-FDPIC
8ec1abb59a98 ata: libata-sata: increase PMP SRST timeout to 10s

[OE-core][kirkstone 04/15] vim: upgrade 9.0.2068 -> 9.0.2130

2023-12-07 Thread Steve Sakoman
From: Tim Orling 

https://github.com/vim/vim/compare/v9.0.2068...v9.0.2130

CVE: CVE-2023-48231
CVE: CVE-2023-48232
CVE: CVE-2023-48233
CVE: CVE-2023-48234
CVE: CVE-2023-48235
CVE: CVE-2023-48236
CVE: CVE-2023-48237

Signed-off-by: Tim Orling 
Signed-off-by: Alexandre Belloni 
(cherry picked from commit 5978d565a9e700485fc563dfe2e3c0045dd74b59)
Signed-off-by: Steve Sakoman 
---
 meta/recipes-support/vim/vim.inc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-support/vim/vim.inc b/meta/recipes-support/vim/vim.inc
index a37310afd8..6b440d8947 100644
--- a/meta/recipes-support/vim/vim.inc
+++ b/meta/recipes-support/vim/vim.inc
@@ -19,8 +19,8 @@ SRC_URI = 
"git://github.com/vim/vim.git;branch=master;protocol=https \
file://no-path-adjust.patch \
"
 
-PV .= ".2068"
-SRCREV = "9198c1f2b1ddecde22af918541e0de2a32f0f45a"
+PV .= ".2130"
+SRCREV = "075ad7047457debfeef13442c01e74088b461092"
 
 # Do not consider .z in x.y.z, as that is updated with every commit
 UPSTREAM_CHECK_GITTAGREGEX = "(?P\d+\.\d+)\.0"
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191996): 
https://lists.openembedded.org/g/openembedded-core/message/191996
Mute This Topic: https://lists.openembedded.org/mt/103048226/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][kirkstone 03/15] python3-cryptography: fix CVE-2023-49083

2023-12-07 Thread Steve Sakoman
From: Narpat Mali 

cryptography is a package designed to expose cryptographic primitives
and recipes to Python developers. Calling `load_pem_pkcs7_certificates`
or `load_der_pkcs7_certificates` could lead to a NULL-pointer dereference
and segfault. Exploitation of this vulnerability poses a serious risk of
Denial of Service (DoS) for any application attempting to deserialize a
PKCS7 blob/certificate. The consequences extend to potential disruptions
in system availability and stability. This vulnerability has been patched
in version 41.0.6.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-49083
https://security-tracker.debian.org/tracker/CVE-2023-49083

Signed-off-by: Narpat Mali 
Signed-off-by: Steve Sakoman 
---
 .../python3-cryptography/CVE-2023-49083.patch | 53 +++
 .../python/python3-cryptography_36.0.2.bb |  1 +
 2 files changed, 54 insertions(+)
 create mode 100644 
meta/recipes-devtools/python/python3-cryptography/CVE-2023-49083.patch

diff --git 
a/meta/recipes-devtools/python/python3-cryptography/CVE-2023-49083.patch 
b/meta/recipes-devtools/python/python3-cryptography/CVE-2023-49083.patch
new file mode 100644
index 00..d398eea1d9
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-cryptography/CVE-2023-49083.patch
@@ -0,0 +1,53 @@
+From 627ac5e314303acc00a19d58f09eb1eabd029fd1 Mon Sep 17 00:00:00 2001
+From: Alex Gaynor 
+Date: Wed, 6 Dec 2023 08:04:53 +
+Subject: [PATCH] Fixed crash when loading a PKCS#7 bundle with no certificates
+ (#9926)
+
+CVE: CVE-2023-49083
+
+Upstream-Status: Backport 
[https://github.com/pyca/cryptography/commit/1e7b4d074e14c4e694d3ce69ad6754a6039fd6ff]
+
+Signed-off-by: Narpat Mali 
+---
+ src/cryptography/hazmat/backends/openssl/backend.py | 5 -
+ tests/hazmat/primitives/test_pkcs7.py   | 6 ++
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/cryptography/hazmat/backends/openssl/backend.py 
b/src/cryptography/hazmat/backends/openssl/backend.py
+index 5606fe6..c43fea0 100644
+--- a/src/cryptography/hazmat/backends/openssl/backend.py
 b/src/cryptography/hazmat/backends/openssl/backend.py
+@@ -2189,9 +2189,12 @@ class Backend(BackendInterface):
+ _Reasons.UNSUPPORTED_SERIALIZATION,
+ )
+
++certs: list[x509.Certificate] = []
++if p7.d.sign == self._ffi.NULL:
++return certs
++
+ sk_x509 = p7.d.sign.cert
+ num = self._lib.sk_X509_num(sk_x509)
+-certs = []
+ for i in range(num):
+ x509 = self._lib.sk_X509_value(sk_x509, i)
+ self.openssl_assert(x509 != self._ffi.NULL)
+diff --git a/tests/hazmat/primitives/test_pkcs7.py 
b/tests/hazmat/primitives/test_pkcs7.py
+index 91ac842..b98a9f1 100644
+--- a/tests/hazmat/primitives/test_pkcs7.py
 b/tests/hazmat/primitives/test_pkcs7.py
+@@ -81,6 +81,12 @@ class TestPKCS7Loading(object):
+ mode="rb",
+ )
+
++def test_load_pkcs7_empty_certificates(self):
++der = b"\x30\x0B\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x07\x02"
++
++certificates = pkcs7.load_der_pkcs7_certificates(der)
++assert certificates == []
++
+
+ # We have no public verification API and won't be adding one until we get
+ # some requirements from users so this function exists to give us basic
+--
+2.40.0
diff --git a/meta/recipes-devtools/python/python3-cryptography_36.0.2.bb 
b/meta/recipes-devtools/python/python3-cryptography_36.0.2.bb
index c3ae0c1ab9..c429c75e1b 100644
--- a/meta/recipes-devtools/python/python3-cryptography_36.0.2.bb
+++ b/meta/recipes-devtools/python/python3-cryptography_36.0.2.bb
@@ -18,6 +18,7 @@ SRC_URI += " \
 file://0002-Cargo.toml-edition-2018-2021.patch \
 file://fix-leak-metric.patch \
 file://CVE-2023-23931.patch \
+file://CVE-2023-49083.patch \
 "
 
 inherit pypi python_setuptools3_rust
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191995): 
https://lists.openembedded.org/g/openembedded-core/message/191995
Mute This Topic: https://lists.openembedded.org/mt/103048224/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][kirkstone 02/15] xwayland: fix CVE-2023-5367

2023-12-07 Thread Steve Sakoman
From: Lee Chee Yang 

Signed-off-by: Lee Chee Yang 
Signed-off-by: Steve Sakoman 
---
 .../xwayland/xwayland/CVE-2023-5367.patch | 85 +++
 .../xwayland/xwayland_22.1.8.bb   |  4 +-
 2 files changed, 88 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-graphics/xwayland/xwayland/CVE-2023-5367.patch

diff --git a/meta/recipes-graphics/xwayland/xwayland/CVE-2023-5367.patch 
b/meta/recipes-graphics/xwayland/xwayland/CVE-2023-5367.patch
new file mode 100644
index 00..d4da1ecb4b
--- /dev/null
+++ b/meta/recipes-graphics/xwayland/xwayland/CVE-2023-5367.patch
@@ -0,0 +1,85 @@
+CVE: CVE-2023-5367
+Upstream-Status: Backport [ 
https://gitlab.freedesktop.org/xorg/xserver/-/commit/541ab2ecd41d4d8689e71855d93e492bc554719a
 ]
+Signed-off-by: Lee Chee Yang 
+
+
+From 541ab2ecd41d4d8689e71855d93e492bc554719a Mon Sep 17 00:00:00 2001
+From: Peter Hutterer 
+Date: Tue, 3 Oct 2023 11:53:05 +1000
+Subject: [PATCH] Xi/randr: fix handling of PropModeAppend/Prepend
+
+The handling of appending/prepending properties was incorrect, with at
+least two bugs: the property length was set to the length of the new
+part only, i.e. appending or prepending N elements to a property with P
+existing elements always resulted in the property having N elements
+instead of N + P.
+
+Second, when pre-pending a value to a property, the offset for the old
+values was incorrect, leaving the new property with potentially
+uninitalized values and/or resulting in OOB memory writes.
+For example, prepending a 3 element value to a 5 element property would
+result in this 8 value array:
+  [N, N, N, ?, ?, P, P, P ] P, P
+^OOB write
+
+The XI2 code is a copy/paste of the RandR code, so the bug exists in
+both.
+
+CVE-2023-5367, ZDI-CAN-22153
+
+This vulnerability was discovered by:
+Jan-Niklas Sohn working with Trend Micro Zero Day Initiative
+
+Signed-off-by: Peter Hutterer 
+---
+ Xi/xiproperty.c| 4 ++--
+ randr/rrproperty.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
+index 066ba21fba..d315f04d0e 100644
+--- a/Xi/xiproperty.c
 b/Xi/xiproperty.c
+@@ -730,7 +730,7 @@ XIChangeDeviceProperty(DeviceIntPtr dev, Atom property, 
Atom type,
+ XIDestroyDeviceProperty(prop);
+ return BadAlloc;
+ }
+-new_value.size = len;
++new_value.size = total_len;
+ new_value.type = type;
+ new_value.format = format;
+ 
+@@ -747,7 +747,7 @@ XIChangeDeviceProperty(DeviceIntPtr dev, Atom property, 
Atom type,
+ case PropModePrepend:
+ new_data = new_value.data;
+ old_data = (void *) (((char *) new_value.data) +
+-  (prop_value->size * size_in_bytes));
++  (len * size_in_bytes));
+ break;
+ }
+ if (new_data)
+diff --git a/randr/rrproperty.c b/randr/rrproperty.c
+index c2fb9585c6..25469f57b2 100644
+--- a/randr/rrproperty.c
 b/randr/rrproperty.c
+@@ -209,7 +209,7 @@ RRChangeOutputProperty(RROutputPtr output, Atom property, 
Atom type,
+ RRDestroyOutputProperty(prop);
+ return BadAlloc;
+ }
+-new_value.size = len;
++new_value.size = total_len;
+ new_value.type = type;
+ new_value.format = format;
+ 
+@@ -226,7 +226,7 @@ RRChangeOutputProperty(RROutputPtr output, Atom property, 
Atom type,
+ case PropModePrepend:
+ new_data = new_value.data;
+ old_data = (void *) (((char *) new_value.data) +
+-  (prop_value->size * size_in_bytes));
++  (len * size_in_bytes));
+ break;
+ }
+ if (new_data)
+-- 
+GitLab
+
diff --git a/meta/recipes-graphics/xwayland/xwayland_22.1.8.bb 
b/meta/recipes-graphics/xwayland/xwayland_22.1.8.bb
index 6919ba421b..94797be8e0 100644
--- a/meta/recipes-graphics/xwayland/xwayland_22.1.8.bb
+++ b/meta/recipes-graphics/xwayland/xwayland_22.1.8.bb
@@ -9,7 +9,9 @@ HOMEPAGE = 
"https://fedoraproject.org/wiki/Changes/XwaylandStandalone;
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
 
-SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz;
+SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz \
+   file://CVE-2023-5367.patch \
+"
 SRC_URI[sha256sum] = 
"d1173290b88ea8da42a7d9350dedfaba856ce4ae44e58c045ad9ecaa2f73"
 
 UPSTREAM_CHECK_REGEX = "xwayland-(?P\d+(\.(?!90\d)\d+)+)\.tar"
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191994): 
https://lists.openembedded.org/g/openembedded-core/message/191994
Mute This Topic: https://lists.openembedded.org/mt/103048223/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: 

[OE-core][kirkstone 01/15] libsndfile: fix CVE-2022-33065 Signed integer overflow in src/mat4.c

2023-12-07 Thread Steve Sakoman
From: Vivek Kumbhar 

Signed-off-by: Vivek Kumbhar 
Signed-off-by: Steve Sakoman 
---
 .../libsndfile1/CVE-2022-33065.patch  | 46 +++
 .../libsndfile/libsndfile1_1.0.31.bb  |  1 +
 2 files changed, 47 insertions(+)
 create mode 100644 
meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2022-33065.patch

diff --git 
a/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2022-33065.patch 
b/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2022-33065.patch
new file mode 100644
index 00..c5fba4d6b5
--- /dev/null
+++ b/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2022-33065.patch
@@ -0,0 +1,46 @@
+From 0754562e13d2e63a248a1c82f90b30bc0ffe307c Mon Sep 17 00:00:00 2001
+From: Alex Stewart 
+Date: Tue, 10 Oct 2023 16:10:34 -0400
+Subject: [PATCH] mat4/mat5: fix int overflow in dataend calculation
+
+The clang sanitizer warns of a possible signed integer overflow when
+calculating the `dataend` value in `mat4_read_header()`.
+
+```
+src/mat4.c:323:41: runtime error: signed integer overflow: 205 * -100663296 
cannot be represented in type 'int'
+SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/mat4.c:323:41 in
+src/mat4.c:323:48: runtime error: signed integer overflow: 838860800 * 4 
cannot be represented in type 'int'
+SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/mat4.c:323:48 in
+```
+
+Cast the offending `rows` and `cols` ints to `sf_count_t` (the type of
+`dataend` before performing the calculation, to avoid the issue.
+
+CVE: CVE-2022-33065
+Fixes: https://github.com/libsndfile/libsndfile/issues/789
+Fixes: https://github.com/libsndfile/libsndfile/issues/833
+
+Signed-off-by: Alex Stewart 
+
+Upstream-Status: Backport 
[https://github.com/libsndfile/libsndfile/commit/0754562e13d2e63a248a1c82f90b30bc0ffe307c]
+CVE: CVE-2022-33065
+Signed-off-by: Vivek Kumbhar 
+---
+ src/mat4.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mat4.c b/src/mat4.c
+index 0b1b414..575683b 100644
+--- a/src/mat4.c
 b/src/mat4.c
+@@ -320,7 +320,7 @@ mat4_read_header (SF_PRIVATE *psf)
+   psf->filelength - psf->dataoffset, 
psf->sf.channels * psf->sf.frames * psf->bytewidth) ;
+   }
+   else if ((psf->filelength - psf->dataoffset) > psf->sf.channels * 
psf->sf.frames * psf->bytewidth)
+-  psf->dataend = psf->dataoffset + rows * cols * psf->bytewidth ;
++  psf->dataend = psf->dataoffset + (sf_count_t) rows * 
(sf_count_t) cols * psf->bytewidth ;
+
+   psf->datalength = psf->filelength - psf->dataoffset - psf->dataend ;
+
+--
+2.40.1
diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb 
b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb
index f6ea585e34..0c654fd853 100644
--- a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb
+++ b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.31.bb
@@ -11,6 +11,7 @@ LICENSE = "LGPL-2.1-only"
 SRC_URI = 
"https://github.com/libsndfile/libsndfile/releases/download/${PV}/libsndfile-${PV}.tar.bz2
 \
file://noopus.patch \
file://0001-flac-Fix-improper-buffer-reusing-732.patch \
+   file://CVE-2022-33065.patch \
   "
 UPSTREAM_CHECK_URI = "https://github.com/libsndfile/libsndfile/releases/;
 
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191993): 
https://lists.openembedded.org/g/openembedded-core/message/191993
Mute This Topic: https://lists.openembedded.org/mt/103048222/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core][kirkstone 00/15] Patch review

2023-12-07 Thread Steve Sakoman
Please review this set of changes for kirkstone and have comments back by
end of day Monday, December 11

Passed a-full on autobuilder:

https://autobuilder.yoctoproject.org/typhoon/#/builders/83/builds/6300

The following changes since commit 11da43b58e19583a9bc16044309610cfb2e86469:

  systemtap_git: fix used uninitialized error (2023-11-28 05:11:52 -1000)

are available in the Git repository at:

  https://git.openembedded.org/openembedded-core-contrib stable/kirkstone-nut
  
https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/kirkstone-nut

Bruce Ashfield (3):
  linux-yocto/5.10: update to v5.10.198
  linux-yocto/5.10: update to v5.10.200
  linux-yocto/5.10: update to v5.10.202

Lee Chee Yang (1):
  xwayland: fix CVE-2023-5367

Narpat Mali (1):
  python3-cryptography: fix CVE-2023-49083

Niko Mauno (1):
  rust-llvm: Allow overriding LLVM target archs

Richard Purdie (5):
  rust-common: Set llvm-target correctly for cross SDK targets
  rust-cross-canadian: Fix ordering of target json config generation
  rust-cross/rust-common: Merge arm target handling code to fix
cross-canadian
  rust-cross: Simplfy the rust_gen_target calls
  native: Clear TUNE_FEATURES/ABIEXTENSION

Steve Sakoman (1):
  cve-exclusion_5.10.inc: update for 5.10.202

Tim Orling (1):
  vim: upgrade 9.0.2068 -> 9.0.2130

Vivek Kumbhar (1):
  libsndfile: fix CVE-2022-33065 Signed integer overflow in src/mat4.c

Wenlin Kang (1):
  bash: changes to SIGINT handler while waiting for a child

 meta/classes/native.bbclass   |   2 +
 .../python3-cryptography/CVE-2023-49083.patch |  53 
 .../python/python3-cryptography_36.0.2.bb |   1 +
 meta/recipes-devtools/rust/rust-common.inc|  24 +-
 .../rust/rust-cross-canadian-common.inc   |   5 +-
 meta/recipes-devtools/rust/rust-cross.inc |  21 +-
 meta/recipes-devtools/rust/rust-llvm.inc  |   4 +-
 ...T-handler-while-waiting-for-a-child-.patch | 229 ++
 meta/recipes-extended/bash/bash_5.1.16.bb |   1 +
 .../xwayland/xwayland/CVE-2023-5367.patch |  85 +++
 .../xwayland/xwayland_22.1.8.bb   |   4 +-
 .../linux/cve-exclusion_5.10.inc  |  92 +--
 .../linux/linux-yocto-rt_5.10.bb  |   6 +-
 .../linux/linux-yocto-tiny_5.10.bb|   8 +-
 meta/recipes-kernel/linux/linux-yocto_5.10.bb |  24 +-
 .../libsndfile1/CVE-2022-33065.patch  |  46 
 .../libsndfile/libsndfile1_1.0.31.bb  |   1 +
 meta/recipes-support/vim/vim.inc  |   4 +-
 18 files changed, 542 insertions(+), 68 deletions(-)
 create mode 100644 
meta/recipes-devtools/python/python3-cryptography/CVE-2023-49083.patch
 create mode 100644 
meta/recipes-extended/bash/bash/0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch
 create mode 100644 meta/recipes-graphics/xwayland/xwayland/CVE-2023-5367.patch
 create mode 100644 
meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2022-33065.patch

-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191992): 
https://lists.openembedded.org/g/openembedded-core/message/191992
Mute This Topic: https://lists.openembedded.org/mt/103048221/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] Patchtest results for [PATCH 6/6] python3-maturin: add sdk (testsdk) test case

2023-12-07 Thread Patchtest
Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:

---
Testing patch 
/home/patchtest/share/mboxes/6-6-python3-maturin-add-sdk-testsdk-test-case.patch

FAIL: test mbox format: Series has malformed diff lines. Create the series 
again using git-format-patch and ensure it applies using git am 
(test_mbox.TestMbox.test_mbox_format)

PASS: test Signed-off-by presence 
(test_mbox.TestMbox.test_signed_off_by_presence)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test bugzilla entry format (test_mbox.TestMbox.test_bugzilla_entry_format)
PASS: test commit message presence 
(test_mbox.TestMbox.test_commit_message_presence)
PASS: test max line length (test_metadata.TestMetadata.test_max_line_length)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)
PASS: test target mailing list (test_mbox.TestMbox.test_target_mailing_list)

SKIP: pretest pylint: Python-unidiff parse error 
(test_python_pylint.PyLint.pretest_pylint)
SKIP: pretest src uri left files: Patch cannot be merged 
(test_metadata.TestMetadata.pretest_src_uri_left_files)
SKIP: test CVE tag format: Parse error Hunk is shorter than expected 
(test_patch.TestPatch.test_cve_tag_format)
SKIP: test Signed-off-by presence: Parse error Hunk is shorter than expected 
(test_patch.TestPatch.test_signed_off_by_presence)
SKIP: test Upstream-Status presence: Parse error Hunk is shorter than expected 
(test_patch.TestPatch.test_upstream_status_presence_format)
SKIP: test lic files chksum modified not mentioned: No modified recipes, 
skipping test 
(test_metadata.TestMetadata.test_lic_files_chksum_modified_not_mentioned)
SKIP: test lic files chksum presence: No added recipes, skipping test 
(test_metadata.TestMetadata.test_lic_files_chksum_presence)
SKIP: test license presence: No added recipes, skipping test 
(test_metadata.TestMetadata.test_license_presence)
SKIP: test pylint: Python-unidiff parse error 
(test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now 
(test_mbox.TestMbox.test_series_merge_on_head)
SKIP: test src uri left files: Patch cannot be merged 
(test_metadata.TestMetadata.test_src_uri_left_files)
SKIP: test summary presence: No added recipes, skipping test 
(test_metadata.TestMetadata.test_summary_presence)

---

Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191991): 
https://lists.openembedded.org/g/openembedded-core/message/191991
Mute This Topic: https://lists.openembedded.org/mt/103045525/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] Patchtest results for [PATCH 5/6] oe-selfest: add maturn runtime (testimage) test

2023-12-07 Thread Patchtest
Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:

---
Testing patch 
/home/patchtest/share/mboxes/5-6-oe-selfest-add-maturn-runtime-testimage-test.patch

FAIL: test mbox format: Series has malformed diff lines. Create the series 
again using git-format-patch and ensure it applies using git am 
(test_mbox.TestMbox.test_mbox_format)

PASS: test Signed-off-by presence 
(test_mbox.TestMbox.test_signed_off_by_presence)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test bugzilla entry format (test_mbox.TestMbox.test_bugzilla_entry_format)
PASS: test commit message presence 
(test_mbox.TestMbox.test_commit_message_presence)
PASS: test max line length (test_metadata.TestMetadata.test_max_line_length)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)
PASS: test target mailing list (test_mbox.TestMbox.test_target_mailing_list)

SKIP: pretest pylint: Python-unidiff parse error 
(test_python_pylint.PyLint.pretest_pylint)
SKIP: pretest src uri left files: Patch cannot be merged 
(test_metadata.TestMetadata.pretest_src_uri_left_files)
SKIP: test CVE tag format: Parse error Hunk is shorter than expected 
(test_patch.TestPatch.test_cve_tag_format)
SKIP: test Signed-off-by presence: Parse error Hunk is shorter than expected 
(test_patch.TestPatch.test_signed_off_by_presence)
SKIP: test Upstream-Status presence: Parse error Hunk is shorter than expected 
(test_patch.TestPatch.test_upstream_status_presence_format)
SKIP: test lic files chksum modified not mentioned: No modified recipes, 
skipping test 
(test_metadata.TestMetadata.test_lic_files_chksum_modified_not_mentioned)
SKIP: test lic files chksum presence: No added recipes, skipping test 
(test_metadata.TestMetadata.test_lic_files_chksum_presence)
SKIP: test license presence: No added recipes, skipping test 
(test_metadata.TestMetadata.test_license_presence)
SKIP: test pylint: Python-unidiff parse error 
(test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now 
(test_mbox.TestMbox.test_series_merge_on_head)
SKIP: test src uri left files: Patch cannot be merged 
(test_metadata.TestMetadata.test_src_uri_left_files)
SKIP: test summary presence: No added recipes, skipping test 
(test_metadata.TestMetadata.test_summary_presence)

---

Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191990): 
https://lists.openembedded.org/g/openembedded-core/message/191990
Mute This Topic: https://lists.openembedded.org/mt/103045524/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH v2] gdb/systemd: enable minidebuginfo support conditionally

2023-12-07 Thread Richard Purdie
On Tue, 2023-12-05 at 14:37 +0100, Etienne Cordonnier via
lists.openembedded.org wrote:
> From: Etienne Cordonnier 
> 
> Enabling minidebuginfo is not useful if gdb and systemd-coredump
> are unable to parse it.
> 
> In order to parse it, gdb needs xz support. Systemd needs coredump enabled, as
> well as elfutil enabled as well (systemd-coredump loads libdw which is part 
> of elfutils using dlopen).
> 
> Signed-off-by: Etienne Cordonnier 
> ---
>  meta/classes-global/package.bbclass   |  2 +-
>  meta/lib/oe/package.py|  2 +-
>  meta/lib/oeqa/runtime/cases/systemd.py| 21 +++
>  meta/lib/oeqa/selftest/cases/minidebuginfo.py |  2 +-
>  meta/recipes-core/systemd/systemd_254.4.bb|  1 +
>  .../elfutils/elfutils_0.189.bb|  4 +++-
>  meta/recipes-devtools/gdb/gdb-common.inc  |  4 +++-
>  7 files changed, 31 insertions(+), 5 deletions(-)

I merged this as I think it did improve things but adding a test change
to poky to enable it hasn't quite worked as I hoped.

I had to put a constraint around the test to ensure it only runs on
systemd images:

https://git.openembedded.org/openembedded-core/commit/?h=master-next=9c069e00a0867de11a6069b99a07d2c775848c10

and with that applied I then had this failure:

https://autobuilder.yoctoproject.org/typhoon/#/builders/101/builds/7000/steps/14/logs/stdio

I can queue the first patch but I'm not sure about the failure above.
Any ideas?

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191989): 
https://lists.openembedded.org/g/openembedded-core/message/191989
Mute This Topic: https://lists.openembedded.org/mt/102991294/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 4/6] recipetool: add python_maturin support

2023-12-07 Thread Tim Orling
Add the new python_maturin PEP-517 backend

Add selftest for 'pydantic-core' pypi package.

[YOCTO #15312]

Signed-off-by: Tim Orling 
---
 meta/lib/oeqa/selftest/cases/recipetool.py| 34 +++
 .../lib/recipetool/create_buildsys_python.py  |  1 +
 2 files changed, 35 insertions(+)

diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py 
b/meta/lib/oeqa/selftest/cases/recipetool.py
index 55cbba9ca74..ddcacaa73c7 100644
--- a/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -611,6 +611,40 @@ class RecipetoolCreateTests(RecipetoolBase):
 
 self._test_recipe_contents(recipefile, checkvars, inherits)
 
+def test_recipetool_create_python3_pep517_maturin(self):
+# This test require python 3.11 or above for the tomllib module
+# or tomli module to be installed
+try:
+import tomllib
+except ImportError:
+try:
+import tomli
+except ImportError:
+self.skipTest('Test requires python 3.11 or above for tomllib 
module or tomli module')
+
+# Test creating python3 package from tarball (using maturin class)
+temprecipe = os.path.join(self.tempdir, 'recipe')
+os.makedirs(temprecipe)
+pn = 'pydantic-core'
+pv = '2.14.5'
+recipefile = os.path.join(temprecipe, 'python3-%s_%s.bb' % (pn, pv))
+srcuri = 
'https://files.pythonhosted.org/packages/64/26/cffb93fe9c6b5a91c497f37fae14a4b073ecbc47fc36a9979c7aa888b245/pydantic_core-%s.tar.gz'
 % pv
+result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
+self.assertTrue(os.path.isfile(recipefile))
+checkvars = {}
+checkvars['HOMEPAGE'] = 'https://github.com/pydantic/pydantic-core'
+checkvars['LICENSE'] = set(['MIT'])
+checkvars['LIC_FILES_CHKSUM'] = 
'file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c'
+checkvars['SRC_URI'] = 
'https://files.pythonhosted.org/packages/64/26/cffb93fe9c6b5a91c497f37fae14a4b073ecbc47fc36a9979c7aa888b245/pydantic_core-${PV}.tar.gz'
+checkvars['SRC_URI[md5sum]'] = '1eb13c211147496c1c9484ff7f8ac438'
+checkvars['SRC_URI[sha1sum]'] = 
'0803a731aa793f3eaf4d52f656d7300408ca0b36'
+checkvars['SRC_URI[sha256sum]'] = 
'6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71'
+checkvars['SRC_URI[sha384sum]'] = 
'cca6d9f0ba72ff92e16aaf3d6c628b8df33bdf244cc39c9d59cff9d541f35d4e87ec136e60e4b040ad73c5c69b27cec6'
+checkvars['SRC_URI[sha512sum]'] = 
'e6c3081dfa58d9b59f8c33dfe80712d732ac3048a2f8240f9a0f5448d9bfc83e222c1e08b8bb49779b84f685c3bec3060cc935c113a818b1ab8aa955f3df2238'
+inherits = ['python_maturin']
+
+self._test_recipe_contents(recipefile, checkvars, inherits)
+
 def test_recipetool_create_github_tarball(self):
 # Basic test to ensure github URL mangling doesn't apply to release 
tarballs
 temprecipe = os.path.join(self.tempdir, 'recipe')
diff --git a/scripts/lib/recipetool/create_buildsys_python.py 
b/scripts/lib/recipetool/create_buildsys_python.py
index 9312e4abf13..9bebb3061b1 100644
--- a/scripts/lib/recipetool/create_buildsys_python.py
+++ b/scripts/lib/recipetool/create_buildsys_python.py
@@ -668,6 +668,7 @@ class PythonPyprojectTomlRecipeHandler(PythonRecipeHandler):
 "poetry.core.masonry.api": "python_poetry_core",
 "flit_core.buildapi": "python_flit_core",
 "hatchling.build": "python_hatchling",
+"maturin": "python_maturin",
 }
 
 # setuptools.build_meta and flit declare project metadata into the 
"project" section of pyproject.toml
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191985): 
https://lists.openembedded.org/g/openembedded-core/message/191985
Mute This Topic: https://lists.openembedded.org/mt/103045101/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 6/6] python3-maturin: add sdk (testsdk) test case

2023-12-07 Thread Tim Orling
We expect 'maturin' will be used in SDKs, so it makes sense to also
test it in the testsdk environment.

To run this test case, you can add the following to local.conf:
TOOLCHAIN_HOST_TASK:append = " nativesdk-python3-maturin"

And the build and test the SDK:
bitbake -c populate_sdk core-image-full-cmdline
bitbake -c testsdk core-image-full-cmdline

You can substitute a different image recipe for "core-image-full-cmdline"

[YOCTO #15312]

Signed-off-by: Tim Orling 
---
 meta/lib/oeqa/sdk/cases/maturin.py | 33 ++
 1 file changed, 33 insertions(+)
 create mode 100644 meta/lib/oeqa/sdk/cases/maturin.py

diff --git a/meta/lib/oeqa/sdk/cases/maturin.py 
b/meta/lib/oeqa/sdk/cases/maturin.py
new file mode 100644
index 000..14245bc36e5
--- /dev/null
+++ b/meta/lib/oeqa/sdk/cases/maturin.py
@@ -0,0 +1,33 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+import unittest
+from oeqa.sdk.case import OESDKTestCase
+
+from oeqa.utils.subprocesstweak import errors_have_output
+
+errors_have_output()
+
+
+class MaturinTest(OESDKTestCase):
+def setUp(self):
+if not (
+self.tc.hasHostPackage("nativesdk-python3-maturin")
+or self.tc.hasHostPackage("python3-maturin-native")
+):
+raise unittest.SkipTest("No python3-maturin package in the SDK")
+
+def test_maturin_list_python(self):
+py_major = self._run("python3 -c 'import sys; 
print(sys.version_info.major)'")
+py_minor = self._run("python3 -c 'import sys; 
print(sys.version_info.minor)'")
+python_version = "%s.%s" % (py_major.strip(), py_minor.strip())
+cmd = "maturin list-python"
+output = self._run(cmd)
+self.assertRegex(output, r"^ 1 python interpreter found:\n")
+self.assertRegex(
+output,
+r" - CPython %s (.+)/usr/bin/python%s$" % (python_version, 
python_version),
+)
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191987): 
https://lists.openembedded.org/g/openembedded-core/message/191987
Mute This Topic: https://lists.openembedded.org/mt/103045103/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 5/6] oe-selfest: add maturn runtime (testimage) test

2023-12-07 Thread Tim Orling
Basic smoke test for maturin to test the 'maturin list-python' case.

[YOCTO #15312]

Signed-off-by: Tim Orling 
---
 meta/lib/oeqa/runtime/cases/maturin.py | 23 +++
 1 file changed, 23 insertions(+)
 create mode 100644 meta/lib/oeqa/runtime/cases/maturin.py

diff --git a/meta/lib/oeqa/runtime/cases/maturin.py 
b/meta/lib/oeqa/runtime/cases/maturin.py
new file mode 100644
index 000..b9a3b4acbcd
--- /dev/null
+++ b/meta/lib/oeqa/runtime/cases/maturin.py
@@ -0,0 +1,23 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+import os
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+
+class MaturinTest(OERuntimeTestCase):
+@OETestDepends(['ssh.SSHTest.test_ssh', 'python.PythonTest.test_python3'])
+@OEHasPackage(['python3-maturin'])
+def test_maturin_list_python(self):
+status, output = self.target.run("maturin list-python")
+self.assertEqual(status, 0)
+_, py_major = self.target.run("python3 -c 'import sys; 
print(sys.version_info.major)'")
+_, py_minor = self.target.run("python3 -c 'import sys; 
print(sys.version_info.minor)'")
+python_version = "%s.%s" % (py_major, py_minor)
+self.assertEqual(output, " 1 python interpreter found:\n"
+ " - CPython %s at /usr/bin/python%s" % 
(python_version, python_version))
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191986): 
https://lists.openembedded.org/g/openembedded-core/message/191986
Mute This Topic: https://lists.openembedded.org/mt/103045102/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 3/6] classes-recipe: add python_maturin.bbclass

2023-12-07 Thread Tim Orling
maturin is a replacement for setuptools_rust and another "backend" for
building python wheels.

[YOCTO #15312]

Signed-off-by: Tim Orling 
---
 meta/classes-recipe/python_maturin.bbclass | 17 +
 1 file changed, 17 insertions(+)
 create mode 100644 meta/classes-recipe/python_maturin.bbclass

diff --git a/meta/classes-recipe/python_maturin.bbclass 
b/meta/classes-recipe/python_maturin.bbclass
new file mode 100644
index 000..c39d6c6e37d
--- /dev/null
+++ b/meta/classes-recipe/python_maturin.bbclass
@@ -0,0 +1,17 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit python_pyo3 python_setuptools_build_meta
+
+DEPENDS += "python3-maturin-native"
+
+python_maturin_do_configure() {
+python_pyo3_do_configure
+cargo_common_do_configure
+python_pep517_do_configure
+}
+
+EXPORT_FUNCTIONS do_configure
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191984): 
https://lists.openembedded.org/g/openembedded-core/message/191984
Mute This Topic: https://lists.openembedded.org/mt/103045100/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/6] python3-maturin: add v1.3.2

2023-12-07 Thread Tim Orling
Build and publish crates with pyo3, rust-cpython, cffi and uniffi bindings
as well as rust binaries as python packages.

This project is meant as a zero configuration replacement for setuptools-rust
and milksnake. It supports building wheels for python 3.7+ on windows, linux,
mac and freebsd, can upload them to pypi and has basic pypy and graalpy support.

https://github.com/pyo3/maturin

[YOCTO #15312]

Signed-off-by: Tim Orling 
---
 meta/conf/distro/include/maintainers.inc  |   1 +
 .../python/python3-maturin-crates.inc | 572 ++
 .../python/python3-maturin_1.3.2.bb   |  40 ++
 3 files changed, 613 insertions(+)
 create mode 100644 meta/recipes-devtools/python/python3-maturin-crates.inc
 create mode 100644 meta/recipes-devtools/python/python3-maturin_1.3.2.bb

diff --git a/meta/conf/distro/include/maintainers.inc 
b/meta/conf/distro/include/maintainers.inc
index 2c59db56ac6..8fe1efd3288 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -653,6 +653,7 @@ RECIPE_MAINTAINER:pn-python3-magic = "Joshua Watt 
"
 RECIPE_MAINTAINER:pn-python3-mako = "Trevor Gamblin "
 RECIPE_MAINTAINER:pn-python3-markdown = "Alexander Kanavin 
"
 RECIPE_MAINTAINER:pn-python3-markupsafe = "Richard Purdie 
"
+RECIPE_MAINTAINER:pn-python3-maturin = "Tim Orling "
 RECIPE_MAINTAINER:pn-python3-more-itertools = "Tim Orling 
"
 RECIPE_MAINTAINER:pn-python3-ndg-httpsclient = "Tim Orling 
"
 RECIPE_MAINTAINER:pn-python3-numpy = "Trevor Gamblin "
diff --git a/meta/recipes-devtools/python/python3-maturin-crates.inc 
b/meta/recipes-devtools/python/python3-maturin-crates.inc
new file mode 100644
index 000..2b6949ee496
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-maturin-crates.inc
@@ -0,0 +1,572 @@
+# Autogenerated with 'bitbake -c update_crates python3-maturin'
+
+# from Cargo.lock
+SRC_URI += " \
+crate://crates.io/adler/1.0.2 \
+crate://crates.io/ahash/0.7.7 \
+crate://crates.io/aho-corasick/0.7.20 \
+crate://crates.io/anstream/0.3.2 \
+crate://crates.io/anstyle/1.0.1 \
+crate://crates.io/anstyle-parse/0.2.1 \
+crate://crates.io/anstyle-query/1.0.0 \
+crate://crates.io/anstyle-wincon/1.0.2 \
+crate://crates.io/anyhow/1.0.75 \
+crate://crates.io/autocfg/1.1.0 \
+crate://crates.io/base64/0.13.1 \
+crate://crates.io/base64/0.21.2 \
+crate://crates.io/bitflags/1.3.2 \
+crate://crates.io/block-buffer/0.10.4 \
+crate://crates.io/bstr/1.6.0 \
+crate://crates.io/byteorder/1.4.3 \
+crate://crates.io/bytes/1.4.0 \
+crate://crates.io/bytesize/1.2.0 \
+crate://crates.io/bzip2/0.4.4 \
+crate://crates.io/bzip2-sys/0.1.11+1.0.8 \
+crate://crates.io/cab/0.4.1 \
+crate://crates.io/camino/1.1.6 \
+crate://crates.io/cargo-config2/0.1.9 \
+crate://crates.io/cargo-options/0.6.0 \
+crate://crates.io/cargo-platform/0.1.3 \
+crate://crates.io/cargo-xwin/0.14.8 \
+crate://crates.io/cargo-zigbuild/0.17.5 \
+crate://crates.io/cargo_metadata/0.18.0 \
+crate://crates.io/cbindgen/0.26.0 \
+crate://crates.io/cc/1.0.82 \
+crate://crates.io/cfb/0.7.3 \
+crate://crates.io/cfg-expr/0.15.4 \
+crate://crates.io/cfg-if/1.0.0 \
+crate://crates.io/charset/0.1.3 \
+crate://crates.io/chumsky/0.9.2 \
+crate://crates.io/clap/4.1.14 \
+crate://crates.io/clap_builder/4.1.14 \
+crate://crates.io/clap_complete/4.2.3 \
+crate://crates.io/clap_complete_command/0.5.1 \
+crate://crates.io/clap_complete_fig/4.2.0 \
+crate://crates.io/clap_complete_nushell/0.1.11 \
+crate://crates.io/clap_derive/4.1.14 \
+crate://crates.io/clap_lex/0.4.1 \
+crate://crates.io/cli-table/0.4.7 \
+crate://crates.io/colorchoice/1.0.0 \
+crate://crates.io/configparser/3.0.2 \
+crate://crates.io/console/0.15.7 \
+crate://crates.io/content_inspector/0.2.4 \
+crate://crates.io/core-foundation/0.9.3 \
+crate://crates.io/core-foundation-sys/0.8.4 \
+crate://crates.io/cpufeatures/0.2.9 \
+crate://crates.io/crc32fast/1.3.2 \
+crate://crates.io/crossbeam-channel/0.5.8 \
+crate://crates.io/crossbeam-deque/0.8.3 \
+crate://crates.io/crossbeam-epoch/0.9.15 \
+crate://crates.io/crossbeam-utils/0.8.16 \
+crate://crates.io/crypto-common/0.1.6 \
+crate://crates.io/data-encoding/2.4.0 \
+crate://crates.io/dialoguer/0.11.0 \
+crate://crates.io/diff/0.1.13 \
+crate://crates.io/digest/0.10.7 \
+crate://crates.io/dirs/5.0.1 \
+crate://crates.io/dirs-sys/0.4.1 \
+crate://crates.io/dissimilar/1.0.7 \
+crate://crates.io/dunce/1.0.4 \
+crate://crates.io/either/1.9.0 \
+crate://crates.io/encode_unicode/0.3.6 \
+crate://crates.io/encoding_rs/0.8.32 \
+crate://crates.io/errno/0.3.2 \
+crate://crates.io/errno-dragonfly/0.1.2 \
+crate://crates.io/expect-test/1.4.1 \
+crate://crates.io/fastrand/1.9.0 \
+crate://crates.io/fat-macho/0.4.7 \
+

[OE-core] [PATCH 1/6] python3-setuptools-rust: BBCLASSEXTEND + nativesdk

2023-12-07 Thread Tim Orling
We would like to build python3-maturin for nativesdk use
and nativesdk-python3-setuptools-rust is a dependency.

Signed-off-by: Tim Orling 
---
 meta/recipes-devtools/python/python3-setuptools-rust_1.8.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/python/python3-setuptools-rust_1.8.1.bb 
b/meta/recipes-devtools/python/python3-setuptools-rust_1.8.1.bb
index db5c6c449c3..a91ee23ca0c 100644
--- a/meta/recipes-devtools/python/python3-setuptools-rust_1.8.1.bb
+++ b/meta/recipes-devtools/python/python3-setuptools-rust_1.8.1.bb
@@ -33,4 +33,4 @@ RDEPENDS:${PN} += " \
 python3-wheel \
 "
 
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191982): 
https://lists.openembedded.org/g/openembedded-core/message/191982
Mute This Topic: https://lists.openembedded.org/mt/103045097/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 0/6] Add 'maturin' python backend support

2023-12-07 Thread Tim Orling
We are increasingly seeing Rust extensions for Python added in the
ecosystem. The current best practices approach has moved from using
'setuptools-rust' to using 'maturin'.

* Add python3-maturin, including 'native' and 'nativesdk' support.
* Add a 'python_maturin' bbclass for the PEP-517 backend.
* Add recipetool support for the 'maturin' PEP-517 backend.
* Add a very basic 'maturin list-python' smoke test added to oeqa for
  both 'runtime' (-c testimage) and 'sdk' (-c testsdk).

The following changes since commit 70ad9b9b309575134834757468cb32c9e3b87448:

  bitbake: hashserv: sqlite: Ensure sync propagates to database connections 
(2023-12-04 22:36:09 +)

are available in the Git repository at:

  https://git.yoctoproject.org/poky-contrib timo/maturin_1.3.2
  https://git.yoctoproject.org/poky-contrib/log/?h=timo/maturin_1.3.2

Tim Orling (6):
  python3-setuptools-rust: BBCLASSEXTEND + nativesdk
  python3-maturin: add v1.3.2
  classes-recipe: add python_maturin.bbclass
  recipetool: add python_maturin support
  oe-selfest: add maturn runtime (testimage) test
  python3-maturin: add sdk (testsdk) test case

 meta/classes-recipe/python_maturin.bbclass|  17 +
 meta/conf/distro/include/maintainers.inc  |   1 +
 meta/lib/oeqa/runtime/cases/maturin.py|  23 +
 meta/lib/oeqa/sdk/cases/maturin.py|  33 +
 meta/lib/oeqa/selftest/cases/recipetool.py|  34 ++
 .../python/python3-maturin-crates.inc | 572 ++
 .../python/python3-maturin_1.3.2.bb   |  40 ++
 .../python/python3-setuptools-rust_1.8.1.bb   |   2 +-
 .../lib/recipetool/create_buildsys_python.py  |   1 +
 9 files changed, 722 insertions(+), 1 deletion(-)
 create mode 100644 meta/classes-recipe/python_maturin.bbclass
 create mode 100644 meta/lib/oeqa/runtime/cases/maturin.py
 create mode 100644 meta/lib/oeqa/sdk/cases/maturin.py
 create mode 100644 meta/recipes-devtools/python/python3-maturin-crates.inc
 create mode 100644 meta/recipes-devtools/python/python3-maturin_1.3.2.bb

-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191981): 
https://lists.openembedded.org/g/openembedded-core/message/191981
Mute This Topic: https://lists.openembedded.org/mt/103045095/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] Patchtest results for [PATCH] tcl: skip timing-dependent tests in run-ptest

2023-12-07 Thread Patchtest
Thank you for your submission. Patchtest identified one
or more issues with the patch. Please see the log below for
more information:

---
Testing patch 
/home/patchtest/share/mboxes/tcl-skip-timing-dependent-tests-in-run-ptest.patch

FAIL: test bugzilla entry format: Bugzilla issue ID is not correctly formatted 
- specify it with format: "[YOCTO #]" 
(test_mbox.TestMbox.test_bugzilla_entry_format)

PASS: test Signed-off-by presence 
(test_mbox.TestMbox.test_signed_off_by_presence)
PASS: test author valid (test_mbox.TestMbox.test_author_valid)
PASS: test commit message presence 
(test_mbox.TestMbox.test_commit_message_presence)
PASS: test max line length (test_metadata.TestMetadata.test_max_line_length)
PASS: test mbox format (test_mbox.TestMbox.test_mbox_format)
PASS: test non-AUH upgrade (test_mbox.TestMbox.test_non_auh_upgrade)
PASS: test shortlog format (test_mbox.TestMbox.test_shortlog_format)
PASS: test shortlog length (test_mbox.TestMbox.test_shortlog_length)

SKIP: pretest pylint: No python related patches, skipping test 
(test_python_pylint.PyLint.pretest_pylint)
SKIP: pretest src uri left files: No modified recipes, skipping pretest 
(test_metadata.TestMetadata.pretest_src_uri_left_files)
SKIP: test CVE tag format: No new CVE patches introduced 
(test_patch.TestPatch.test_cve_tag_format)
SKIP: test Signed-off-by presence: No new CVE patches introduced 
(test_patch.TestPatch.test_signed_off_by_presence)
SKIP: test Upstream-Status presence: No new CVE patches introduced 
(test_patch.TestPatch.test_upstream_status_presence_format)
SKIP: test lic files chksum modified not mentioned: No modified recipes, 
skipping test 
(test_metadata.TestMetadata.test_lic_files_chksum_modified_not_mentioned)
SKIP: test lic files chksum presence: No added recipes, skipping test 
(test_metadata.TestMetadata.test_lic_files_chksum_presence)
SKIP: test license presence: No added recipes, skipping test 
(test_metadata.TestMetadata.test_license_presence)
SKIP: test pylint: No python related patches, skipping test 
(test_python_pylint.PyLint.test_pylint)
SKIP: test series merge on head: Merge test is disabled for now 
(test_mbox.TestMbox.test_series_merge_on_head)
SKIP: test src uri left files: No modified recipes, skipping pretest 
(test_metadata.TestMetadata.test_src_uri_left_files)
SKIP: test summary presence: No added recipes, skipping test 
(test_metadata.TestMetadata.test_summary_presence)
SKIP: test target mailing list: Series merged, no reason to check other mailing 
lists (test_mbox.TestMbox.test_target_mailing_list)

---

Please address the issues identified and
submit a new revision of the patch, or alternatively, reply to this
email with an explanation of why the patch should be accepted. If you
believe these results are due to an error in patchtest, please submit a
bug at https://bugzilla.yoctoproject.org/ (use the 'Patchtest' category
under 'Yocto Project Subprojects'). For more information on specific
failures, see: https://wiki.yoctoproject.org/wiki/Patchtest. Thank
you!

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191980): 
https://lists.openembedded.org/g/openembedded-core/message/191980
Mute This Topic: https://lists.openembedded.org/mt/103044616/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-Core][PATCH 2/3] cargo: Move CARGO_MANIFEST_PATH/CARGO_SRC_DIR to cargo_common

2023-12-07 Thread Richard Purdie
On Thu, 2023-12-07 at 13:39 +, Alex Kiernan wrote:
> cargo_common_do_configure uses CARGO_MANIFEST_PATH (which depends on
> CARGO_SRC_DIR), but their definition was in cargo.bbclass.
> 
> Match the other variables here and change to default values, rather
> than weak defaults.

FWIW "single value" class variables tend to work much better as ??=
(which I'd call default value) since than it doesn't matter if the
recipe setting comes before or after the inherit and the inherit
position in the recipe doesn't matter.

I'd call ?= a weak assignment or weak default.

Thanks for working on cleaning some of these things up. I got so far
with it originally and then ran out of time (and too frustrated with
the long build/test cycles!).

Cheers,

Richard

> 
> Signed-off-by: Alex Kiernan 
> ---
> 
>  meta/classes-recipe/cargo.bbclass| 7 ---
>  meta/classes-recipe/cargo_common.bbclass | 7 +++
>  2 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/meta/classes-recipe/cargo.bbclass 
> b/meta/classes-recipe/cargo.bbclass
> index 96a74e2ef1ec..0829a58dd90f 100644
> --- a/meta/classes-recipe/cargo.bbclass
> +++ b/meta/classes-recipe/cargo.bbclass
> @@ -30,13 +30,6 @@ B = "${WORKDIR}/build"
>  # where the issue occured
>  export RUST_BACKTRACE = "1"
>  
> -# The directory of the Cargo.toml relative to the root directory, per default
> -# assume there's a Cargo.toml directly in the root directory
> -CARGO_SRC_DIR ??= ""
> -
> -# The actual path to the Cargo.toml
> -CARGO_MANIFEST_PATH ??= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
> -
>  RUSTFLAGS ??= ""
>  BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}"
>  # --frozen flag will prevent network access (which is required since only
> diff --git a/meta/classes-recipe/cargo_common.bbclass 
> b/meta/classes-recipe/cargo_common.bbclass
> index bf298e96c745..c330c122a9d3 100644
> --- a/meta/classes-recipe/cargo_common.bbclass
> +++ b/meta/classes-recipe/cargo_common.bbclass
> @@ -33,6 +33,13 @@ CARGO_DISABLE_BITBAKE_VENDORING ?= "0"
>  # Used by libstd-rs to point to the vendor dir included in rustc src
>  CARGO_VENDORING_DIRECTORY ?= "${CARGO_HOME}/bitbake"
>  
> +# The directory of the Cargo.toml relative to the root directory, per default
> +# assume there's a Cargo.toml directly in the root directory
> +CARGO_SRC_DIR ?= ""
> +
> +# The actual path to the Cargo.toml
> +CARGO_MANIFEST_PATH ?= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
> +
>  CARGO_RUST_TARGET_CCLD ?= "${RUST_TARGET_CCLD}"
>  cargo_common_do_configure () {
>   mkdir -p ${CARGO_HOME}/bitbake
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191979): 
https://lists.openembedded.org/g/openembedded-core/message/191979
Mute This Topic: https://lists.openembedded.org/mt/103034028/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [kirkstone][PATCH] externalsrc: Ensure SRCREV is processed before accessing SRC_URI

2023-12-07 Thread Yoann Congal
Call bb.fetch.get_srcrev() before accessing SRC_URI. Without this new
bb.fetch.get_srcrev() call, SRC_URI might be accessed before SRCREV had
a chance to be processed.

In master, this is fixed by 
https://git.yoctoproject.org/poky/commit/?id=62afa02d01794376efab75623f42e7e08af08526
However, this commit is not suited for backport since it is quite invasive.
The part of the commit that fix the bug is:
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -63,6 +63,7 @@ python () {
 else:
 d.setVar('B', '${WORKDIR}/${BPN}-${PV}')

+bb.fetch.get_hashvalue(d)
 local_srcuri = []
 fetch = bb.fetch2.Fetch((d.getVar('SRC_URI') or '').split(), d)
 for url in fetch.urls:

NB: bb.fetch.get_hashvalue() does not exist in kirkstone but is
equivalent to bb.fetch.get_srcrev().

Fixes [YOCTO #14918]

Signed-off-by: Yoann Congal 
Suggested-by: Chris Wyse 
---
Richard, Steve: This is the commit we discussed at today's bug triage.
---
 meta/classes/externalsrc.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 97d7379d9f..eb6afca4ab 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -62,6 +62,9 @@ python () {
 else:
 d.setVar('B', '${WORKDIR}/${BPN}-${PV}')
 
+# Ensure SRCREV has been processed before accessing SRC_URI
+bb.fetch.get_srcrev(d)
+
 local_srcuri = []
 fetch = bb.fetch2.Fetch((d.getVar('SRC_URI') or '').split(), d)
 for url in fetch.urls:
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191978): 
https://lists.openembedded.org/g/openembedded-core/message/191978
Mute This Topic: https://lists.openembedded.org/mt/103044376/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] tcl: skip timing-dependent tests in run-ptest

2023-12-07 Thread Ross Burton
From: Ross Burton 

There are several tests in the test suite which are very dependent on
timing and fail on a loaded host system, so skip them.

[ YOCTO #14825 #14882 #15081 ]

Signed-off-by: Ross Burton 
---
 meta/recipes-devtools/tcltk/tcl/run-ptest | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/tcltk/tcl/run-ptest 
b/meta/recipes-devtools/tcltk/tcl/run-ptest
index 5b9127784ed..51e1e4aa7b7 100644
--- a/meta/recipes-devtools/tcltk/tcl/run-ptest
+++ b/meta/recipes-devtools/tcltk/tcl/run-ptest
@@ -3,7 +3,11 @@
 # clock.test needs a timezone to be set
 export TZ="Europe/London"
 export TCL_LIBRARY=library
-SKIPPED_TESTS=
+
+# Some tests are overly strict with timings and fail on loaded systems.
+# See bugs #14825 #14882 #15081.
+SKIPPED_TESTS='cmdMZ-6.6 exit-1.* socket-* socket_inet-*'
+
 for i in `ls tests/*.test | awk -F/ '{print $2}'`; do
 ./tcltest tests/all.tcl -file $i -skip "$SKIPPED_TESTS" >$i.log 2>&1
 grep -q -F -e "Files with failing tests:" -e "Test files exiting with 
errors:" $i.log
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191977): 
https://lists.openembedded.org/g/openembedded-core/message/191977
Mute This Topic: https://lists.openembedded.org/mt/103044329/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 4/4] oe-selftest: add tests for C and C++ build tools

2023-12-07 Thread Adrian Freihofer
Add new file for C and C++ build tools. The initial implemmentation
contains a class for CMake and one for Meson. At least these first
tests for the qemu-usermode share most of the code. That's why there
is only one c_ccp.py file and not for example a cmake.py and a
meson.py file.

Signed-off-by: Adrian Freihofer 
---
 meta/lib/oeqa/selftest/cases/c_cpp.py | 60 +++
 1 file changed, 60 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/c_cpp.py

diff --git a/meta/lib/oeqa/selftest/cases/c_cpp.py 
b/meta/lib/oeqa/selftest/cases/c_cpp.py
new file mode 100644
index 000..9a70ce29f56
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/c_cpp.py
@@ -0,0 +1,60 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.core.decorator.data import skipIfNotQemuUsermode
+from oeqa.utils.commands import bitbake
+
+
+class CCppTests(OESelftestTestCase):
+
+@skipIfNotQemuUsermode()
+def _qemu_usermode(self, recipe_name):
+self.add_command_to_tearDown("bitbake -c clean %s" % recipe_name)
+bitbake("%s -c run_tests" % recipe_name)
+
+@skipIfNotQemuUsermode()
+def _qemu_usermode_failing(self, recipe_name):
+config = 'PACKAGECONFIG:pn-%s = "failing_test"' % recipe_name
+self.write_config(config)
+self.add_command_to_tearDown("bitbake -c clean %s" % recipe_name)
+result = bitbake("%s -c run_tests" % recipe_name, ignore_status=True)
+self.assertNotEqual(0, result.status, "command: %s is expected to fail 
but passed, status: %s, output: %s, error: %s" % (
+result.command, result.status, result.output, result.error))
+
+
+class CMakeTests(CCppTests):
+def test_cmake_qemu(self):
+"""Test for cmake-qemu.bbclass good case
+
+compile the cmake-example and verify the CTests pass in qemu-user.
+qemu-user is configured by CMAKE_CROSSCOMPILING_EMULATOR.
+"""
+self._qemu_usermode("cmake-example")
+
+def test_cmake_qemu_failing(self):
+"""Test for cmake-qemu.bbclass bad case
+
+Break the comparison in the test code and verify the CTests do not 
pass.
+"""
+self._qemu_usermode_failing("cmake-example")
+
+
+class MesonTests(CCppTests):
+def test_meson_qemu(self):
+"""Test the qemu-user feature of the meson.bbclass good case
+
+compile the meson-example and verify the Unit Test pass in qemu-user.
+qemu-user is configured by meson's exe_wrapper option.
+"""
+self._qemu_usermode("meson-example")
+
+def test_meson_qemu_failing(self):
+"""Test the qemu-user feature of the meson.bbclass bad case
+
+Break the comparison in the test code and verify the Unit Test does 
not pass in qemu-user.
+"""
+self._qemu_usermode_failing("meson-example")
-- 
2.43.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191976): 
https://lists.openembedded.org/g/openembedded-core/message/191976
Mute This Topic: https://lists.openembedded.org/mt/103042535/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 3/4] oeqa/core/decorator: add skip if not qemu-usermode

2023-12-07 Thread Adrian Freihofer
Add a decorator to skip tests which require the qemu-usermode machine
feature.

Signed-off-by: Adrian Freihofer 
---
 meta/lib/oeqa/core/decorator/data.py | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/meta/lib/oeqa/core/decorator/data.py 
b/meta/lib/oeqa/core/decorator/data.py
index de881e097ab..5444b2cb751 100644
--- a/meta/lib/oeqa/core/decorator/data.py
+++ b/meta/lib/oeqa/core/decorator/data.py
@@ -185,6 +185,16 @@ class skipIfNotQemu(OETestDecorator):
 if not self.case.td.get('MACHINE', '').startswith('qemu'):
 self.case.skipTest('Test only runs on qemu machines')
 
+@registerDecorator
+class skipIfNotQemuUsermode(OETestDecorator):
+"""
+Skip test if MACHINE_FEATURES does not contain qemu-usermode
+"""
+def setUpDecorator(self):
+self.logger.debug("Checking if MACHINE_FEATURES does not contain 
qemu-usermode")
+if 'qemu-usermode' not in self.case.td.get('MACHINE_FEATURES', 
'').split():
+self.case.skipTest('Test requires qemu-usermode in 
MACHINE_FEATURES')
+
 @registerDecorator
 class skipIfQemu(OETestDecorator):
 """
-- 
2.43.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191975): 
https://lists.openembedded.org/g/openembedded-core/message/191975
Mute This Topic: https://lists.openembedded.org/mt/103042534/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/4] oe-selftest: add a cpp-example recipe

2023-12-07 Thread Adrian Freihofer
This simple C++ project supports compilation with CMake and Meson.
(Autotool support could be added later on.)
It's supposed to be used with oe-selftest.

An artificial project has several advantages over compiling a normal
CMake or Meson based project for testing purposes:
- It is much faster because it can be kept minimalistic
- It can cover multiple odd corner cases
- No one will change it in an unpredictable way
- It can support multiple build tools with only one C++ codebase

Signed-off-by: Adrian Freihofer 
---
 meta-selftest/recipes-test/cpp/.gitignore |  1 +
 .../recipes-test/cpp/cmake-example.bb | 25 
 .../recipes-test/cpp/cmake-example/run-ptest  | 10 +++
 .../recipes-test/cpp/cpp-example.inc  | 24 
 .../recipes-test/cpp/files/CMakeLists.txt | 61 +++
 .../cpp/files/cpp-example-lib.cpp | 33 ++
 .../cpp/files/cpp-example-lib.hpp | 21 +++
 .../recipes-test/cpp/files/cpp-example.cpp| 18 ++
 .../recipes-test/cpp/files/meson.build| 38 
 .../recipes-test/cpp/files/meson.options  |  3 +
 .../cpp/files/test-cpp-example.cpp| 25 
 .../recipes-test/cpp/meson-example.bb | 27 
 .../recipes-test/cpp/meson-example/run-ptest  | 10 +++
 13 files changed, 296 insertions(+)
 create mode 100644 meta-selftest/recipes-test/cpp/.gitignore
 create mode 100644 meta-selftest/recipes-test/cpp/cmake-example.bb
 create mode 100644 meta-selftest/recipes-test/cpp/cmake-example/run-ptest
 create mode 100644 meta-selftest/recipes-test/cpp/cpp-example.inc
 create mode 100644 meta-selftest/recipes-test/cpp/files/CMakeLists.txt
 create mode 100644 meta-selftest/recipes-test/cpp/files/cpp-example-lib.cpp
 create mode 100644 meta-selftest/recipes-test/cpp/files/cpp-example-lib.hpp
 create mode 100644 meta-selftest/recipes-test/cpp/files/cpp-example.cpp
 create mode 100644 meta-selftest/recipes-test/cpp/files/meson.build
 create mode 100644 meta-selftest/recipes-test/cpp/files/meson.options
 create mode 100644 meta-selftest/recipes-test/cpp/files/test-cpp-example.cpp
 create mode 100644 meta-selftest/recipes-test/cpp/meson-example.bb
 create mode 100644 meta-selftest/recipes-test/cpp/meson-example/run-ptest

diff --git a/meta-selftest/recipes-test/cpp/.gitignore 
b/meta-selftest/recipes-test/cpp/.gitignore
new file mode 100644
index 000..30d388a12b7
--- /dev/null
+++ b/meta-selftest/recipes-test/cpp/.gitignore
@@ -0,0 +1 @@
+build*
\ No newline at end of file
diff --git a/meta-selftest/recipes-test/cpp/cmake-example.bb 
b/meta-selftest/recipes-test/cpp/cmake-example.bb
new file mode 100644
index 000..aecfcf780a3
--- /dev/null
+++ b/meta-selftest/recipes-test/cpp/cmake-example.bb
@@ -0,0 +1,25 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+SUMMARY = "A C++ example compiled with cmake."
+
+require cpp-example.inc
+
+SRC_URI += "file://CMakeLists.txt"
+
+inherit cmake-qemu
+
+PACKAGECONFIG[failing_test] = "-DFAILING_TEST=ON"
+
+FILES:${PN}-ptest += "${bindir}/test-cmake-example"
+
+do_run_tests () {
+bbnote ${DESTDIR:+DESTDIR=${DESTDIR} }${CMAKE_VERBOSE} cmake --build 
'${B}' --target test -- ${EXTRA_OECMAKE_BUILD}
+eval ${DESTDIR:+DESTDIR=${DESTDIR} }${CMAKE_VERBOSE} cmake --build '${B}' 
--target test -- ${EXTRA_OECMAKE_BUILD}
+}
+do_run_tests[doc] = "Run cmake --target=test using qemu-user"
+
+addtask do_run_tests after do_compile
diff --git a/meta-selftest/recipes-test/cpp/cmake-example/run-ptest 
b/meta-selftest/recipes-test/cpp/cmake-example/run-ptest
new file mode 100644
index 000..94b620a1984
--- /dev/null
+++ b/meta-selftest/recipes-test/cpp/cmake-example/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+test-cmake-example
+
+# Note: run-ptests exits with exit value from test-cmake-example
diff --git a/meta-selftest/recipes-test/cpp/cpp-example.inc 
b/meta-selftest/recipes-test/cpp/cpp-example.inc
new file mode 100644
index 000..ad374be9d08
--- /dev/null
+++ b/meta-selftest/recipes-test/cpp/cpp-example.inc
@@ -0,0 +1,24 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = 
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+DEPENDS += "json-c"
+
+PV = "1.0"
+
+SRC_URI = "\
+file://cpp-example.cpp \
+file://cpp-example-lib.hpp \
+file://cpp-example-lib.cpp \
+file://test-cpp-example.cpp \
+file://run-ptest \
+"
+
+S = "${WORKDIR}"
+
+inherit ptest
diff --git a/meta-selftest/recipes-test/cpp/files/CMakeLists.txt 
b/meta-selftest/recipes-test/cpp/files/CMakeLists.txt
new file mode 100644
index 000..6fa6917d89b
--- /dev/null
+++ b/meta-selftest/recipes-test/cpp/files/CMakeLists.txt
@@ -0,0 +1,61 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+cmake_minimum_required(VERSION 

[OE-core] [PATCH 1/4] cmake-qemu.bbclass: make it more usable

2023-12-07 Thread Adrian Freihofer
Make the cmake-qemu.bbclass more usable:
- Drop the CMAKE_EXEWRAPPER_ENABLED variable (which does not make much
  sense without the second commit of the original patch series).
- Inherit qemu to make the cmake-qemu a drop in replacement for cmake.

Signed-off-by: Adrian Freihofer 
---
 meta/classes-recipe/cmake-qemu.bbclass | 20 
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/meta/classes-recipe/cmake-qemu.bbclass 
b/meta/classes-recipe/cmake-qemu.bbclass
index 76b748f3406..46a89e2827b 100644
--- a/meta/classes-recipe/cmake-qemu.bbclass
+++ b/meta/classes-recipe/cmake-qemu.bbclass
@@ -5,18 +5,22 @@
 #
 # Not all platforms are supported by Qemu. Using qemu-user therefore
 # involves a certain risk, which is also the reason why this feature
-# is not activated by default.
+# is not part of the main cmake class by default.
+#
+# One use case is the execution of cross-compiled unit tests with CTest
+# on the build machine. If CMAKE_EXEWRAPPER_ENABLED is configured,
+#   cmake --build --target test
+# works transparently with qemu-user. If the cmake project is developed
+# with this use case in mind this works very nicely also out of an IDE
+# configured to use cmake-native for cross compiling.
 
-inherit qemu
+inherit qemu cmake
 
-CMAKE_EXEWRAPPER_ENABLED:class-native = "False"
-CMAKE_EXEWRAPPER_ENABLED:class-nativesdk = "False"
-CMAKE_EXEWRAPPER_ENABLED ?= "${@bb.utils.contains('MACHINE_FEATURES', 
'qemu-usermode', 'True', 'False', d)}"
-DEPENDS:append = "${@' qemu-native' if d.getVar('CMAKE_EXEWRAPPER_ENABLED') == 
'True' else ''}"
+DEPENDS:append:class-target = "${@' qemu-native' if 
bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else ''}"
 
 cmake_do_generate_toolchain_file:append:class-target() {
-if [ "${CMAKE_EXEWRAPPER_ENABLED}" = "True" ]; then
-# Write out a qemu wrapper that will be used as exe_wrapper so that 
camake
+if [ "${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 
'False', d)}" ]; then
+# Write out a qemu wrapper that will be used as exe_wrapper so that 
cmake
 # can run target helper binaries through that. This also allows to 
execute ctest.
 qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_HOST}', 
['${STAGING_DIR_HOST}/${libdir}','${STAGING_DIR_HOST}/${base_libdir}'])}"
 echo "#!/bin/sh" > "${WORKDIR}/cmake-qemuwrapper"
-- 
2.43.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191973): 
https://lists.openembedded.org/g/openembedded-core/message/191973
Mute This Topic: https://lists.openembedded.org/mt/103042531/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCHv3 7/9] recipetool: create: Only include the expected SRC_URI checksums

2023-12-07 Thread Peter Kjellerstedt
Rather than including all SRC_URI checksums, include the ones that are
expected. These are the same as are output if no checksums are included
when building the recipe.

Signed-off-by: Peter Kjellerstedt 
---

This is based on abelloni/master-next.

 meta/lib/oeqa/selftest/cases/recipetool.py | 2 --
 scripts/lib/recipetool/create.py   | 4 +++-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py 
b/meta/lib/oeqa/selftest/cases/recipetool.py
index 20dd41f492..08da029e6e 100644
--- a/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -349,7 +349,6 @@ class RecipetoolCreateTests(RecipetoolBase):
 checkvars['LICENSE'] = 'GPL-2.0-only'
 checkvars['LIC_FILES_CHKSUM'] = 
'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'
 checkvars['SRC_URI'] = 
'https://github.com/logrotate/logrotate/releases/download/${PV}/logrotate-${PV}.tar.xz'
-checkvars['SRC_URI[md5sum]'] = 'a560c57fac87c45b2fc17406cdf79288'
 checkvars['SRC_URI[sha256sum]'] = 
'2e6a401cac9024db2288297e3be1a8ab60e7401ba8e91225218aaf4a27e82a07'
 self._test_recipe_contents(recipefile, checkvars, [])
 
@@ -407,7 +406,6 @@ class RecipetoolCreateTests(RecipetoolBase):
 checkvars = {}
 checkvars['LICENSE'] = set(['LGPL-2.1-only', 'MPL-1.1-only'])
 checkvars['SRC_URI'] = 
'http://taglib.github.io/releases/taglib-${PV}.tar.gz'
-checkvars['SRC_URI[md5sum]'] = 'cee7be0ccfc892fa433d6c837df9522a'
 checkvars['SRC_URI[sha256sum]'] = 
'b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b'
 checkvars['DEPENDS'] = set(['boost', 'zlib'])
 inherits = ['cmake']
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index 6e15326c55..d2997cc242 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -706,8 +706,10 @@ def create_recipe(args):
 if not srcuri:
 lines_before.append('# No information for SRC_URI yet (only an 
external source tree was specified)')
 lines_before.append('SRC_URI = "%s"' % srcuri)
+shown_checksums = ["%ssum" % s for s in bb.fetch2.SHOWN_CHECKSUM_LIST]
 for key, value in sorted(checksums.items()):
-lines_before.append('SRC_URI[%s] = "%s"' % (key, value))
+if key in shown_checksums:
+lines_before.append('SRC_URI[%s] = "%s"' % (key, value))
 if srcuri and supports_srcrev(srcuri):
 lines_before.append('')
 lines_before.append('# Modify these as desired')

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191970): 
https://lists.openembedded.org/g/openembedded-core/message/191970
Mute This Topic: https://lists.openembedded.org/mt/103038991/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 2/4] python3-qemu-qmp: Add recipe

2023-12-07 Thread Tim Orling
This will also need a maintainer entry in:
https://git.openembedded.org/openembedded-core/tree/meta/conf/distro/include/maintainers.inc

On Thu, Dec 7, 2023 at 6:36 AM Eilís 'pidge' Ní Fhlannagáin <
pi...@baylibre.com> wrote:

> From: Ross Burton 
>
> Add a recipe for python QEMU Monitor Protocol. This will be needed for
> qemu screendumps for qemu screendump testing.
>
> Signed-off-by: Ross Burton 
> Signed-off-by: Eilís 'pidge' Ní Fhlannagáin 
> ---
>  .../python/python3-qemu-qmp_0.0.2.bb   | 14 ++
>  1 file changed, 14 insertions(+)
>  create mode 100644 meta/recipes-devtools/python/python3-qemu-qmp_0.0.2.bb
>
> diff --git a/meta/recipes-devtools/python/python3-qemu-qmp_0.0.2.bb
> b/meta/recipes-devtools/python/python3-qemu-qmp_0.0.2.bb
> new file mode 100644
> index 000..faa0cc69738
> --- /dev/null
> +++ b/meta/recipes-devtools/python/python3-qemu-qmp_0.0.2.bb
> @@ -0,0 +1,14 @@
> +SUMMARY = "asyncio library for communicating with QEMU Monitor Protocol
> (QMP) servers"
> +LICENSE = "LGPLv2+ & GPLv2"
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=4cf66a4984120007c9881cc871cf49db \
> +
> file://LICENSE_GPL2;md5=441c28d2cf86e15a37fa47e15a72fbac"
> +
> +SRC_URI[sha256sum] =
> "c918e9e3ae09abdf70c7ece67637a93ac4583d940bbf48d24ff77987f74f1b8b"
> +
> +inherit pypi python_setuptools_build_meta
> +
> +PYPI_PACKAGE = "qemu.qmp"
> +
> +DEPENDS += "python3-setuptools-scm-native"
> +
> +BBCLASSEXTEND = "native nativesdk"
> --
> 2.34.1
>
>
> 
>
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191969): 
https://lists.openembedded.org/g/openembedded-core/message/191969
Mute This Topic: https://lists.openembedded.org/mt/103035077/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [kirkstone][PATCH] gstreamer1.0-plugins-base: enable glx/opengl support

2023-12-07 Thread Claus Stovgaard
On Thu, 2023-12-07 at 05:07 -1000, Steve Sakoman wrote:
> On Tue, Dec 5, 2023 at 11:13 PM Claus Stovgaard
>  wrote:
> > 
> > From: Alexander Kanavin 
> > 
> > This is required by latest webkit when built with x11 support.
> 
> Is this an issue for the version of webkit in kirkstone?  i.e. is it
> currently broken?
> 
> Steve


I should properly update the message, though as it was a backport from
master, I kept the commit message.

The issue in kirkstone is more general.

An example - if I have a distro without wayland / vulkan, but have
opengl / x11 enabled.

And then look in the log from " bitbake -c configure gstreamer1.0-
plugins-base" and search for gl_api you will find.

"-Dgl_api=gles2 -Dgl_platform=egl -Dgl_winsys=egl,x11 -Dalsa=enabled"

And when running configure for gstreamer1.0-plugins-good you find.

gstreamer1.0-plugins-good/1.20.7-r0/temp $ grep OpenGL log.do_configure
Message: GStreamer OpenGL window systems: egl x11
Message: GStreamer OpenGL platforms: egl
Message: GStreamer OpenGL apis: gles2

Notice the lag of glx / opengl support.

After this change and running the same plugins-base / plugins-good
configuration you see.

"-Dgl_api=opengl,gles2 -Dgl_platform=egl,glx -Dgl_winsys=egl,x11 -
Dalsa=enabled"

and for good plugins.

gstreamer1.0-plugins-good/1.20.7-r0/temp $ grep OpenGL log.do_configure
Message: GStreamer OpenGL window systems: egl x11
Message: GStreamer OpenGL platforms: egl glx
Message: GStreamer OpenGL apis: gles2 gl

Notice we now have gl api and glx platform.

This is an issue when having application using qmlgl plugin as an
example.

In short it fixes so gstreamer1.0 follow the DISTRO_fEATURES, and make
it possible to have x11 support in plugins using glx/gl features like
qmlgl plugin

Hope it make it clear why I see it as a bug needing fixed in kirkstone.

Regards
Claus


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191968): 
https://lists.openembedded.org/g/openembedded-core/message/191968
Mute This Topic: https://lists.openembedded.org/mt/103009798/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCHv2 7/9] recipetool: create: Only include the expected SRC_URI checksums

2023-12-07 Thread Alexandre Belloni via lists.openembedded.org
Hello,

This one doesn't apply and I've skippedit, can you rebase?
I've applied all the other ones

On 06/12/2023 21:55:29+0100, Peter Kjellerstedt wrote:
> Rather than including all SRC_URI checksums, include the ones that are
> expected. These are the same as are output if no checksums are included
> when building the recipe.
> 
> Signed-off-by: Peter Kjellerstedt 
> ---
>  meta/lib/oeqa/selftest/cases/recipetool.py | 19 ---
>  scripts/lib/recipetool/create.py   |  4 +++-
>  2 files changed, 3 insertions(+), 20 deletions(-)
> 
> diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py 
> b/meta/lib/oeqa/selftest/cases/recipetool.py
> index 3a05343210..910bf0b4f6 100644
> --- a/meta/lib/oeqa/selftest/cases/recipetool.py
> +++ b/meta/lib/oeqa/selftest/cases/recipetool.py
> @@ -349,7 +349,6 @@ class RecipetoolCreateTests(RecipetoolBase):
>  checkvars['LICENSE'] = 'GPL-2.0-only'
>  checkvars['LIC_FILES_CHKSUM'] = 
> 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'
>  checkvars['SRC_URI'] = 
> 'https://github.com/logrotate/logrotate/releases/download/${PV}/logrotate-${PV}.tar.xz'
> -checkvars['SRC_URI[md5sum]'] = 'a560c57fac87c45b2fc17406cdf79288'
>  checkvars['SRC_URI[sha256sum]'] = 
> '2e6a401cac9024db2288297e3be1a8ab60e7401ba8e91225218aaf4a27e82a07'
>  self._test_recipe_contents(recipefile, checkvars, [])
>  
> @@ -407,7 +406,6 @@ class RecipetoolCreateTests(RecipetoolBase):
>  checkvars = {}
>  checkvars['LICENSE'] = set(['LGPL-2.1-only', 'MPL-1.1-only'])
>  checkvars['SRC_URI'] = 
> 'http://taglib.github.io/releases/taglib-${PV}.tar.gz'
> -checkvars['SRC_URI[md5sum]'] = 'cee7be0ccfc892fa433d6c837df9522a'
>  checkvars['SRC_URI[sha256sum]'] = 
> 'b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b'
>  checkvars['DEPENDS'] = set(['boost', 'zlib'])
>  inherits = ['cmake']
> @@ -470,7 +468,6 @@ class RecipetoolCreateTests(RecipetoolBase):
>  checkvars['LICENSE'] = set(['MIT'])
>  checkvars['LIC_FILES_CHKSUM'] = 
> 'file://LICENSE;md5=16a934f165e8c3245f241e77d401bb88'
>  checkvars['SRC_URI'] = 
> 'https://files.pythonhosted.org/packages/84/30/80932401906eaf787f2e9bd86dc458f1d2e75b064b4c187341f29516945c/python-magic-${PV}.tar.gz'
> -checkvars['SRC_URI[md5sum]'] = 'e384c95a47218f66c6501cd6dd45ff59'
>  checkvars['SRC_URI[sha256sum]'] = 
> 'f3765c0f582d2dfc72c15f3b5a82aecfae9498bd29ca840d72f37d7bd38bfcd5'
>  inherits = ['setuptools3']
>  self._test_recipe_contents(recipefile, checkvars, inherits)
> @@ -500,11 +497,7 @@ class RecipetoolCreateTests(RecipetoolBase):
>  checkvars['LICENSE'] = set(['BSD-3-Clause'])
>  checkvars['LIC_FILES_CHKSUM'] = 
> 'file://LICENSE;md5=702b1ef12cf66832a88f24c8f2ee9c19'
>  checkvars['SRC_URI'] = 
> 'https://files.pythonhosted.org/packages/a1/fb/f95560c6a5d4469d9c49e24cf1b5d4d21ffab5608251c6020a965fb7791c/webcolors-${PV}.tar.gz'
> -checkvars['SRC_URI[md5sum]'] = 'c9be30c5b0cf1cad32e4cbacbb2229e9'
> -checkvars['SRC_URI[sha1sum]'] = 
> 'c90b84fb65eed9b4c9dea7f08c657bfac0e820a5'
>  checkvars['SRC_URI[sha256sum]'] = 
> 'c225b674c83fa923be93d235330ce0300373d02885cef23238813b0d5668304a'
> -checkvars['SRC_URI[sha384sum]'] = 
> '45652af349660f19f68d01361dd5bda287789e5ea63608f52a8cea526ac04465614db2ea236103fb8456b1fcaea96ed7'
> -checkvars['SRC_URI[sha512sum]'] = 
> '074aaf135ac6b0025b88b731d1d6dfa4c539b4fff7195658cc58a4326bb9f0449a231685d312b4a1ec48ca535a838bfa5c680787fe0e61473a2a092c448937d0'
>  inherits = ['python_setuptools_build_meta']
>  
>  self._test_recipe_contents(recipefile, checkvars, inherits)
> @@ -534,11 +527,7 @@ class RecipetoolCreateTests(RecipetoolBase):
>  checkvars['LICENSE'] = set(['MIT'])
>  checkvars['LIC_FILES_CHKSUM'] = 
> 'file://LICENSE;md5=aab31f2ef7ba214a5a341eaa47a7f367'
>  checkvars['SRC_URI'] = 
> 'https://files.pythonhosted.org/packages/b9/f3/ef59cee614d5e0accf6fd0cbba025b93b272e626ca89fb70a3e9187c5d15/iso8601-${PV}.tar.gz'
> -checkvars['SRC_URI[md5sum]'] = '6e33910eba87066b3be7fcf3d59d16b5'
> -checkvars['SRC_URI[sha1sum]'] = 
> 'efd225b2c9fa7d9e4a1ec6ad94f3295cee982e61'
>  checkvars['SRC_URI[sha256sum]'] = 
> '6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df'
> -checkvars['SRC_URI[sha384sum]'] = 
> '255002433fe65c19adfd6b91494271b613cb25ef6a35ac77436de1e03d60cc07bf89fd716451b917f1435e4384860ef6'
> -checkvars['SRC_URI[sha512sum]'] = 
> 'db57ab2a25ef91e3bc479c8539d27e853cf1fbf60986820b8999ae15d7e566425a1e0cfba47d0f3b23aa703db0576db368e6c110ba2a2f46c9a34e8ee3611fb7'
>  inherits = ['python_poetry_core']
>  
>  self._test_recipe_contents(recipefile, checkvars, inherits)
> @@ -568,11 +557,7 @@ class RecipetoolCreateTests(RecipetoolBase):
>  checkvars['LICENSE'] = set(['PSF-2.0'])
>   

Re: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add PW_SUBDIR

2023-12-07 Thread Joakim Tjernlund via lists.openembedded.org
On Thu, 2023-12-07 at 15:05 +, Peter Kjellerstedt wrote:
> > -Original Message-
> > From: Joakim Tjernlund 
> > Sent: den 7 december 2023 09:48
> > To: openembedded-core@lists.openembedded.org; Peter Kjellerstedt
> > 
> > Subject: Re: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add PW_SUBDIR
> >
> > On Wed, 2023-12-06 at 20:21 +, Peter Kjellerstedt wrote:
> > > Since I've seen Richard's reply and his reluctance to merge this,
> > > this is mostly technical.
> >
> > I know but I don't understand what "batter ways" to do this is, I have
> > tested symlinks/--prefix/--root and bind mounting the passwd/shadow
> > files and none of then work. Using overlaysfs is an inferior solution to
> > me that makes the whole /etc writeable, may break when RFS underneath is
> > upgraded and I am unsure how resilient overlayfs is in case  of power
> > failure. What else is there ?
>
> For what it is worth, we use overlayfs on /etc in all of our products,
> and AFAIK have not had any problems with it. Our product upgrade solution
> is of course aware of the fact and takes care when upgrading to migrate
> all relevant changes in a controlled way.

Thanks, this indicates that overlayfs is somewhat resilient against power cuts.
My other concerns are still valid I think, exposing /etc as RW can be a 
security risk
and having to take special care when updating RO RFS underneath overlayfs.
Is that really better than my proposal ?

  //Jocke

>
> //Peter
>
> > >
> > > I would use either PW_DIR = "${sysconfdir}/pwdb" or PW_DIR:append = 
> > > "/pwdb".
> > > Using "/etc" (and other hardcoded paths) should be avoided wherever
> > > possible.
> >
> > Thanks, will tru there out.
> >
> >  Jocke
> >
> > >
> > > //Peter
> > >
> > > > -Original Message-
> > > > From: Joakim Tjernlund 
> > > > Sent: den 29 november 2023 12:11
> > > > To: openembedded-core@lists.openembedded.org; Peter Kjellerstedt
> > > > 
> > > > Subject: Re: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add
> > PW_SUBDIR
> > > >
> > > > Hi Peter :)
> > > >
> > > > All good comments, will fix accordingly. Not sure how PW_DIR ?=
> > > > "${sysconfdir}" will work though.
> > > >
> > > > How do you envision one should set PW_DIR in distro .conf or
> > layer.conf?
> > > > Just PW_DIR = "/etc/pwdb" or PW_DIR = "${sysconfdir}/pwdb" ?
> > > >
> > > >  Jocke
> > > >
> > > > On Sun, 2023-11-26 at 21:21 +, Peter Kjellerstedt wrote:
> > > > > > -Original Message-
> > > > > > From: openembedded-core@lists.openembedded.org  > > > c...@lists.openembedded.org> On Behalf Of Joakim Tjernlund via
> > > > lists.openembedded.org
> > > > > > Sent: den 24 november 2023 15:11
> > > > > > To: openembedded-core@lists.openembedded.org
> > > > > > Cc: Joakim Tjernlund 
> > > > > > Subject: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add
> > PW_SUBDIR
> > > > > >
> > > > > > Add support for creating passwd files in a /etc subdir
> > > > > > Set PW_SUBIR to pwdb to get passwd  files in /etc/pwdb
> > > > > >
> > > > > > Signed-off-by: Joakim Tjernlund 
> > > > > > ---
> > > > > >  .../base-passwd/base-passwd_3.5.29.bb | 24 --
> > 
> > > > -
> > > > > >  1 file changed, 16 insertions(+), 8 deletions(-)
> > > > > >
> > > > > > diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > > b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > > > > index ef7792ae49..e453be0763 100644
> > > > > > --- a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > > > > +++ b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > > > > @@ -20,6 +20,9 @@ SRC_URI =
> > > > "https://launchpad.net/debian/+archive/primary/+files/${BPN}_${PV}.tar
> > > > > >  SRC_URI[md5sum] = "6beccac48083fe8ae5048acd062e5421"
> > > > > >  SRC_URI[sha256sum] =
> > > > "f0b66388b2c8e49c15692439d2bee63bcdd4bbbf7a782c7f64accc55986b6a36"
> > > > > >
> > > > > > +#Set PW_SUBDIR to pwdb to get passwd  files in /etc/pwdb
> > > > > > +PW_SUBDIR ?= ""
> > > > > > +
> > > > >
> > > > > Rather than defining a subdirectory, I would recommend defining the
> > full
> > > > > path, e.g.:
> > > > >
> > > > > PW_DIR ?= "${sysconfdir}"
> > > > >
> > > > > This avoids generating a lot of "//" in the middle of paths for the
> > > > majority
> > > > > of us who do not use a subdirectory for the password files.
> > > > >
> > > > > >  # the package is taken from launchpad; that source is static and
> > goes
> > > > stale
> > > > > >  # so we check the latest upstream from a directory that does get
> > > > updated
> > > > > >  UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/"
> > > > > > @@ -50,10 +53,11 @@ basepasswd_sysroot_postinst() {
> > > > > >  #!/bin/sh
> > > > > >
> > > > > >  # Install passwd.master and group.master to sysconfdir
> > > > > > -install -d -m 755 ${STAGING_DIR_TARGET}${sysconfdir}
> > > > > > +install -d -m 755 ${STAGING_DIR_TARGET}${sysconfdir}/${PW_SUBDIR}
> > > > > >  for i in passwd group; do
> > > > > > install -p -m 644 

Re: [OE-core] [kirkstone][PATCH] gstreamer1.0-plugins-base: enable glx/opengl support

2023-12-07 Thread Steve Sakoman
On Tue, Dec 5, 2023 at 11:13 PM Claus Stovgaard
 wrote:
>
> From: Alexander Kanavin 
>
> This is required by latest webkit when built with x11 support.

Is this an issue for the version of webkit in kirkstone?  i.e. is it
currently broken?

Steve

>
> (From OE-Core rev: 024edebf6f722ae4d05411be348730d9eeb3bd7c)
>
> Signed-off-by: Alexander Kanavin 
> Signed-off-by: Richard Purdie 
> Signed-off-by: Claus Stovgaard 
> ---
>  .../gstreamer/gstreamer1.0-plugins-base_1.20.7.bb   | 6 --
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git 
> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.7.bb 
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.7.bb
> index 8822c6a905..8dfa70aea3 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.7.bb
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.7.bb
> @@ -21,7 +21,8 @@ inherit gobject-introspection
>
>  # opengl packageconfig factored out to make it easy for distros
>  # and BSP layers to choose OpenGL APIs/platforms/window systems
> -PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 
> 'gles2 egl', '', d)}"
> +PACKAGECONFIG_X11 = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl 
> glx', '', d)}"
> +PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 
> 'gles2 egl ${PACKAGECONFIG_X11}', '', d)}"
>
>  PACKAGECONFIG ??= " \
>  ${GSTREAMER_ORC} \
> @@ -32,7 +33,7 @@ PACKAGECONFIG ??= " \
>  "
>
>  OPENGL_APIS = 'opengl gles2'
> -OPENGL_PLATFORMS = 'egl'
> +OPENGL_PLATFORMS = 'egl glx'
>
>  X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
>  X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
> @@ -61,6 +62,7 @@ PACKAGECONFIG[gles2]= ",,virtual/libgles2"
>
>  # OpenGL platform packageconfigs
>  PACKAGECONFIG[egl]  = ",,virtual/egl"
> +PACKAGECONFIG[glx]  = ",,virtual/libgl"
>
>  # OpenGL window systems (except for X11)
>  PACKAGECONFIG[gbm]  = ",,virtual/libgbm libgudev libdrm"
> --
> 2.41.0
>
>
> 
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191965): 
https://lists.openembedded.org/g/openembedded-core/message/191965
Mute This Topic: https://lists.openembedded.org/mt/103009798/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add PW_SUBDIR

2023-12-07 Thread Peter Kjellerstedt
> -Original Message-
> From: Joakim Tjernlund 
> Sent: den 7 december 2023 09:48
> To: openembedded-core@lists.openembedded.org; Peter Kjellerstedt
> 
> Subject: Re: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add PW_SUBDIR
> 
> On Wed, 2023-12-06 at 20:21 +, Peter Kjellerstedt wrote:
> > Since I've seen Richard's reply and his reluctance to merge this,
> > this is mostly technical.
> 
> I know but I don't understand what "batter ways" to do this is, I have
> tested symlinks/--prefix/--root and bind mounting the passwd/shadow
> files and none of then work. Using overlaysfs is an inferior solution to
> me that makes the whole /etc writeable, may break when RFS underneath is
> upgraded and I am unsure how resilient overlayfs is in case  of power
> failure. What else is there ?

For what it is worth, we use overlayfs on /etc in all of our products, 
and AFAIK have not had any problems with it. Our product upgrade solution 
is of course aware of the fact and takes care when upgrading to migrate 
all relevant changes in a controlled way.

//Peter

> >
> > I would use either PW_DIR = "${sysconfdir}/pwdb" or PW_DIR:append = "/pwdb".
> > Using "/etc" (and other hardcoded paths) should be avoided wherever
> > possible.
> 
> Thanks, will tru there out.
> 
>  Jocke
> 
> >
> > //Peter
> >
> > > -Original Message-
> > > From: Joakim Tjernlund 
> > > Sent: den 29 november 2023 12:11
> > > To: openembedded-core@lists.openembedded.org; Peter Kjellerstedt
> > > 
> > > Subject: Re: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add
> PW_SUBDIR
> > >
> > > Hi Peter :)
> > >
> > > All good comments, will fix accordingly. Not sure how PW_DIR ?=
> > > "${sysconfdir}" will work though.
> > >
> > > How do you envision one should set PW_DIR in distro .conf or
> layer.conf?
> > > Just PW_DIR = "/etc/pwdb" or PW_DIR = "${sysconfdir}/pwdb" ?
> > >
> > >  Jocke
> > >
> > > On Sun, 2023-11-26 at 21:21 +, Peter Kjellerstedt wrote:
> > > > > -Original Message-
> > > > > From: openembedded-core@lists.openembedded.org  > > c...@lists.openembedded.org> On Behalf Of Joakim Tjernlund via
> > > lists.openembedded.org
> > > > > Sent: den 24 november 2023 15:11
> > > > > To: openembedded-core@lists.openembedded.org
> > > > > Cc: Joakim Tjernlund 
> > > > > Subject: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add
> PW_SUBDIR
> > > > >
> > > > > Add support for creating passwd files in a /etc subdir
> > > > > Set PW_SUBIR to pwdb to get passwd  files in /etc/pwdb
> > > > >
> > > > > Signed-off-by: Joakim Tjernlund 
> > > > > ---
> > > > >  .../base-passwd/base-passwd_3.5.29.bb | 24 --
> 
> > > -
> > > > >  1 file changed, 16 insertions(+), 8 deletions(-)
> > > > >
> > > > > diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > > > index ef7792ae49..e453be0763 100644
> > > > > --- a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > > > +++ b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > > > @@ -20,6 +20,9 @@ SRC_URI =
> > > "https://launchpad.net/debian/+archive/primary/+files/${BPN}_${PV}.tar
> > > > >  SRC_URI[md5sum] = "6beccac48083fe8ae5048acd062e5421"
> > > > >  SRC_URI[sha256sum] =
> > > "f0b66388b2c8e49c15692439d2bee63bcdd4bbbf7a782c7f64accc55986b6a36"
> > > > >
> > > > > +#Set PW_SUBDIR to pwdb to get passwd  files in /etc/pwdb
> > > > > +PW_SUBDIR ?= ""
> > > > > +
> > > >
> > > > Rather than defining a subdirectory, I would recommend defining the
> full
> > > > path, e.g.:
> > > >
> > > > PW_DIR ?= "${sysconfdir}"
> > > >
> > > > This avoids generating a lot of "//" in the middle of paths for the
> > > majority
> > > > of us who do not use a subdirectory for the password files.
> > > >
> > > > >  # the package is taken from launchpad; that source is static and
> goes
> > > stale
> > > > >  # so we check the latest upstream from a directory that does get
> > > updated
> > > > >  UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/"
> > > > > @@ -50,10 +53,11 @@ basepasswd_sysroot_postinst() {
> > > > >  #!/bin/sh
> > > > >
> > > > >  # Install passwd.master and group.master to sysconfdir
> > > > > -install -d -m 755 ${STAGING_DIR_TARGET}${sysconfdir}
> > > > > +install -d -m 755 ${STAGING_DIR_TARGET}${sysconfdir}/${PW_SUBDIR}
> > > > >  for i in passwd group; do
> > > > > install -p -m 644 ${STAGING_DIR_TARGET}${datadir}/base-
> > > passwd/\$i.master \
> > > > > -   ${STAGING_DIR_TARGET}${sysconfdir}/\$i
> > > > > +   ${STAGING_DIR_TARGET}${sysconfdir}/${PW_SUBDIR}/\$i
> > > > > +   [ -n "${PW_SUBDIR}" ] && ln -fs ${PW_SUBDIR}/\$i
> > > ${STAGING_DIR_TARGET}${sysconfdir}/\$i
> > > >
> > > > I generally recommended to use `[ ! ... ] || ...` instead of `[ ...
> ] &&
> > > ...`:
> > > >
> > > >   [ -z "${PW_SUBDIR}" ] || ln -fs ${PW_SUBDIR}/\$i
> > > ${STAGING_DIR_TARGET}${sysconfdir}/\$i
> > > >
> > > > Or, assuming my recommendation above is followed:
> > > 

Re: [OE-core] [PATCH] wic/DirectPlugin: don't update fstab if --no-fstab-update

2023-12-07 Thread Alexandre Belloni via lists.openembedded.org
Hello,

This causes the following failure:

2023-12-07 02:54:18,682 - oe-selftest - INFO - 
==
2023-12-07 02:54:18,682 - oe-selftest - INFO - FAIL: 
wic.Wic.test_no_fstab_update (subunit.RemotedTestCase)
2023-12-07 02:54:18,682 - oe-selftest - INFO - 
--
2023-12-07 02:54:18,682 - oe-selftest - INFO - 
testtools.testresult.real._StringException: Traceback (most recent call last):
  File 
"/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/selftest/cases/wic.py",
 line 768, in test_no_fstab_update
self.assertNotEqual(bf_fstab_md5sum, part_fstab_md5sum[0])
  File 
"/home/pokybuild/yocto-worker/oe-selftest-centos/build/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/python3.11/unittest/case.py",
 line 882, in assertNotEqual
raise self.failureException(msg)
AssertionError: 'af3c087d6c9131735c8d1f270a226892' == 
'af3c087d6c9131735c8d1f270a226892'

https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/6151/steps/15/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/6166/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/2551/steps/15/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/6156/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/6101/steps/14/logs/stdio


On 06/12/2023 19:33:02+0100, Jörg Sommer via lists.openembedded.org wrote:
> From: Jörg Sommer 
> 
> The function `update_fstab` should not touch the fstab for partitions with
> `--no-fstab-update`.
> 
> Signed-off-by: Jörg Sommer 
> ---
>  scripts/lib/wic/plugins/imager/direct.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/lib/wic/plugins/imager/direct.py 
> b/scripts/lib/wic/plugins/imager/direct.py
> index 9b619e41c1..013aa4255f 100644
> --- a/scripts/lib/wic/plugins/imager/direct.py
> +++ b/scripts/lib/wic/plugins/imager/direct.py
> @@ -116,7 +116,7 @@ class DirectPlugin(ImagerPlugin):
>  
>  updated = False
>  for part in self.parts:
> -if not part.realnum or not part.mountpoint \
> +if not part.realnum or not part.mountpoint or 
> part.no_fstab_update \
> or part.mountpoint == "/" or not 
> (part.mountpoint.startswith('/') or part.mountpoint == "swap"):
>  continue
>  
> -- 
> 2.34.1
> 

> 
> 
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191963): 
https://lists.openembedded.org/g/openembedded-core/message/191963
Mute This Topic: https://lists.openembedded.org/mt/103018986/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 4/4] login.py: Proof of concept for screenshot testcases

2023-12-07 Thread Eilís 'pidge' Ní Fhlannagáin
This takes the work rburton did on image screenshot testing and
expands it. The two caveats here:

1. We expect ImageMagick as a host tool for the time being.
There is a question as to do we bring ImageMagick into core for this
or do we require meta-oe for these tests.

2. Right now this only works for qemux86-64. Some standardization
of screensize/resolution needs to happen with runqemu params for other
machines.

This test takes a screendump of a qemu image (for now, just
core-image-sato for qemux86-64), and compares it to an image we
have on record. Some normalisation of the different qemu configs
need to happen to be able to support all machines. Example, the
qemuarm64 screen size is much larger than the qemux86-64.

The image we have on record contains a blanked out clock. We do
the same blanking out process for the screenshot, so the images should
have zero differences. If they do, we fail.

Signed-off-by: Eilís 'pidge' Ní Fhlannagáin 
Co-authored-by: Ross Burton 
Co-authored-by: Eilís 'pidge' Ní Fhlannagáin 
---
 .../core-image-sato-qemux86-64.png| Bin 0 -> 46986 bytes
 meta/lib/oeqa/runtime/cases/login.py  |  39 ++
 2 files changed, 39 insertions(+)
 create mode 100644 meta/files/image-tests/core-image-sato-qemux86-64.png
 create mode 100644 meta/lib/oeqa/runtime/cases/login.py

diff --git a/meta/files/image-tests/core-image-sato-qemux86-64.png 
b/meta/files/image-tests/core-image-sato-qemux86-64.png
new file mode 100644
index 
..5a3e46169dca6d118c003d29a59c59588cee7463
GIT binary patch
literal 46986
zcmbTdb8w_x*FM^@ZDS_3CYspx#I|kQnAo;$+sULSw(SWf{Ppub@AuEC`p&7}sjjZ>
z-o5L-_geSDwXU^yq@uh85oDcxe
z5RdR?2nG60YAmTN2LO0c0ssLa0Kf}qDBuJDaAgJn|wmo^${J$055@={x8TXd@X3
zQNZUvul$~}B+yKNl$J#}Xdp4%nT0kCh(zolzt_w!VSs^D>MNA0la$II}g*jel
zE`j~c3_f6vmzmhKIe>zOG+vgHyXt?^lqU-#%$oyNq<+pxD#rVFTIk}lSG)pGS{
zBYkhyAEGaFL{e3$HGujMsDR3qK~<4P>t%UNv5H2bTSrHillj2HL2^QQs;I(*loY9>
zUiwse)CNN!rE+4D<$5WDulExL4NZm6E5$!TMv6LdNyq}ed)xppdb9f1T&-CU
zAp$t8m-p^HJI?N^gw!-zU1-8Ane(>+tgNi~e}unMQvPa^Kw|=hBrgEG$
z!jjRr*lI!`gA5b|46%>T@=KbTQJyc=n65wCW(%BwFJzT+SZx1SG-;J<@O;ZmoAuV%
zYfAsIQ8|JJ`YI1?wFpvzZ+0dZVY6NrKL{0<-fQHf9j(H
z*~h1*zI>w$yO+=vR5n6~P~Z;T>~dqXAJ9py(+IT0*YUc=RZdjFZ}$K1(=$9%17Hf*
z`|W%6X0iXgTyIN3`xwlFxL9e(@qKNCg$`=xv&(lJE?jcKk^@@(ArezkRFssH+TC!T
z8#;7JOkGP(Wzf3$MMcu!HDk5bVmY^Jp0hc>ne-q1DI>w45FhLe1Q(Z;?caJRs-+k(
zM=YOHaB`+KH?!+7s*7+o~;P=^>yEzQK_G3V-bxusxyOeVKLZjsxcAjOJ`?p
z`_AcF2^JR@GynNrVDsuiH>FOW_FqGb*CzuyhtKUuB9DW#ZaM;c-tpP4aze|fOk
zZjI%=YUd*do5#Qct*Ii>3k?uFKsuGiWWJYtz0&2*B$%?*Tp|Du4PkP*9=?5TuNbKX
zt3*dOe`P+RZ{w%zjE;f6+Ujc^{2=omvzK~+3>Ko4{0>lq&(H~4t_3sMw>9B_Pk
zS`^6s;k2G7B`a%lQo4lTiVcthn*2%>lYRGte|@~JQ@*K!t(zO0US(6l3@s=_8rii-
zpQn)!hO0Q|kxxUYn_DLJP5h76(D8WPE{2cqfwj84es8xDZkHPqH)umra#Cd9zNJ2|
zXgu0%O_SUoCC-1%X#Qp!5fx>1Vz!*g0~ZixSnsmRN-3W^J`fCJP5%~HBed>sAfV!x
z9#w0Ni04Dw=_gtQRNaWviV7+3Fr#~-$lK5A)157L|a5vR>B!X`{4kxmiT#=M=
zne$!V?st7zf>$pO2cA7Hwo5TBzOO8QdS4?V>OL3VU-$9>Ly3uH`>iP&6~rIg#gRz2qyQkPe*k%HI!Crl)cN5;oXC}BD|
zIZ4XPAN2=9h>D3dINzI1fBH)M=<$mk$L;-zW+Hc=!QWsrW4?~0;(D(ryAkEI^X`i(
zca@GKDfONEeO;F5ObufgiEbXJ)f+-VJpMpH$6Fd;0msfXi_<)X>
z`7BLB_n@qnQk`sX(=>i}#}k#+(!%HF=JvUt;nYYKOQMvEh>N4-;|v#d$JCOg
zub@laXP`G4=6lN5^G2F!wKcvBfk*mVJb%_+Xz5Hj)-
zOAz-G${Ym!ibCA48QEG}Umk%cFiXlL(D$5P59$4MWq7@{*}jpx$A8jEBt6P12OdZ&
zm_Wp11LFbk)OEMshm^=Q$$QVb==Y>i@Ftvts?tsFZ)LyH*`nhIp()SnIdEe;N
zd)K1(^Tc?8(fUm
zEZueM!ecdoeSdwT;^ob{_+4r9mSG0bO-xK2))Igbku>)H?VuRa*o2apm?*4f
z8NJDf@)1Dd-ybiSkd-H+C$yz>9sjS@Wd16Zv{dDkPSy3X3!Zw)Auhq
zP9S^B`z-L`io0rP;No@v$33Dty{VF053Axk@gqpg-^Zn96bjwzwuaSreid2b
zQ@QhIG|hfTD4~VBVSWn)XnL~|)EfUABFT-0BhcQMZ98q(uOHB{u*ACV#S?oh&|q@C
z!)74l2T~FTKaOTjdY!4Ny4-dX2Z9MYS6d2a!ShkUWi@>IH7o{Lspf4<
z^uzwZZxjQ_wQ#|kZR7l6ROz!}cl^TLs4yUol}xva$OT=}Q5

[OE-core] [PATCH 3/4] runqemu: add qmp socket support

2023-12-07 Thread Eilís 'pidge' Ní Fhlannagáin
From: Ross Burton 

Add support for qmp sockets and defaults to unix:qmp.sock if unspecified

Signed-off-by: Ross Burton 
Signed-off-by: Eilís 'pidge' Ní Fhlannagáin 
---
 scripts/runqemu | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/scripts/runqemu b/scripts/runqemu
index 18aeb7f5f0c..6a5a6451daf 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -84,6 +84,7 @@ of the following environment variables (in any order):
 publicvnc - enable a VNC server open to all hosts
 audio - enable audio
 guestagent - enable guest agent communication
+qmp= - create a QMP socket (defaults to unix:qmp.sock if unspecified)
 [*/]ovmf* - OVMF firmware file or base name for booting with UEFI
   tcpserial= - specify tcp serial port number
   qemuparams= - specify custom parameters to QEMU
@@ -221,6 +222,7 @@ class BaseConfig(object):
 self.cleaned = False
 # Files to cleanup after run
 self.cleanup_files = []
+self.qmp = None
 self.guest_agent = False
 self.guest_agent_sockpath = '/tmp/qga.sock'
 
@@ -536,6 +538,10 @@ to your build configuration.
 self.qemu_opt_script += ' -vnc :0'
 elif arg == 'guestagent':
 self.guest_agent = True
+elif arg == "qmp":
+self.qmp = "unix:qmp.sock"
+elif arg.startswith("qmp="):
+self.qmp = arg[len('qmp='):]
 elif arg.startswith('guestagent-sockpath='):
 self.guest_agent_sockpath = '%s' % 
arg[len('guestagent-sockpath='):]
 elif arg.startswith('tcpserial='):
@@ -1406,6 +1412,10 @@ to your build configuration.
 self.qemu_opt += ' -device virtio-serial '
 self.qemu_opt += ' -device 
virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 '
 
+def setup_qmp(self):
+if self.qmp:
+self.qemu_opt += " -qmp %s,server,nowait" % self.qmp
+
 def setup_vga(self):
 if self.nographic == True:
 if self.sdl == True:
@@ -1547,6 +1557,7 @@ to your build configuration.
 self.qemu_opt += " -snapshot"
 
 self.setup_guest_agent()
+self.setup_qmp()
 self.setup_serial()
 self.setup_vga()
 
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191961): 
https://lists.openembedded.org/g/openembedded-core/message/191961
Mute This Topic: https://lists.openembedded.org/mt/103035078/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 0/4] Image screenshot testing proof of concept

2023-12-07 Thread Eilís 'pidge' Ní Fhlannagáin
This patch series is based off of earlier work from Ross Burton to enable QMP
based screenshot testing. 

Eilís 'pidge' Ní Fhlannagáin (1):
  login.py: Proof of concept for screenshot testcases

Ross Burton (3):
  qemurunner: remove unused import
  python3-qemu-qmp: Add recipe
  runqemu: add qmp socket support

 .../core-image-sato-qemux86-64.png| Bin 0 -> 46986 bytes
 meta/lib/oeqa/runtime/cases/login.py  |  39 ++
 meta/lib/oeqa/utils/qemurunner.py |   1 -
 .../python/python3-qemu-qmp_0.0.2.bb  |  14 +++
 scripts/runqemu   |  11 +
 5 files changed, 64 insertions(+), 1 deletion(-)
 create mode 100644 meta/files/image-tests/core-image-sato-qemux86-64.png
 create mode 100644 meta/lib/oeqa/runtime/cases/login.py
 create mode 100644 meta/recipes-devtools/python/python3-qemu-qmp_0.0.2.bb

-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191958): 
https://lists.openembedded.org/g/openembedded-core/message/191958
Mute This Topic: https://lists.openembedded.org/mt/103035075/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 1/4] qemurunner: remove unused import

2023-12-07 Thread Eilís 'pidge' Ní Fhlannagáin
From: Ross Burton 

Removes unused logging import

Signed-off-by: Ross Burton 
Signed-off-by: Eilís 'pidge' Ní Fhlannagáin 
---
 meta/lib/oeqa/utils/qemurunner.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/meta/lib/oeqa/utils/qemurunner.py 
b/meta/lib/oeqa/utils/qemurunner.py
index 29fe2719762..ee367078000 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -19,7 +19,6 @@ import errno
 import string
 import threading
 import codecs
-import logging
 import tempfile
 from collections import defaultdict
 import importlib
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191959): 
https://lists.openembedded.org/g/openembedded-core/message/191959
Mute This Topic: https://lists.openembedded.org/mt/103035076/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/4] python3-qemu-qmp: Add recipe

2023-12-07 Thread Eilís 'pidge' Ní Fhlannagáin
From: Ross Burton 

Add a recipe for python QEMU Monitor Protocol. This will be needed for
qemu screendumps for qemu screendump testing.

Signed-off-by: Ross Burton 
Signed-off-by: Eilís 'pidge' Ní Fhlannagáin 
---
 .../python/python3-qemu-qmp_0.0.2.bb   | 14 ++
 1 file changed, 14 insertions(+)
 create mode 100644 meta/recipes-devtools/python/python3-qemu-qmp_0.0.2.bb

diff --git a/meta/recipes-devtools/python/python3-qemu-qmp_0.0.2.bb 
b/meta/recipes-devtools/python/python3-qemu-qmp_0.0.2.bb
new file mode 100644
index 000..faa0cc69738
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-qemu-qmp_0.0.2.bb
@@ -0,0 +1,14 @@
+SUMMARY = "asyncio library for communicating with QEMU Monitor Protocol (QMP) 
servers"
+LICENSE = "LGPLv2+ & GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4cf66a4984120007c9881cc871cf49db \
+file://LICENSE_GPL2;md5=441c28d2cf86e15a37fa47e15a72fbac"
+
+SRC_URI[sha256sum] = 
"c918e9e3ae09abdf70c7ece67637a93ac4583d940bbf48d24ff77987f74f1b8b"
+
+inherit pypi python_setuptools_build_meta
+
+PYPI_PACKAGE = "qemu.qmp"
+
+DEPENDS += "python3-setuptools-scm-native"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191960): 
https://lists.openembedded.org/g/openembedded-core/message/191960
Mute This Topic: https://lists.openembedded.org/mt/103035077/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] subports: Use _GNU_SOURCE

2023-12-07 Thread Eilís 'pidge' Ní Fhlannagáin
[YOCTO #15074]

The syncfs probe in ports/unix/subports was failing if the compiler does not 
support implicit function declarations. syncfs is protected and requires 
_GNU_SOURCE, so the answer here is to pull it in.

Signed-off-by: Eilís 'pidge' Ní Fhlannagáin 
---
 .../pseudo/files/syncfs-probe.patch   | 44 +++
 meta/recipes-devtools/pseudo/pseudo_git.bb|  1 +
 2 files changed, 45 insertions(+)
 create mode 100644 meta/recipes-devtools/pseudo/files/syncfs-probe.patch

diff --git a/meta/recipes-devtools/pseudo/files/syncfs-probe.patch 
b/meta/recipes-devtools/pseudo/files/syncfs-probe.patch
new file mode 100644
index 000..23f01673e3c
--- /dev/null
+++ b/meta/recipes-devtools/pseudo/files/syncfs-probe.patch
@@ -0,0 +1,44 @@
+From e38b1fec2eb4a5dcefafdab7f1a240966f3632f1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Eil=C3=ADs=20=27pidge=27=20N=C3=AD=20Fhlannag=C3=A1in?=
+ 
+Date: Wed, 6 Dec 2023 13:00:29 +
+Subject: [PATCH] subports: Add _GNU_SOURCE
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+[YOCTO #15074]
+
+The syncfs probe in ports/unix/subports was failing if the compiler does not 
+support implicit function declarations. syncfs is protected and requires 
+_GNU_SOURCE, so the answer here is to pull it in.
+
+Signed-off-by: Eilís 'pidge' Ní Fhlannagáin 
+
+---
+Upstream-Status: Pending
+
+ ports/unix/subports | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ports/unix/subports b/ports/unix/subports
+index e41b036..bd5a2f6 100755
+--- a/ports/unix/subports
 b/ports/unix/subports
+@@ -1,11 +1,13 @@
+ #!/bin/sh
+ cat > dummy.c <
+ int main(void) {
+   syncfs(0);
+   return 0;
+ }
+ EOF
++
+ if ${CC} -o dummy dummy.c > /dev/null 2>&1; then
+   echo "unix/syncfs"
+ fi
+-- 
+2.34.1
+
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb 
b/meta/recipes-devtools/pseudo/pseudo_git.bb
index 4a894ebdd0b..3ffbc311b74 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -2,6 +2,7 @@ require pseudo.inc
 
 SRC_URI = "git://git.yoctoproject.org/pseudo;branch=master;protocol=https \
file://0001-configure-Prune-PIE-flags.patch \
+   file://syncfs-probe.patch \
file://glibc238.patch \
file://fallback-passwd \
file://fallback-group \
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191957): 
https://lists.openembedded.org/g/openembedded-core/message/191957
Mute This Topic: https://lists.openembedded.org/mt/103034986/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-Core][PATCH 3/3] cargo: Add CARGO_LOCK_PATH for path to Cargo.lock

2023-12-07 Thread Alex Kiernan
When building a workspace enabled project, the Cargo.lock is found at
the root of the project, not alongside the Cargo.toml. Expose
CARGO_LOCK_PATH so it can be explicitly configured.

Signed-off-by: Alex Kiernan 
---

 meta/classes-recipe/cargo_common.bbclass | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/classes-recipe/cargo_common.bbclass 
b/meta/classes-recipe/cargo_common.bbclass
index c330c122a9d3..a236628664c8 100644
--- a/meta/classes-recipe/cargo_common.bbclass
+++ b/meta/classes-recipe/cargo_common.bbclass
@@ -40,6 +40,9 @@ CARGO_SRC_DIR ?= ""
 # The actual path to the Cargo.toml
 CARGO_MANIFEST_PATH ?= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
 
+# Path to Cargo.lock
+CARGO_LOCK_PATH ?= "${@ 
os.path.join(os.path.dirname(d.getVar('CARGO_MANIFEST_PATH', True)), 
'Cargo.lock')}"
+
 CARGO_RUST_TARGET_CCLD ?= "${RUST_TARGET_CCLD}"
 cargo_common_do_configure () {
mkdir -p ${CARGO_HOME}/bitbake
@@ -168,8 +171,7 @@ python cargo_common_do_patch_paths() {
 # here is better than letting cargo tell (in case the file is missing)
 # "Cargo.lock should be modified but --frozen was given"
 
-manifest_path = d.getVar("CARGO_MANIFEST_PATH", True)
-lockfile = os.path.join(os.path.dirname(manifest_path), "Cargo.lock")
+lockfile = d.getVar("CARGO_LOCK_PATH", True)
 if not os.path.exists(lockfile):
 bb.fatal(f"{lockfile} file doesn't exist")
 
-- 
2.39.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191956): 
https://lists.openembedded.org/g/openembedded-core/message/191956
Mute This Topic: https://lists.openembedded.org/mt/103034030/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-Core][PATCH 2/3] cargo: Move CARGO_MANIFEST_PATH/CARGO_SRC_DIR to cargo_common

2023-12-07 Thread Alex Kiernan
cargo_common_do_configure uses CARGO_MANIFEST_PATH (which depends on
CARGO_SRC_DIR), but their definition was in cargo.bbclass.

Match the other variables here and change to default values, rather
than weak defaults.

Signed-off-by: Alex Kiernan 
---

 meta/classes-recipe/cargo.bbclass| 7 ---
 meta/classes-recipe/cargo_common.bbclass | 7 +++
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/meta/classes-recipe/cargo.bbclass 
b/meta/classes-recipe/cargo.bbclass
index 96a74e2ef1ec..0829a58dd90f 100644
--- a/meta/classes-recipe/cargo.bbclass
+++ b/meta/classes-recipe/cargo.bbclass
@@ -30,13 +30,6 @@ B = "${WORKDIR}/build"
 # where the issue occured
 export RUST_BACKTRACE = "1"
 
-# The directory of the Cargo.toml relative to the root directory, per default
-# assume there's a Cargo.toml directly in the root directory
-CARGO_SRC_DIR ??= ""
-
-# The actual path to the Cargo.toml
-CARGO_MANIFEST_PATH ??= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
-
 RUSTFLAGS ??= ""
 BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}"
 # --frozen flag will prevent network access (which is required since only
diff --git a/meta/classes-recipe/cargo_common.bbclass 
b/meta/classes-recipe/cargo_common.bbclass
index bf298e96c745..c330c122a9d3 100644
--- a/meta/classes-recipe/cargo_common.bbclass
+++ b/meta/classes-recipe/cargo_common.bbclass
@@ -33,6 +33,13 @@ CARGO_DISABLE_BITBAKE_VENDORING ?= "0"
 # Used by libstd-rs to point to the vendor dir included in rustc src
 CARGO_VENDORING_DIRECTORY ?= "${CARGO_HOME}/bitbake"
 
+# The directory of the Cargo.toml relative to the root directory, per default
+# assume there's a Cargo.toml directly in the root directory
+CARGO_SRC_DIR ?= ""
+
+# The actual path to the Cargo.toml
+CARGO_MANIFEST_PATH ?= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
+
 CARGO_RUST_TARGET_CCLD ?= "${RUST_TARGET_CCLD}"
 cargo_common_do_configure () {
mkdir -p ${CARGO_HOME}/bitbake
-- 
2.39.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191955): 
https://lists.openembedded.org/g/openembedded-core/message/191955
Mute This Topic: https://lists.openembedded.org/mt/103034028/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-Core][PATCH 1/3] cargo: Rename MANIFEST_PATH -> CARGO_MANIFEST_PATH

2023-12-07 Thread Alex Kiernan
This variable is a piece of recipe configurable interface, scope it with
the class name to make that clear.

Signed-off-by: Alex Kiernan 
---

 meta/classes-recipe/cargo.bbclass| 4 ++--
 meta/classes-recipe/cargo_common.bbclass | 2 +-
 meta/classes-recipe/ptest-cargo.bbclass  | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta/classes-recipe/cargo.bbclass 
b/meta/classes-recipe/cargo.bbclass
index 8c0b92df8d33..96a74e2ef1ec 100644
--- a/meta/classes-recipe/cargo.bbclass
+++ b/meta/classes-recipe/cargo.bbclass
@@ -35,7 +35,7 @@ export RUST_BACKTRACE = "1"
 CARGO_SRC_DIR ??= ""
 
 # The actual path to the Cargo.toml
-MANIFEST_PATH ??= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
+CARGO_MANIFEST_PATH ??= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
 
 RUSTFLAGS ??= ""
 BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}"
@@ -44,7 +44,7 @@ BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == 
'1']}"
 # and will require an up to date Cargo.lock file.
 # This force the package being built to already ship a Cargo.lock, in the end
 # this is what we want, at least, for reproducibility of the build.
-CARGO_BUILD_FLAGS = "-v --frozen --target ${RUST_HOST_SYS} ${BUILD_MODE} 
--manifest-path=${MANIFEST_PATH}"
+CARGO_BUILD_FLAGS = "-v --frozen --target ${RUST_HOST_SYS} ${BUILD_MODE} 
--manifest-path=${CARGO_MANIFEST_PATH}"
 
 # This is based on the content of CARGO_BUILD_FLAGS and generally will need to
 # change if CARGO_BUILD_FLAGS changes.
diff --git a/meta/classes-recipe/cargo_common.bbclass 
b/meta/classes-recipe/cargo_common.bbclass
index b732a1bd9538..bf298e96c745 100644
--- a/meta/classes-recipe/cargo_common.bbclass
+++ b/meta/classes-recipe/cargo_common.bbclass
@@ -161,7 +161,7 @@ python cargo_common_do_patch_paths() {
 # here is better than letting cargo tell (in case the file is missing)
 # "Cargo.lock should be modified but --frozen was given"
 
-manifest_path = d.getVar("MANIFEST_PATH", True)
+manifest_path = d.getVar("CARGO_MANIFEST_PATH", True)
 lockfile = os.path.join(os.path.dirname(manifest_path), "Cargo.lock")
 if not os.path.exists(lockfile):
 bb.fatal(f"{lockfile} file doesn't exist")
diff --git a/meta/classes-recipe/ptest-cargo.bbclass 
b/meta/classes-recipe/ptest-cargo.bbclass
index ff57be852508..c46df362bfee 100644
--- a/meta/classes-recipe/ptest-cargo.bbclass
+++ b/meta/classes-recipe/ptest-cargo.bbclass
@@ -15,7 +15,7 @@ python do_compile_ptest_cargo() {
 cargo = bb.utils.which(d.getVar("PATH"), d.getVar("CARGO", True))
 cargo_build_flags = d.getVar("CARGO_BUILD_FLAGS", True)
 rust_flags = d.getVar("RUSTFLAGS", True)
-manifest_path = d.getVar("MANIFEST_PATH", True)
+manifest_path = d.getVar("CARGO_MANIFEST_PATH", True)
 project_manifest_path = os.path.normpath(manifest_path)
 manifest_dir = os.path.dirname(manifest_path)
 
-- 
2.39.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191954): 
https://lists.openembedded.org/g/openembedded-core/message/191954
Mute This Topic: https://lists.openembedded.org/mt/103034027/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 1/3] useradd: Fix issues with useradd dependencies

2023-12-07 Thread Richard Purdie
On Thu, 2023-12-07 at 13:58 +0100, Alexander Kanavin wrote:
> On Thu, 7 Dec 2023 at 13:45, Eilís 'pidge' Ní Fhlannagáin
>  wrote:
> > -USERADDSETSCENEDEPS:class-target = 
> > "${MLPREFIX}base-passwd:do_populate_sysroot_setscene 
> > pseudo-native:do_populate_sysroot_setscene 
> > shadow-native:do_populate_sysroot_setscene 
> > ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene"
> > +USERADDSETSCENEDEPS:class-target = 
> > "${MLPREFIX}base-passwd:do_populate_sysroot_setscene 
> > pseudo-native:do_populate_sysroot_setscene 
> > shadow-native:do_populate_sysroot_setscene 
> > ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene ${@' 
> > '.join(['%s:do_populate_sysroot_setscene' % pkg for pkg in 
> > d.getVar("USERADD_DEPENDS").split()])}"
> 
> I'd like to clarify: do all these recent fixes mean that we can also
> add dynamic library dependencies of shadow-native into this list (it
> becomes an issue with latest versions of shadow currently not in
> oe-core)?
> 
> Specifically, this commit
> 
> https://git.yoctoproject.org/poky-contrib/commit/?h=akanavin/package-version-updates=9fdbe321fa53785cc35bd1bb4054366383ef20e5
> 
> doing
> 
> -USERADDSETSCENEDEPS:class-target =
> "${MLPREFIX}base-passwd:do_populate_sysroot_setscene
> pseudo-native:do_populate_sysroot_setscene
> shadow-native:do_populate_sysroot_setscene
> ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene"
> +USERADDSETSCENEDEPS:class-target =
> "${MLPREFIX}base-passwd:do_populate_sysroot_setscene \
> + pseudo-native:do_populate_sysroot_setscene \
> + shadow-native:do_populate_sysroot_setscene \
> + attr-native:do_populate_sysroot_setscene \
> + libbsd-native:do_populate_sysroot_setscene \
> + libmd-native:do_populate_sysroot_setscene \
> + ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene"
> 
> has been rejected by RP with the suggestion that shadow should be
> linked statically, but now I'm not sure if the argument still holds.

After my recent change, we could in theory do this as bitbake might be
able to make it work. It does run the risk of circular dependencies and
these setscene inter-task dependencies are *horrible* in general from
an sstate perspective though as my other comments about these
dependencies leading to poor behaviour still stand.

To be clear about what you're saying above, you're saying that if any
of those native dependencies are missing, we cannot use/install the
sstate object. We have to defer installing that sstate until all the
others are downloaded and available too.

My preference is still to statically link shadow to avoid this pretty
horrible side effect.

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191953): 
https://lists.openembedded.org/g/openembedded-core/message/191953
Mute This Topic: https://lists.openembedded.org/mt/103033148/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 1/3] useradd: Fix issues with useradd dependencies

2023-12-07 Thread Alexander Kanavin
On Thu, 7 Dec 2023 at 13:45, Eilís 'pidge' Ní Fhlannagáin
 wrote:
> -USERADDSETSCENEDEPS:class-target = 
> "${MLPREFIX}base-passwd:do_populate_sysroot_setscene 
> pseudo-native:do_populate_sysroot_setscene 
> shadow-native:do_populate_sysroot_setscene 
> ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene"
> +USERADDSETSCENEDEPS:class-target = 
> "${MLPREFIX}base-passwd:do_populate_sysroot_setscene 
> pseudo-native:do_populate_sysroot_setscene 
> shadow-native:do_populate_sysroot_setscene 
> ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene ${@' 
> '.join(['%s:do_populate_sysroot_setscene' % pkg for pkg in 
> d.getVar("USERADD_DEPENDS").split()])}"

I'd like to clarify: do all these recent fixes mean that we can also
add dynamic library dependencies of shadow-native into this list (it
becomes an issue with latest versions of shadow currently not in
oe-core)?

Specifically, this commit

https://git.yoctoproject.org/poky-contrib/commit/?h=akanavin/package-version-updates=9fdbe321fa53785cc35bd1bb4054366383ef20e5

doing

-USERADDSETSCENEDEPS:class-target =
"${MLPREFIX}base-passwd:do_populate_sysroot_setscene
pseudo-native:do_populate_sysroot_setscene
shadow-native:do_populate_sysroot_setscene
${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene"
+USERADDSETSCENEDEPS:class-target =
"${MLPREFIX}base-passwd:do_populate_sysroot_setscene \
+ pseudo-native:do_populate_sysroot_setscene \
+ shadow-native:do_populate_sysroot_setscene \
+ attr-native:do_populate_sysroot_setscene \
+ libbsd-native:do_populate_sysroot_setscene \
+ libmd-native:do_populate_sysroot_setscene \
+ ${MLPREFIX}shadow-sysroot:do_populate_sysroot_setscene"

has been rejected by RP with the suggestion that shadow should be
linked statically, but now I'm not sure if the argument still holds.

Alex

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191952): 
https://lists.openembedded.org/g/openembedded-core/message/191952
Mute This Topic: https://lists.openembedded.org/mt/103033148/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 1/3] useradd: Fix issues with useradd dependencies

2023-12-07 Thread Eilís 'pidge' Ní Fhlannagáin
If recipe A requires the useradd actions of recipe B we need to
ensure that recipe B is part of the recipe A dependancy chain. In
order to do that, we introduce USERADD_DEPENDS. This makes sure
that the do_populate_sysroot_setscene of recipe B exists for
recipe A in case of a missing TMPDIR. This requires changes made in
runqueue.py by RP.

This commit along with the runqueue fixes effects:
Bug 13419 - recipes that add users to groups cannot rely on other recipes 
creating those groups (when population from sstate happens)
Bug 13904 - do_prepare_recipe_sysroot: postinst-useradd-* does not run in order 
of dependency and sometimes fails
Bug 13279 - Make sure users/groups exist for package_write_* tasks
Bug 15084 - For some reason using of same user in two recipes does not work 
properly

I've included the start of self-testing for useradd by adding tests for
13419 (which ends up testing 13904, 13279, 15084 by virtue of them all
  having the same root cause)

I've also added (and disabled), a test for 14961 - addtask between 
do_populate_sysroot and do_package breaks useradd class. A fix is still needed 
for this, but that fix is a better error message that stops people from doing 
this.

Signed-off-by: Eilís 'pidge' Ní Fhlannagáin 
---
 .../selftest-users/creategroup1.bb| 32 ++
 .../selftest-users/creategroup2.bb| 33 +++
 .../selftest-users/useraddbadtask.bb  | 20 +++
 meta/classes/useradd.bbclass  |  4 ++-
 .../lib/oeqa/selftest/cases/usergrouptests.py | 26 +++
 5 files changed, 114 insertions(+), 1 deletion(-)
 create mode 100644 meta-selftest/recipes-test/selftest-users/creategroup1.bb
 create mode 100644 meta-selftest/recipes-test/selftest-users/creategroup2.bb
 create mode 100644 meta-selftest/recipes-test/selftest-users/useraddbadtask.bb
 create mode 100644 meta/lib/oeqa/selftest/cases/usergrouptests.py

diff --git a/meta-selftest/recipes-test/selftest-users/creategroup1.bb 
b/meta-selftest/recipes-test/selftest-users/creategroup1.bb
new file mode 100644
index 000..ebbbfaa83d3
--- /dev/null
+++ b/meta-selftest/recipes-test/selftest-users/creategroup1.bb
@@ -0,0 +1,32 @@
+SUMMARY = "creategroup pt 1"
+LIC_FILES_CHKSUM = 
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+DEPENDS = "coreutils-native"
+
+S = "${WORKDIR}"
+
+inherit useradd allarch
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "-u  --gid grouptest gt1"
+GROUPADD_PARAM:${PN} = "-r grouptest"
+
+TESTDIR = "${D}${sysconfdir}/creategroup"
+
+do_install() {
+   install -d   ${TESTDIR}
+   install -d   ${TESTDIR}/dir
+   touch${TESTDIR}/file
+   ln -s ./file ${TESTDIR}/symlink
+   install -d   ${TESTDIR}/fifotest
+   mkfifo   ${TESTDIR}/fifotest/fifo
+
+   chowngt1:grouptest ${TESTDIR}/file
+   chown -R gt1:grouptest ${TESTDIR}/dir
+   chown -h gt1:grouptest ${TESTDIR}/symlink
+   chown -R gt1:grouptest ${TESTDIR}/fifotest
+}
+
+FILES:${PN} = "${sysconfdir}/creategroup/*"
diff --git a/meta-selftest/recipes-test/selftest-users/creategroup2.bb 
b/meta-selftest/recipes-test/selftest-users/creategroup2.bb
new file mode 100644
index 000..ef697f09b4d
--- /dev/null
+++ b/meta-selftest/recipes-test/selftest-users/creategroup2.bb
@@ -0,0 +1,33 @@
+SUMMARY = "creategroup pt 2"
+LIC_FILES_CHKSUM = 
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+DEPENDS = "coreutils-native"
+USERADD_DEPENDS = "creategroup1"
+
+S = "${WORKDIR}"
+
+inherit useradd allarch
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "-u 5556 --gid grouptest gt2"
+
+TESTDIR = "${D}${sysconfdir}/creategroup"
+
+do_install() {
+   install -d   ${TESTDIR}
+   install -d   ${TESTDIR}/dir
+   touch${TESTDIR}/file
+   ln -s ./file ${TESTDIR}/symlink
+   install -d   ${TESTDIR}/fifotest
+   mkfifo   ${TESTDIR}/fifotest/fifo
+
+   chowngt2:grouptest ${TESTDIR}/file
+   chown -R gt2:grouptest ${TESTDIR}/dir
+   chown -h gt2:grouptest ${TESTDIR}/symlink
+   chown -R gt2:grouptest ${TESTDIR}/fifotest
+}
+
+FILES:${PN} = "${sysconfdir}/creategroup/*"
+
diff --git a/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb 
b/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb
new file mode 100644
index 000..99e04a80b34
--- /dev/null
+++ b/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb
@@ -0,0 +1,20 @@
+SUMMARY = "UserAddBadTask"
+LIC_FILES_CHKSUM = 
"file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+LICENSE = "MIT"
+
+DEPENDS:append = "coreutils-native"
+
+S = "${WORKDIR}"
+
+inherit useradd allarch
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "-u  --gid groupaddtask useraddtask"
+GROUPADD_PARAM:${PN} = "-r groupaddtask"
+
+do_badthingshappen() {
+ echo "foo"
+}
+
+addtask badthingshappen after 

[OE-core] [PATCH 3/3] variables.rst: Add USERADD_DEPENDS

2023-12-07 Thread Eilís 'pidge' Ní Fhlannagáin
Adding USERADD_DEPENDS to the variables document

Signed-off-by: Eilís 'pidge' Ní Fhlannagáin 
---
 documentation/ref-manual/variables.rst | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/documentation/ref-manual/variables.rst 
b/documentation/ref-manual/variables.rst
index b394d310990..9ec0ce4b4ca 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -9736,6 +9736,21 @@ system and gives an overview of their function and 
contents.
   ``meta-poky/conf/templates/default/local.conf.sample`` in the
   :term:`Source Directory`.
 
+   :term:`USERADD_DEPENDS`
+  Lists a recipe's USERADD dependencies. These are dependencies on
+  other recipes whose create users and groups via useradd.bbclass and are
+  needed by the recipe at build time. This variable is now required for
+  recipes that rely on other recipes for part of their useradd.
+  
+  As an example, consider a recipe ``foo``. Recipe ``bar`` creates a group
+  that foo requires for it's useradd tasks. In order to ensure that the
+  useradd tasks exist for foo, we add the the following assignment::
+
+  $USERADD_DEPENDS = "bar"
+
+  The practical effect of this assignment is that bar's sysroot_setscene is
+  added to :term:`USERADDSETSCENEDEPS` variable.
+
:term:`USERADD_ERROR_DYNAMIC`
   If set to ``error``, forces the OpenEmbedded build system to produce
   an error if the user identification (``uid``) and group
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191951): 
https://lists.openembedded.org/g/openembedded-core/message/191951
Mute This Topic: https://lists.openembedded.org/mt/103033150/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 0/3] useradd fixes, tests and documentation

2023-12-07 Thread Eilís 'pidge' Ní Fhlannagáin
This patch series fixes and/or tests for some issues in useradd dependencies. It
adds a new variable "USERADD_DEPENDS" that is required now for recipes that have
dependencies on other recipes useradd.

Fixes/Tests:
Bug 13419 - recipes that add users to groups cannot rely on other recipes 
creating those groups (when population from sstate happens)
Bug 13904 - do_prepare_recipe_sysroot: postinst-useradd-* does not run in order 
of dependency and sometimes fails
Bug 13279 - Make sure users/groups exist for package_write_* tasks
Bug 15084 - For some reason using of same user in two recipes does not work 
properly

Tests:
Bug 14961 - addtask between do_populate_sysroot and do_package breaks useradd 
class

Documentation for useradd is also included.

Eilís 'pidge' Ní Fhlannagáin (3):
  useradd: Fix issues with useradd dependencies
  usergrouptests.py: Add test for switching between static-ids
  variables.rst: Add USERADD_DEPENDS

 documentation/ref-manual/variables.rst| 15 +
 .../selftest-users/creategroup1.bb| 32 +++
 .../selftest-users/creategroup2.bb| 33 +++
 .../selftest-users/useraddbadtask.bb  | 20 +++
 meta/classes/useradd.bbclass  |  4 +-
 .../lib/oeqa/selftest/cases/usergrouptests.py | 55 +++
 6 files changed, 158 insertions(+), 1 deletion(-)
 create mode 100644 meta-selftest/recipes-test/selftest-users/creategroup1.bb
 create mode 100644 meta-selftest/recipes-test/selftest-users/creategroup2.bb
 create mode 100644 meta-selftest/recipes-test/selftest-users/useraddbadtask.bb
 create mode 100644 meta/lib/oeqa/selftest/cases/usergrouptests.py

-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191948): 
https://lists.openembedded.org/g/openembedded-core/message/191948
Mute This Topic: https://lists.openembedded.org/mt/103033147/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/3] usergrouptests.py: Add test for switching between static-ids

2023-12-07 Thread Eilís 'pidge' Ní Fhlannagáin
This test is related to https://bugzilla.yoctoproject.org/show_bug.cgi?id=12107

At the moment it doesn't seem to be able to actually replicate this
issue in the bug, which tells me it's likely fixed.

Signed-off-by: Eilís 'pidge' Ní Fhlannagáin 
---
 .../lib/oeqa/selftest/cases/usergrouptests.py | 45 +++
 1 file changed, 37 insertions(+), 8 deletions(-)

diff --git a/meta/lib/oeqa/selftest/cases/usergrouptests.py 
b/meta/lib/oeqa/selftest/cases/usergrouptests.py
index a63fce54dc9..c74b5678d00 100644
--- a/meta/lib/oeqa/selftest/cases/usergrouptests.py
+++ b/meta/lib/oeqa/selftest/cases/usergrouptests.py
@@ -5,11 +5,15 @@
 #
 
 from oeqa.selftest.case import OESelftestTestCase
-from oeqa.utils.commands import bitbake, get_bb_var
-import bb.utils
+from oeqa.utils.commands import bitbake, get_bb_var, get_test_layer
 import os
 
 class UserGroupTests(OESelftestTestCase):
+def _test_add_task_between_p_sysroot_and_package(self):
+self.logger.info("Building useraddbadtask")
+# This is expected to fail due to bug #14961
+self.assertTrue(bitbake(' useraddbadtask -C fetch'))
+
 def test_group_from_dep_package(self):
 self.logger.info("Building creategroup2")
 bitbake(' creategroup2 creategroup1')
@@ -17,10 +21,35 @@ class UserGroupTests(OESelftestTestCase):
 self.logger.info("Packaging creategroup2")
 self.assertTrue(bitbake(' creategroup2 -c package'))
 
-def _test_add_task_between_p_sysroot_and_package(self):
-self.logger.info("Cleaning sstate for useraddbadtask")
-#bitbake(' useraddbadtask -f -c cleansstate')
-self.logger.info("Building useraddbadtask")
-# This is expected to fail due to bug #14961
-self.assertTrue(bitbake(' useraddbadtask -C fetch'))
+def test_static_useradd_from_dynamic(self):
+metaselftestpath = get_test_layer()
+self.logger.info("Building core-image-minimal to generate passwd/group 
file")
+bitbake(' core-image-minimal')
+self.logger.info("Setting up useradd-staticids")
+repropassdir = os.path.join(metaselftestpath, "conf/include")
+os.makedirs(repropassdir)
+etcdir=os.path.join(os.path.join(os.path.join(get_bb_var("TMPDIR"), 
"work"), \
+
os.path.join(get_bb_var("MACHINE").replace("-","_")+"-poky-linux", 
"core-image-minimal/1.0/rootfs/etc")))
+import shutil
+shutil.copy(os.path.join(etcdir, "passwd"), os.path.join(repropassdir, 
"reproducable-passwd"))
+shutil.copy(os.path.join(etcdir, "group"), os.path.join(repropassdir, 
"reproducable-group"))
+# Copy the original local.conf
+shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 
'conf/local.conf'), os.path.join(os.environ.get('BUILDDIR'), 
'conf/local.conf.orig'))
+
+self.write_config("USERADDEXTENSION = \"useradd-staticids\"")
+self.write_config("USERADD_ERROR_DYNAMIC ??= \"error\"")
+self.write_config("USERADD_UID_TABLES += 
\"conf/include/reproducible-passwd\"")
+self.write_config("USERADD_GID_TABLES += 
\"conf/include/reproducible-group\"")
+self.logger.info("Rebuild with staticids")
+bitbake(' core-image-minimal')
+shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 
'conf/local.conf.orig'), os.path.join(os.environ.get('BUILDDIR'), 
'conf/local.conf'))
+self.logger.info("Rebuild without staticids")
+bitbake(' core-image-minimal')
+self.write_config("USERADDEXTENSION = \"useradd-staticids\"")
+self.write_config("USERADD_ERROR_DYNAMIC ??= \"error\"")
+self.write_config("USERADD_UID_TABLES += \"files/static-passwd\"")
+self.write_config("USERADD_GID_TABLES += \"files/static-group\"")
+self.logger.info("Rebuild with other staticids")
+self.assertTrue(bitbake(' core-image-minimal'))
+
 
-- 
2.34.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191950): 
https://lists.openembedded.org/g/openembedded-core/message/191950
Mute This Topic: https://lists.openembedded.org/mt/103033149/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][mickledore][PATCH 1/1] python3-cryptography: fix CVE-2023-49083

2023-12-07 Thread Yoann Congal
Hi,

Le 07/12/2023 à 12:58, Narpat Mali via lists.openembedded.org a écrit :
> From: Narpat Mali 
> 
> cryptography is a package designed to expose cryptographic primitives
> and recipes to Python developers. Calling `load_pem_pkcs7_certificates`
> or `load_der_pkcs7_certificates` could lead to a NULL-pointer dereference
> and segfault. Exploitation of this vulnerability poses a serious risk of
> Denial of Service (DoS) for any application attempting to deserialize a
> PKCS7 blob/certificate. The consequences extend to potential disruptions
> in system availability and stability. This vulnerability has been patched
> in version 41.0.6.
> 
> References:
> https://nvd.nist.gov/vuln/detail/CVE-2023-49083
> https://security-tracker.debian.org/tracker/CVE-2023-49083
> 
> Signed-off-by: Narpat Mali 

FYI, this is a patch for mickledore branch but this branch is EOL 
(End-of-life). See :
https://wiki.yoctoproject.org/wiki/Stable_Release_and_LTS#LTS_.E2.80.9CMixin.E2.80.9D_repositories
https://wiki.yoctoproject.org/wiki/Releases

Regards,
-- 
Yoann Congal
Smile ECS - Tech Expert

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191947): 
https://lists.openembedded.org/g/openembedded-core/message/191947
Mute This Topic: https://lists.openembedded.org/mt/103032561/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH v4] openssh: Add PACKAGECONFIG option to customize sshd mode

2023-12-07 Thread Alex Kiernan
On Thu, Dec 7, 2023 at 2:10 AM Yu, Mingli  wrote:
>
> Hi Alex,
>
> Thanks for your suggestion!
>
> Both sshd.socket and sshd.service belong to openssh-sshd package, so using 
> SYSTEMD_AUTO_ENABLE can't enable one of them,  it just can enable both or 
> disable both.
>

Yes, it would need changes to support per-service presets, which I
suspect would be generally useful.

> Thanks,
> 
> From: Alex Kiernan 
> Sent: Wednesday, December 6, 2023 18:37
> To: Yu, Mingli 
> Cc: openembedded-core@lists.openembedded.org 
> 
> Subject: Re: [OE-core] [PATCH v4] openssh: Add PACKAGECONFIG option to 
> customize sshd mode
>
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and 
> know the content is safe.
>
> On Wed, Dec 6, 2023 at 8:56 AM Yu, Mingli  wrote:
> >
> > From: Mingli Yu 
> >
> > Add systemd-sshd-socket-mode PACKAGECONFIG option to choose sshd.socket
> > and systemd-sshd-service-mode PACKAGECONFIG option to choose installing
> > sshd.service.
> >
> > The systemd-sshd-socket-mode PACKAGECONFIG option is enabled by default
> > and user can customize the above two PACKAGECONFIG option to choose the
> > sshd mode.
> >
> > Signed-off-by: Mingli Yu 
> > ---
> > Changed in v3:
> > rebase based on 
> > https://lore.kernel.org/all/20231201140947.792594-1-xiangyu.c...@eng.windriver.com/
> >
> > Changed in v4:
> > make it possible to install both sshd.socket and sshd.service
>
> I'm wondering if we should make SYSTEMD_AUTO_ENABLE settable per
> service, so you could then install both and manage which one is active
> with a preset.
>
> > .../openssh/openssh_9.5p1.bb  | 25 ++-
> >  1 file changed, 19 insertions(+), 6 deletions(-)
> >
> > diff --git a/meta/recipes-connectivity/openssh/openssh_9.5p1.bb 
> > b/meta/recipes-connectivity/openssh/openssh_9.5p1.bb
> > index 2c1c821ea9..58dd030c64 100644
> > --- a/meta/recipes-connectivity/openssh/openssh_9.5p1.bb
> > +++ b/meta/recipes-connectivity/openssh/openssh_9.5p1.bb
> > @@ -50,16 +50,20 @@ INITSCRIPT_NAME:${PN}-sshd = "sshd"
> >  INITSCRIPT_PARAMS:${PN}-sshd = "defaults 9"
> >
> >  SYSTEMD_PACKAGES = "${PN}-sshd"
> > -SYSTEMD_SERVICE:${PN}-sshd = "sshd.socket sshd.service"
> > +SYSTEMD_SERVICE:${PN}-sshd = 
> > "${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','sshd.socket',
> >  '', d)} 
> > ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-service-mode','sshd.service',
> >  '', d)}"
> >
> >  inherit autotools-brokensep ptest pkgconfig
> >
> > -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
> > +# systemd-sshd-socket-mode means sshd.socket and systemd-sshd-service-mode
> > +# corresponding to sshd.service
> > +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} 
> > systemd-sshd-socket-mode"
> >  PACKAGECONFIG[kerberos] = "--with-kerberos5,--without-kerberos5,krb5"
> >  PACKAGECONFIG[ldns] = "--with-ldns,--without-ldns,ldns"
> >  PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
> >  PACKAGECONFIG[manpages] = "--with-mantype=man,--with-mantype=cat"
> >  PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
> > +PACKAGECONFIG[systemd-sshd-socket-mode] = ""
> > +PACKAGECONFIG[systemd-sshd-service-mode] = ""
> >
> >  EXTRA_AUTORECONF += "--exclude=aclocal"
> >
> > @@ -124,15 +128,24 @@ do_install:append () {
> > echo "HostKey /var/run/ssh/ssh_host_ed25519_key" >> 
> > ${D}${sysconfdir}/ssh/sshd_config_readonly
> >
> > install -d ${D}${systemd_system_unitdir}
> > -   install -c -m 0644 ${WORKDIR}/sshd.socket 
> > ${D}${systemd_system_unitdir}
> > -   install -c -m 0644 ${WORKDIR}/sshd.service 
> > ${D}${systemd_system_unitdir}
> > -   install -c -m 0644 ${WORKDIR}/sshd@.service 
> > ${D}${systemd_system_unitdir}
> > +   if 
> > ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','true','false',d)};
> >  then
> > +   install -c -m 0644 ${WORKDIR}/sshd.socket 
> > ${D}${systemd_system_unitdir}
> > +   install -c -m 0644 ${WORKDIR}/sshd@.service 
> > ${D}${systemd_system_unitdir}
> > +   sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
> > +   -e 's,@SBINDIR@,${sbindir},g' \
> > +   -e 's,@BINDIR@,${bindir},g' \
> > +   -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \
> > +${D}${systemd_system_unitdir}/sshd.socket
> > +   fi
> > +   if 
> > ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-service-mode','true','false',d)};
> >  then
> > +   install -c -m 0644 ${WORKDIR}/sshd.service 
> > ${D}${systemd_system_unitdir}
> > +   fi
> > install -c -m 0644 ${WORKDIR}/sshdgenkeys.service 
> > ${D}${systemd_system_unitdir}
> > sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
> > -e 's,@SBINDIR@,${sbindir},g' \
> > -e 's,@BINDIR@,${bindir},g' \
> >

[OE-core][mickledore][PATCH 1/1] python3-cryptography: fix CVE-2023-49083

2023-12-07 Thread Narpat Mali via lists.openembedded.org
From: Narpat Mali 

cryptography is a package designed to expose cryptographic primitives
and recipes to Python developers. Calling `load_pem_pkcs7_certificates`
or `load_der_pkcs7_certificates` could lead to a NULL-pointer dereference
and segfault. Exploitation of this vulnerability poses a serious risk of
Denial of Service (DoS) for any application attempting to deserialize a
PKCS7 blob/certificate. The consequences extend to potential disruptions
in system availability and stability. This vulnerability has been patched
in version 41.0.6.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-49083
https://security-tracker.debian.org/tracker/CVE-2023-49083

Signed-off-by: Narpat Mali 
---
 .../python3-cryptography/CVE-2023-49083.patch | 53 +++
 .../python/python3-cryptography_39.0.2.bb |  1 +
 2 files changed, 54 insertions(+)
 create mode 100644 
meta/recipes-devtools/python/python3-cryptography/CVE-2023-49083.patch

diff --git 
a/meta/recipes-devtools/python/python3-cryptography/CVE-2023-49083.patch 
b/meta/recipes-devtools/python/python3-cryptography/CVE-2023-49083.patch
new file mode 100644
index 00..3870529ecc
--- /dev/null
+++ b/meta/recipes-devtools/python/python3-cryptography/CVE-2023-49083.patch
@@ -0,0 +1,53 @@
+From df089065abde07b9b293c10f4d5c96cd99a1 Mon Sep 17 00:00:00 2001
+From: Alex Gaynor 
+Date: Thu, 7 Dec 2023 09:33:46 +
+Subject: [PATCH] Fixed crash when loading a PKCS#7 bundle with no certificates
+ (#9926)
+
+CVE: CVE-2023-49083
+
+Upstream-Status: Backport 
[https://github.com/pyca/cryptography/commit/1e7b4d074e14c4e694d3ce69ad6754a6039fd6ff]
+
+Signed-off-by: Narpat Mali 
+---
+ src/cryptography/hazmat/backends/openssl/backend.py | 5 -
+ tests/hazmat/primitives/test_pkcs7.py   | 6 ++
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/cryptography/hazmat/backends/openssl/backend.py 
b/src/cryptography/hazmat/backends/openssl/backend.py
+index 48f4265..7b949be 100644
+--- a/src/cryptography/hazmat/backends/openssl/backend.py
 b/src/cryptography/hazmat/backends/openssl/backend.py
+@@ -2466,9 +2466,12 @@ class Backend:
+ _Reasons.UNSUPPORTED_SERIALIZATION,
+ )
+
++certs: list[x509.Certificate] = []
++if p7.d.sign == self._ffi.NULL:
++return certs
++
+ sk_x509 = p7.d.sign.cert
+ num = self._lib.sk_X509_num(sk_x509)
+-certs = []
+ for i in range(num):
+ x509 = self._lib.sk_X509_value(sk_x509, i)
+ self.openssl_assert(x509 != self._ffi.NULL)
+diff --git a/tests/hazmat/primitives/test_pkcs7.py 
b/tests/hazmat/primitives/test_pkcs7.py
+index d879563..36ce031 100644
+--- a/tests/hazmat/primitives/test_pkcs7.py
 b/tests/hazmat/primitives/test_pkcs7.py
+@@ -89,6 +89,12 @@ class TestPKCS7Loading:
+ mode="rb",
+ )
+
++def test_load_pkcs7_empty_certificates(self):
++der = b"\x30\x0B\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x07\x02"
++
++certificates = pkcs7.load_der_pkcs7_certificates(der)
++assert certificates == []
++
+
+ # We have no public verification API and won't be adding one until we get
+ # some requirements from users so this function exists to give us basic
+--
+2.40.0
diff --git a/meta/recipes-devtools/python/python3-cryptography_39.0.2.bb 
b/meta/recipes-devtools/python/python3-cryptography_39.0.2.bb
index 449e3ba1bc..b54c7e1719 100644
--- a/meta/recipes-devtools/python/python3-cryptography_39.0.2.bb
+++ b/meta/recipes-devtools/python/python3-cryptography_39.0.2.bb
@@ -16,6 +16,7 @@ SRC_URI += "\
 file://0001-pyproject.toml-remove-benchmark-disable-option.patch \
 file://check-memfree.py \
 file://run-ptest \
+file://CVE-2023-49083.patch \
 "
 
 require ${BPN}-crates.inc
-- 
2.40.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191945): 
https://lists.openembedded.org/g/openembedded-core/message/191945
Mute This Topic: https://lists.openembedded.org/mt/103032561/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/2] go: upgrade 1.21.0 -> 1.21.5

2023-12-07 Thread Jose Quaresma
Upgrade to latest 1.21.x release [1]:

$ git --no-pager log --oneline go1.21.0..go1.21.5
6018ad99a4 (tag: go1.21.5) [release-branch.go1.21] go1.21.5
ec8c526e4b [release-branch.go1.21] net/http: limit chunked data overhead
f7a79cb5fc [release-branch.go1.21] cmd/compile: fix findIndVar so it does not 
match disjointed loop headers
3684d19c20 [release-branch.go1.21] runtime: call enableMetadataHugePages and 
its callees on the systemstack
9e43850a32 [release-branch.go1.21] crypto/rand,runtime: switch RtlGenRandom for 
ProcessPrng
8caf4bb3e7 [release-branch.go1.21] path/filepath: consider \\?\c: as a volume 
on Windows
23c943e529 [release-branch.go1.21] cmd/go/internal/vcs: error out if the 
requested repo does not support a secure protocol
4952f41180 [release-branch.go1.21] cmd/go: allow 'go mod download' to switch 
toolchains if called with explicit arguments
f26fa05522 [release-branch.go1.21] os: report IO_REPARSE_TAG_DEDUP files as 
regular in Stat and Lstat
8ae493b5b8 [release-branch.go1.21] internal/poll: add SPLICE_F_NONBLOCK flag 
for splice to avoid inconsistency with O_NONBLOCK
b9f245b8d3 [release-branch.go1.21] cmd/compile: ensure pointer arithmetic 
happens after the nil check
caacf3a09a [release-branch.go1.21] cmd/compile: handle constant pointer offsets 
in dead store elimination
1e91861f67 [release-branch.go1.21] syscall: copy rlimit.go's build constraint 
to rlimit_test.go
ed817f1c40 (tag: go1.21.4) [release-branch.go1.21] go1.21.4
9e933c189c [release-branch.go1.21] path/filepath: fix various issues in parsing 
Windows paths
434af8537e [release-branch.go1.21] net/http: pull http2 underflow fix from 
x/net/http2
7b04d81cbc [release-branch.go1.21] runtime/cgo: avoid taking the address of 
crosscall2 in code
f9a31cda3c [release-branch.go1.21] cmd/compile/internal/typecheck: fix closure 
field naming
64b6c48107 [release-branch.go1.21] go/types, types2: don't use generics
ef6993f327 [release-branch.go1.21] runtime: don't eagerly collapse hugepages
bae01521f3 [release-branch.go1.21] go/types, types2: don't implicitly modify an 
argument function's type
236c07c049 [release-branch.go1.21] cmd/link: split text sections for arm 32-bit
9465990e0e [release-branch.go1.21] all: tidy dependency versioning after release
883f062fc0 (tag: go1.21.3) [release-branch.go1.21] go1.21.3
24ae2d9272 [release-branch.go1.21] net/http: regenerate h2_bundle.go
26b5783b72 (tag: go1.21.2) [release-branch.go1.21] go1.21.2
2ddfc04d12 [release-branch.go1.21] cmd/compile: use absolute file name in isCgo 
check
a15ef1bb0f [release-branch.go1.21] cmd/compile: absorb InvertFlags into Noov 
comparisons
41d71a5afa [release-branch.go1.21] cmd/compile: reset memcombine correctly 
between basic blocks
0b6b0a275a [release-branch.go1.21] runtime: always lock OS thread in debugcall
cd671a1180 [release-branch.go1.21] runtime: increase g0 stack size in non-cgo 
case
fc57cc31a0 [release-branch.go1.21] cmd/link: suppress -bind_at_load deprecation 
warning for ld-prime
9bec49cf52 [release-branch.go1.21] cmd/link: disable DWARF by default in 
c-shared mode on darwin
3ef4f939c3 [release-branch.go1.21] cmd/link: force old Apple linker in plugin 
mode
556e9c36ba [release-branch.go1.21] cmd/link: avoid deadcode of global map vars 
for programs using plugins
b64dc5f499 [release-branch.go1.21] cmd/go: in TestScript/gotoolchain_path, 
remove the user's PATH
cd66ca0636 [release-branch.go1.21] runtime/metrics: fix /gc/scan/* metrics
d7a0626806 [release-branch.go1.21] runtime: ignore SPWrite on innermost 
traceback frame
2c1e5b05fe (tag: go1.21.1) [release-branch.go1.21] go1.21.1
bbd043ff0d [release-branch.go1.21] html/template: properly handle special tags 
within the script context
b0e1d3ea26 [release-branch.go1.21] html/template: support HTML-like comments in 
script contexts
d25a935574 [release-branch.go1.21] cmd/go: reject toolchain directives 
containing path separators
e3ba569c78 [release-branch.go1.21] net/http: revert "support streaming POST 
content in wasm"
8dc6ad1c61 [release-branch.go1.21] runtime: restore caller's frame pointer when 
recovering from panic
06df3292a8 [release-branch.go1.21] runtime: avoid MADV_HUGEPAGE for heap memory
b120517ffd [release-branch.go1.21] go/types, types2: remove order dependency in 
inference involving channels
0a9582163c [release-branch.go1.21] cmd/go: retry ETXTBSY errors when running 
test binaries
91a4e74b98 [release-branch.go1.21] crypto/tls: QUIC: fix panics when processing 
post-handshake messages
6385a6fb18 [release-branch.go1.21] cmd/go: find GOROOT using os.Executable when 
installed to GOROOT/bin/GOOS_GOARCH
2d07bb86f0 [release-branch.go1.21] encoding/xml: overriding by empty namespace 
when no new name declaration
745b81b6e6 [release-branch.go1.21] encoding/gob: prevent panic from index out 
of range in Decoder.typeString
13339c75b8 [release-branch.go1.21] runtime: fix maps.Clone bug when cloning a 
map mid-grow
2977709875 [release-branch.go1.21] context: fix synchronization in 

Re: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add PW_SUBDIR

2023-12-07 Thread Joakim Tjernlund via lists.openembedded.org
On Wed, 2023-12-06 at 20:21 +, Peter Kjellerstedt wrote:
> Since I've seen Richard's reply and his reluctance to merge this,
> this is mostly technical.

I know but I don't understand what "batter ways" to do this is, I have tested 
symlinks/--prefix/--root and bind mounting the passwd/shadow
files and none of then work. Using overlaysfs is an inferior solution to me 
that makes the whole /etc writeable, may break when RFS underneath is
upgraded and I am unsure how resilient overlayfs is in case  of power failure. 
What else is there ?

>
> I would use either PW_DIR = "${sysconfdir}/pwdb" or PW_DIR:append = "/pwdb".
> Using "/etc" (and other hardcoded paths) should be avoided wherever
> possible.

Thanks, will tru there out.

 Jocke

>
> //Peter
>
> > -Original Message-
> > From: Joakim Tjernlund 
> > Sent: den 29 november 2023 12:11
> > To: openembedded-core@lists.openembedded.org; Peter Kjellerstedt
> > 
> > Subject: Re: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add PW_SUBDIR
> >
> > Hi Peter :)
> >
> > All good comments, will fix accordingly. Not sure how PW_DIR ?=
> > "${sysconfdir}" will work though.
> >
> > How do you envision one should set PW_DIR in distro .conf or layer.conf?
> > Just PW_DIR = "/etc/pwdb" or PW_DIR = "${sysconfdir}/pwdb" ?
> >
> >  Jocke
> >
> > On Sun, 2023-11-26 at 21:21 +, Peter Kjellerstedt wrote:
> > > > -Original Message-
> > > > From: openembedded-core@lists.openembedded.org  > c...@lists.openembedded.org> On Behalf Of Joakim Tjernlund via
> > lists.openembedded.org
> > > > Sent: den 24 november 2023 15:11
> > > > To: openembedded-core@lists.openembedded.org
> > > > Cc: Joakim Tjernlund 
> > > > Subject: [OE-core] [kirkstone][PATCH 2/4] base-passwd: Add PW_SUBDIR
> > > >
> > > > Add support for creating passwd files in a /etc subdir
> > > > Set PW_SUBIR to pwdb to get passwd  files in /etc/pwdb
> > > >
> > > > Signed-off-by: Joakim Tjernlund 
> > > > ---
> > > >  .../base-passwd/base-passwd_3.5.29.bb | 24 --
> > -
> > > >  1 file changed, 16 insertions(+), 8 deletions(-)
> > > >
> > > > diff --git a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > > index ef7792ae49..e453be0763 100644
> > > > --- a/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > > +++ b/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb
> > > > @@ -20,6 +20,9 @@ SRC_URI =
> > "https://launchpad.net/debian/+archive/primary/+files/${BPN}_${PV}.tar
> > > >  SRC_URI[md5sum] = "6beccac48083fe8ae5048acd062e5421"
> > > >  SRC_URI[sha256sum] =
> > "f0b66388b2c8e49c15692439d2bee63bcdd4bbbf7a782c7f64accc55986b6a36"
> > > >
> > > > +#Set PW_SUBDIR to pwdb to get passwd  files in /etc/pwdb
> > > > +PW_SUBDIR ?= ""
> > > > +
> > >
> > > Rather than defining a subdirectory, I would recommend defining the full
> > > path, e.g.:
> > >
> > > PW_DIR ?= "${sysconfdir}"
> > >
> > > This avoids generating a lot of "//" in the middle of paths for the
> > majority
> > > of us who do not use a subdirectory for the password files.
> > >
> > > >  # the package is taken from launchpad; that source is static and goes
> > stale
> > > >  # so we check the latest upstream from a directory that does get
> > updated
> > > >  UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/"
> > > > @@ -50,10 +53,11 @@ basepasswd_sysroot_postinst() {
> > > >  #!/bin/sh
> > > >
> > > >  # Install passwd.master and group.master to sysconfdir
> > > > -install -d -m 755 ${STAGING_DIR_TARGET}${sysconfdir}
> > > > +install -d -m 755 ${STAGING_DIR_TARGET}${sysconfdir}/${PW_SUBDIR}
> > > >  for i in passwd group; do
> > > > install -p -m 644 ${STAGING_DIR_TARGET}${datadir}/base-
> > passwd/\$i.master \
> > > > -   ${STAGING_DIR_TARGET}${sysconfdir}/\$i
> > > > +   ${STAGING_DIR_TARGET}${sysconfdir}/${PW_SUBDIR}/\$i
> > > > +   [ -n "${PW_SUBDIR}" ] && ln -fs ${PW_SUBDIR}/\$i
> > ${STAGING_DIR_TARGET}${sysconfdir}/\$i
> > >
> > > I generally recommended to use `[ ! ... ] || ...` instead of `[ ... ] &&
> > ...`:
> > >
> > >   [ -z "${PW_SUBDIR}" ] || ln -fs ${PW_SUBDIR}/\$i
> > ${STAGING_DIR_TARGET}${sysconfdir}/\$i
> > >
> > > Or, assuming my recommendation above is followed:
> > >
> > >   [ "${PW_DIR}" = "${sysconfdir}" ] ||
> > >   ln -fsr ${STAGING_DIR_TARGET}${PW_DIR}/\$i
> > ${STAGING_DIR_TARGET}${sysconfdir}/\$i
> > >
> > > The reason is that the return status ($?) of `[ ... ] && ...` is 1 if
> > the
> > > test fails, while it is 0 for `[ ! ... ] || ...` when the test succeeds.
> > >
> > > >  done
> > > >
> > > >  # Run any useradd postinsts
> > > > @@ -89,15 +93,19 @@ python populate_packages:prepend() {
> > > >  f.close()
> > > >
> > > >  preinst = """#!/bin/sh
> > > > -mkdir -p $D${sysconfdir}
> > > > -if [ ! -e $D${sysconfdir}/passwd ]; then
> > > > -\tcat << 'EOF' > $D${sysconfdir}/passwd
> > > > +mkdir -p $D${sysconfdir}/${PW_SUBDIR}
> > > > +if [ ! -e