All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/21] gdk-pixbuf: update a patch status
@ 2021-05-24  9:13 Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 02/21] systemd: update 247.6 -> 248.3 Alexander Kanavin
                   ` (19 more replies)
  0 siblings, 20 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch         | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch
index dc8d6ce724..a8206a4507 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Add-use_prebuilt_tools-option.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Add use_prebuilt_tools option
 This allows using the gdk-pixbuf tools from the host to
 build and install tests in a cross-compile scenarion.
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/119]
 Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
 
 ---
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 02/21] systemd: update 247.6 -> 248.3
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-25  0:18   ` [OE-core] " Khem Raj
  2021-05-24  9:13 ` [PATCH 03/21] systemd-conf: do not version in lockstep with systemd Alexander Kanavin
                   ` (18 subsequent siblings)
  19 siblings, 1 reply; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Drop backports:
48fff0a2af3f62acd446ebec8081b039b72caad8.patch
7c5fd25119a495009ea62f79e5daec34cc464628.patch
0001-analyze-resolve-executable-path-if-it-is-relative.patch
0001-analyze-resolve-executable-path-if-it-is-relative.patch

Drop 0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
as difficult to rebase; please resend if you feel strongly that
it is needed.

Rebase the big pile of musl patches.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...f0a2af3f62acd446ebec8081b039b72caad8.patch | 179 --------------
 ...d25119a495009ea62f79e5daec34cc464628.patch |  53 ----
 ...md-boot_247.6.bb => systemd-boot_248.3.bb} |   0
 meta/recipes-core/systemd/systemd.inc         |   6 +-
 ...ve-executable-path-if-it-is-relative.patch |  39 ---
 ...chvt-as-non-root-user-without-polkit.patch | 227 ------------------
 ...002-don-t-use-glibc-specific-qsort_r.patch |  29 ++-
 ...dd-__compare_fn_t-and-comparison_fn_.patch |  26 +-
 ...k-parse_printf_format-implementation.patch |  46 ++--
 ...missing.h-check-for-missing-strndupa.patch | 204 ++++++++++++----
 .../0006-Include-netinet-if_ether.h.patch     |  56 +++--
 ...OB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch |  17 +-
 ...008-add-missing-FTW_-macros-for-musl.patch |   8 +-
 ..._register_atfork-for-non-glibc-build.patch |  12 +-
 ...10-Use-uintmax_t-for-handling-rlim_t.patch |  18 +-
 ...sable-tests-for-missing-typedefs-in-.patch |   9 +-
 ...T_SYMLINK_NOFOLLOW-flag-to-faccessat.patch |  19 +-
 ...patible-basename-for-non-glibc-syste.patch |  11 +-
 ...uffering-when-writing-to-oom_score_a.patch |  12 +-
 ...compliant-strerror_r-from-GNU-specif.patch |  46 ++--
 ...S_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch |   8 +-
 ...ype.h-add-__compar_d_fn_t-definition.patch |   8 +-
 ...definition-of-prctl_mm_map-structure.patch |   8 +-
 .../systemd/0019-Handle-missing-LOCK_EX.patch |  10 +-
 ...ible-pointer-type-struct-sockaddr_un.patch |  12 +-
 .../0021-test-json.c-define-M_PIl.patch       |   8 +-
 ...-not-disable-buffer-in-writing-files.patch | 116 ++++-----
 .../0025-Handle-__cpu_mask-usage.patch        |   8 +-
 .../systemd/0026-Handle-missing-gshadow.patch |  20 +-
 ...r-mount-error-with-invalid-options-o.patch |  97 --------
 ...l.h-Define-MIPS-ABI-defines-for-musl.patch |  16 +-
 .../{systemd_247.6.bb => systemd_248.3.bb}    |  11 +-
 32 files changed, 388 insertions(+), 951 deletions(-)
 delete mode 100644 meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
 delete mode 100644 meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
 rename meta/recipes-core/systemd/{systemd-boot_247.6.bb => systemd-boot_248.3.bb} (100%)
 delete mode 100644 meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
 delete mode 100644 meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
 delete mode 100644 meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
 rename meta/recipes-core/systemd/{systemd_247.6.bb => systemd_248.3.bb} (99%)

diff --git a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch b/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
deleted file mode 100644
index e3ce296741..0000000000
--- a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
+++ /dev/null
@@ -1,179 +0,0 @@
-From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00 2001
-From: Daan De Meyer <daan.j.demeyer@gmail.com>
-Date: Fri, 12 Mar 2021 22:09:44 +0000
-Subject: [PATCH] boot: Move console declarations to missing_efi.h
-
-These were added to eficonex.h in gnu-efi 3.0.13. Let's move them
-to missing_efi.h behind an appropriate guard to fix the build with
-recent versions of gnu-efi.
-
-(cherry picked from commit 95ba433a5f34baf92921fb58051bc8241f908c0e)
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- src/boot/efi/console.c     | 57 --------------------------------
- src/boot/efi/console.h     |  6 +---
- src/boot/efi/missing_efi.h | 67 ++++++++++++++++++++++++++++++++++++++
- 3 files changed, 68 insertions(+), 62 deletions(-)
-
-diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
-index 2dd4543d51..1d6dfeeea2 100644
---- a/src/boot/efi/console.c
-+++ b/src/boot/efi/console.c
-@@ -9,63 +9,6 @@
- #define SYSTEM_FONT_WIDTH 8
- #define SYSTEM_FONT_HEIGHT 19
- 
--#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
--        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
--
--struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
--
--typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
--        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
--        BOOLEAN ExtendedVerification
--);
--
--typedef UINT8 EFI_KEY_TOGGLE_STATE;
--
--typedef struct {
--        UINT32 KeyShiftState;
--        EFI_KEY_TOGGLE_STATE KeyToggleState;
--} EFI_KEY_STATE;
--
--typedef struct {
--        EFI_INPUT_KEY Key;
--        EFI_KEY_STATE KeyState;
--} EFI_KEY_DATA;
--
--typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
--        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
--        EFI_KEY_DATA *KeyData
--);
--
--typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
--        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
--        EFI_KEY_TOGGLE_STATE *KeyToggleState
--);
--
--typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
--        EFI_KEY_DATA *KeyData
--);
--
--typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
--        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
--        EFI_KEY_DATA KeyData,
--        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
--        VOID **NotifyHandle
--);
--
--typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
--        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
--        VOID *NotificationHandle
--);
--
--typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
--        EFI_INPUT_RESET_EX Reset;
--        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
--        EFI_EVENT WaitForKeyEx;
--        EFI_SET_STATE SetState;
--        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
--        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
--} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
--
- EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
-         EFI_GUID EfiSimpleTextInputExProtocolGuid = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
-         static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
-diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
-index 41df3a406e..2c69af552a 100644
---- a/src/boot/efi/console.h
-+++ b/src/boot/efi/console.h
-@@ -1,11 +1,7 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
- #pragma once
- 
--#define EFI_SHIFT_STATE_VALID           0x80000000
--#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
--#define EFI_LEFT_CONTROL_PRESSED        0x00000008
--#define EFI_RIGHT_ALT_PRESSED           0x00000010
--#define EFI_LEFT_ALT_PRESSED            0x00000020
-+#include "missing_efi.h"
- 
- #define EFI_CONTROL_PRESSED             (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED)
- #define EFI_ALT_PRESSED                 (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED)
-diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h
-index 1b838af2a4..b6aae1eb5b 100644
---- a/src/boot/efi/missing_efi.h
-+++ b/src/boot/efi/missing_efi.h
-@@ -53,3 +53,70 @@ typedef struct _EFI_RNG_PROTOCOL {
- } EFI_RNG_PROTOCOL;
- 
- #endif
-+
-+#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
-+
-+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
-+        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
-+
-+#define EFI_SHIFT_STATE_VALID           0x80000000
-+#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
-+#define EFI_LEFT_CONTROL_PRESSED        0x00000008
-+#define EFI_RIGHT_ALT_PRESSED           0x00000010
-+#define EFI_LEFT_ALT_PRESSED            0x00000020
-+
-+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
-+
-+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
-+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
-+        BOOLEAN ExtendedVerification
-+);
-+
-+typedef UINT8 EFI_KEY_TOGGLE_STATE;
-+
-+typedef struct {
-+        UINT32 KeyShiftState;
-+        EFI_KEY_TOGGLE_STATE KeyToggleState;
-+} EFI_KEY_STATE;
-+
-+typedef struct {
-+        EFI_INPUT_KEY Key;
-+        EFI_KEY_STATE KeyState;
-+} EFI_KEY_DATA;
-+
-+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
-+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
-+        EFI_KEY_DATA *KeyData
-+);
-+
-+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
-+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
-+        EFI_KEY_TOGGLE_STATE *KeyToggleState
-+);
-+
-+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
-+        EFI_KEY_DATA *KeyData
-+);
-+
-+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
-+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
-+        EFI_KEY_DATA KeyData,
-+        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
-+        VOID **NotifyHandle
-+);
-+
-+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
-+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
-+        VOID *NotificationHandle
-+);
-+
-+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
-+        EFI_INPUT_RESET_EX Reset;
-+        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
-+        EFI_EVENT WaitForKeyEx;
-+        EFI_SET_STATE SetState;
-+        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
-+        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
-+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
-+
-+#endif
diff --git a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch b/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
deleted file mode 100644
index ae449791f1..0000000000
--- a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 7c5fd25119a495009ea62f79e5daec34cc464628 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Mon, 12 Apr 2021 14:03:32 +0200
-Subject: [PATCH] meson: do not fail if rsync is not installed with meson
- 0.57.2
-
-https://github.com/mesonbuild/meson/issues/8641
-
-Our CI started to fail. Even if the change is reverted in meson,
-we need a quick workaround here.
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- man/meson.build | 25 ++++++++++++++-----------
- 1 file changed, 14 insertions(+), 11 deletions(-)
-
-diff --git a/man/meson.build b/man/meson.build
-index 3cae8446cda..f9c4b83dc81 100644
---- a/man/meson.build
-+++ b/man/meson.build
-@@ -184,17 +184,20 @@ html = custom_target(
-         depends : html_pages,
-         command : ['echo'])
- 
--run_target(
--        'doc-sync',
--        depends : man_pages + html_pages,
--        command : ['rsync', '-rlv',
--                   '--delete-excluded',
--                   '--include=man',
--                   '--include=*.html',
--                   '--exclude=*',
--                   '--omit-dir-times',
--                   meson.current_build_dir(),
--                   get_option('www-target')])
-+rsync = find_program('rsync', required : false)
-+if rsync.found()
-+        run_target(
-+                'doc-sync',
-+                depends : man_pages + html_pages,
-+                command : [rsync, '-rlv',
-+                           '--delete-excluded',
-+                           '--include=man',
-+                           '--include=*.html',
-+                           '--exclude=*',
-+                           '--omit-dir-times',
-+                           meson.current_build_dir(),
-+                           get_option('www-target')])
-+endif
- 
- ############################################################
- 
diff --git a/meta/recipes-core/systemd/systemd-boot_247.6.bb b/meta/recipes-core/systemd/systemd-boot_248.3.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot_247.6.bb
rename to meta/recipes-core/systemd/systemd-boot_248.3.bb
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index 88dddb309c..0524a25008 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -14,11 +14,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
 LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
                     file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
 
-SRCREV = "17472dca0160cbe7b807ca648475fd70d0d62fe5"
-SRCBRANCH = "v247-stable"
+SRCREV = "37c4cfde0ce613f0f00544d3f4e2e72bf93d9c76"
+SRCBRANCH = "v248-stable"
 SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \
-           file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \
-           file://48fff0a2af3f62acd446ebec8081b039b72caad8.patch \
 "
 
 S = "${WORKDIR}/git"
diff --git a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch b/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
deleted file mode 100644
index fd7f94a61d..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From b9b7a8e3825f0433e120f7a6d7d5d635a839cab9 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Thu, 21 Jan 2021 06:19:44 +0000
-Subject: [PATCH] analyze: resolve executable path if it is relative
-
-Upstream-Status: Backport [https://github.com/systemd/systemd/commit/f1fb046a985521f7d4a662f02546686ff20b7e5d]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- src/analyze/analyze-verify.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/analyze/analyze-verify.c b/src/analyze/analyze-verify.c
-index a9c89173bf..969523df18 100644
---- a/src/analyze/analyze-verify.c
-+++ b/src/analyze/analyze-verify.c
-@@ -115,14 +115,17 @@ static int verify_socket(Unit *u) {
- }
- 
- int verify_executable(Unit *u, const ExecCommand *exec) {
-+        int r;
-+
-         if (!exec)
-                 return 0;
- 
-         if (exec->flags & EXEC_COMMAND_IGNORE_FAILURE)
-                 return 0;
- 
--        if (access(exec->path, X_OK) < 0)
--                return log_unit_error_errno(u, errno, "Command %s is not executable: %m", exec->path);
-+        r = find_executable_full(exec->path, false, NULL);
-+        if (r < 0)
-+                return log_unit_error_errno(u, r, "Command %s is not executable: %m", exec->path);
- 
-         return 0;
- }
--- 
-2.26.2
-
diff --git a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch b/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
deleted file mode 100644
index 89ef39bc3e..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00 2001
-From: Joshua Watt <JPEWhacker@gmail.com>
-Date: Fri, 30 Oct 2020 08:15:43 -0500
-Subject: [PATCH] logind: Restore chvt as non-root user without polkit
-
-4acf0cfd2f ("logind: check PolicyKit before allowing VT switch") broke
-the ability to write user sessions that run graphical sessions (e.g.
-weston/X11). This was partially amended in 19bb87fbfa ("login: allow
-non-console sessions to change vt") by changing the default PolicyKit
-policy so that non-root users are again allowed to switch the VT. This
-makes the policy when PolKit is not enabled (as on many embedded
-systems) match the default PolKit policy and allows launching graphical
-sessions as a non-root user.
-
-Closes #17473
----
- src/login/logind-dbus.c         | 11 ++-------
- src/login/logind-polkit.c       | 26 +++++++++++++++++++++
- src/login/logind-polkit.h       | 10 ++++++++
- src/login/logind-seat-dbus.c    | 41 ++++-----------------------------
- src/login/logind-session-dbus.c | 11 ++-------
- src/login/meson.build           |  1 +
- 6 files changed, 46 insertions(+), 54 deletions(-)
- create mode 100644 src/login/logind-polkit.c
- create mode 100644 src/login/logind-polkit.h
-
-diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
-index 0f83ed99bc..a3765d88ba 100644
---- a/src/login/logind-dbus.c
-+++ b/src/login/logind-dbus.c
-@@ -30,6 +30,7 @@
- #include "format-util.h"
- #include "fs-util.h"
- #include "logind-dbus.h"
-+#include "logind-polkit.h"
- #include "logind-seat-dbus.h"
- #include "logind-session-dbus.h"
- #include "logind-user-dbus.h"
-@@ -1047,15 +1048,7 @@ static int method_activate_session_on_seat(sd_bus_message *message, void *userda
-                 return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT,
-                                          "Session %s not on seat %s", session_name, seat_name);
- 
--        r = bus_verify_polkit_async(
--                        message,
--                        CAP_SYS_ADMIN,
--                        "org.freedesktop.login1.chvt",
--                        NULL,
--                        false,
--                        UID_INVALID,
--                        &m->polkit_registry,
--                        error);
-+        r = check_polkit_chvt(message, m, error);
-         if (r < 0)
-                 return r;
-         if (r == 0)
-diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c
-new file mode 100644
-index 0000000000..9072570cc6
---- /dev/null
-+++ b/src/login/logind-polkit.c
-@@ -0,0 +1,26 @@
-+/* SPDX-License-Identifier: LGPL-2.1+ */
-+
-+#include "bus-polkit.h"
-+#include "logind-polkit.h"
-+#include "missing_capability.h"
-+#include "user-util.h"
-+
-+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error) {
-+#if ENABLE_POLKIT
-+        return bus_verify_polkit_async(
-+                        message,
-+                        CAP_SYS_ADMIN,
-+                        "org.freedesktop.login1.chvt",
-+                        NULL,
-+                        false,
-+                        UID_INVALID,
-+                        &manager->polkit_registry,
-+                        error);
-+#else
-+        /* Allow chvt when polkit is not present. This allows a service to start a graphical session as a
-+         * non-root user when polkit is not compiled in, matching the default polkit policy */
-+        return 1;
-+#endif
-+}
-+
-+
-diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h
-new file mode 100644
-index 0000000000..476c077a8a
---- /dev/null
-+++ b/src/login/logind-polkit.h
-@@ -0,0 +1,10 @@
-+/* SPDX-License-Identifier: LGPL-2.1+ */
-+#pragma once
-+
-+#include "sd-bus.h"
-+
-+#include "bus-object.h"
-+#include "logind.h"
-+
-+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error);
-+
-diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c
-index a945132284..f22e9e2734 100644
---- a/src/login/logind-seat-dbus.c
-+++ b/src/login/logind-seat-dbus.c
-@@ -9,6 +9,7 @@
- #include "bus-polkit.h"
- #include "bus-util.h"
- #include "logind-dbus.h"
-+#include "logind-polkit.h"
- #include "logind-seat-dbus.h"
- #include "logind-seat.h"
- #include "logind-session-dbus.h"
-@@ -179,15 +180,7 @@ static int method_activate_session(sd_bus_message *message, void *userdata, sd_b
-         if (session->seat != s)
-                 return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id);
- 
--        r = bus_verify_polkit_async(
--                        message,
--                        CAP_SYS_ADMIN,
--                        "org.freedesktop.login1.chvt",
--                        NULL,
--                        false,
--                        UID_INVALID,
--                        &s->manager->polkit_registry,
--                        error);
-+        r = check_polkit_chvt(message, s->manager, error);
-         if (r < 0)
-                 return r;
-         if (r == 0)
-@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message *message, void *userdata, sd_bus_erro
-         if (to <= 0)
-                 return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal");
- 
--        r = bus_verify_polkit_async(
--                        message,
--                        CAP_SYS_ADMIN,
--                        "org.freedesktop.login1.chvt",
--                        NULL,
--                        false,
--                        UID_INVALID,
--                        &s->manager->polkit_registry,
--                        error);
-+        r = check_polkit_chvt(message, s->manager, error);
-         if (r < 0)
-                 return r;
-         if (r == 0)
-@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message *message, void *userdata, sd_bus
-         assert(message);
-         assert(s);
- 
--        r = bus_verify_polkit_async(
--                        message,
--                        CAP_SYS_ADMIN,
--                        "org.freedesktop.login1.chvt",
--                        NULL,
--                        false,
--                        UID_INVALID,
--                        &s->manager->polkit_registry,
--                        error);
-+        r = check_polkit_chvt(message, s->manager, error);
-         if (r < 0)
-                 return r;
-         if (r == 0)
-@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_message *message, void *userdata, sd
-         assert(message);
-         assert(s);
- 
--        r = bus_verify_polkit_async(
--                        message,
--                        CAP_SYS_ADMIN,
--                        "org.freedesktop.login1.chvt",
--                        NULL,
--                        false,
--                        UID_INVALID,
--                        &s->manager->polkit_registry,
--                        error);
-+        r = check_polkit_chvt(message, s->manager, error);
-         if (r < 0)
-                 return r;
-         if (r == 0)
-diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
-index ccc5ac8df2..57c8a4e900 100644
---- a/src/login/logind-session-dbus.c
-+++ b/src/login/logind-session-dbus.c
-@@ -11,6 +11,7 @@
- #include "fd-util.h"
- #include "logind-brightness.h"
- #include "logind-dbus.h"
-+#include "logind-polkit.h"
- #include "logind-seat-dbus.h"
- #include "logind-session-dbus.h"
- #include "logind-session-device.h"
-@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message *message, void *userdata, sd_bus_
-         assert(message);
-         assert(s);
- 
--        r = bus_verify_polkit_async(
--                        message,
--                        CAP_SYS_ADMIN,
--                        "org.freedesktop.login1.chvt",
--                        NULL,
--                        false,
--                        UID_INVALID,
--                        &s->manager->polkit_registry,
--                        error);
-+        r = check_polkit_chvt(message, s->manager, error);
-         if (r < 0)
-                 return r;
-         if (r == 0)
-diff --git a/src/login/meson.build b/src/login/meson.build
-index 0a7d3d5440..7e46be2add 100644
---- a/src/login/meson.build
-+++ b/src/login/meson.build
-@@ -26,6 +26,7 @@ liblogind_core_sources = files('''
-         logind-device.h
-         logind-inhibit.c
-         logind-inhibit.h
-+        logind-polkit.c
-         logind-seat-dbus.c
-         logind-seat-dbus.h
-         logind-seat.c
--- 
-2.28.0
-
diff --git a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
index d856bcb583..4cdf66e767 100644
--- a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
+++ b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
@@ -1,7 +1,7 @@
-From 66ece0b870b3a34fdabc48b88437e6cc354e9fce Mon Sep 17 00:00:00 2001
+From 159c53612444ec1df492bae528a5a88a275b93bf Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 13:41:41 +0800
-Subject: [PATCH 02/26] don't use glibc-specific qsort_r
+Subject: [PATCH] don't use glibc-specific qsort_r
 
 Upstream-Status: Inappropriate [musl specific]
 
@@ -12,6 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
 [Rebased for v247]
 Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+
 ---
  src/basic/sort-util.h              | 14 ------------
  src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++-----
@@ -19,14 +20,13 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  3 files changed, 38 insertions(+), 31 deletions(-)
 
 diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
-index 1d194a1f04..3394c9eb72 100644
+index 49586a4a24..d92a5ab0ed 100644
 --- a/src/basic/sort-util.h
 +++ b/src/basic/sort-util.h
-@@ -54,17 +54,3 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
-                 int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
+@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
                  _qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
          })
--
+ 
 -static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
 -        if (nmemb <= 1)
 -                return;
@@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644
 -                int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
 -                qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
 -        })
+-
+ int cmp_int(const int *a, const int *b);
 diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
-index 4c94ba9c88..95495dba6d 100644
+index fd45ff0f54..ac4b63c49b 100644
 --- a/src/libsystemd/sd-hwdb/hwdb-util.c
 +++ b/src/libsystemd/sd-hwdb/hwdb-util.c
-@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) {
+@@ -126,9 +126,13 @@ static struct trie* trie_free(struct trie *trie) {
  
  DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
  
@@ -85,10 +87,10 @@ index 4c94ba9c88..95495dba6d 100644
  }
  
 diff --git a/src/shared/format-table.c b/src/shared/format-table.c
-index a13a198b7a..bce10bc607 100644
+index dccb796b26..c3ab8ac296 100644
 --- a/src/shared/format-table.c
 +++ b/src/shared/format-table.c
-@@ -1243,30 +1243,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
+@@ -1290,30 +1290,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
          return CMP(index_a, index_b);
  }
  
@@ -131,7 +133,7 @@ index a13a198b7a..bce10bc607 100644
          }
  
          /* Order identical lines by the order there were originally added in */
-@@ -1844,7 +1846,12 @@ int table_print(Table *t, FILE *f) {
+@@ -1952,7 +1954,12 @@ int table_print(Table *t, FILE *f) {
                  for (size_t i = 0; i < n_rows; i++)
                          sorted[i] = i * t->n_columns;
  
@@ -145,7 +147,7 @@ index a13a198b7a..bce10bc607 100644
          }
  
          if (t->display_map)
-@@ -2440,7 +2447,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
+@@ -2580,7 +2587,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
                  for (size_t i = 0; i < n_rows; i++)
                          sorted[i] = i * t->n_columns;
  
@@ -159,6 +161,3 @@ index a13a198b7a..bce10bc607 100644
          }
  
          if (t->display_map)
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
index f43a22aa8b..9b1768d9ca 100644
--- a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
+++ b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
@@ -1,7 +1,7 @@
-From 9f0d5996bbb2db3679a4075fa8301750b786c03b Mon Sep 17 00:00:00 2001
+From 4afb8adc83348bf75964fc10af7902e04dd62637 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 13:55:12 +0800
-Subject: [PATCH 03/26] missing_type.h: add __compare_fn_t and comparison_fn_t
+Subject: [PATCH] missing_type.h: add __compare_fn_t and comparison_fn_t
 
 Make it work with musl where comparison_fn_t and __compare_fn_t
 is not provided.
@@ -13,11 +13,12 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 [Rebased for v242]
 Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+
 ---
- src/basic/missing_type.h | 9 +++++++++
- src/basic/sort-util.h    | 1 +
- src/core/kmod-setup.c    | 1 +
- src/journal/catalog.c    | 1 +
+ src/basic/missing_type.h            | 9 +++++++++
+ src/basic/sort-util.h               | 1 +
+ src/core/kmod-setup.c               | 1 +
+ src/libsystemd/sd-journal/catalog.c | 1 +
  4 files changed, 12 insertions(+)
 
 diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
@@ -38,7 +39,7 @@ index f6233090a9..aeaf6ad5ec 100644
 +typedef int (*__compar_fn_t)(const void *, const void *);
 +#endif
 diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
-index 3394c9eb72..d9cb2aecb6 100644
+index d92a5ab0ed..a63867c716 100644
 --- a/src/basic/sort-util.h
 +++ b/src/basic/sort-util.h
 @@ -4,6 +4,7 @@
@@ -61,10 +62,10 @@ index 8a7f82812a..a56f12f47f 100644
  
  #if HAVE_KMOD
  #include "module-util.h"
-diff --git a/src/journal/catalog.c b/src/journal/catalog.c
-index 0f6ad8a29e..4e1077ade4 100644
---- a/src/journal/catalog.c
-+++ b/src/journal/catalog.c
+diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
+index aea3241d18..75e6c56a28 100644
+--- a/src/libsystemd/sd-journal/catalog.c
++++ b/src/libsystemd/sd-journal/catalog.c
 @@ -28,6 +28,7 @@
  #include "string-util.h"
  #include "strv.h"
@@ -73,6 +74,3 @@ index 0f6ad8a29e..4e1077ade4 100644
  
  const char * const catalog_file_dirs[] = {
          "/usr/local/lib/systemd/catalog/",
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index bdd64a0252..dc40a2fe8d 100644
--- a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -1,7 +1,7 @@
-From f3dbe29f7620a063af4d8eb3ea7c48ecd410200d Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 14:04:21 +0800
-Subject: [PATCH 04/26] add fallback parse_printf_format implementation
+From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sat, 22 May 2021 20:26:24 +0200
+Subject: [PATCH] [PATCH] add fallback parse_printf_format implementation
 
 Upstream-Status: Inappropriate [musl specific]
 
@@ -11,21 +11,21 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 [rebased for systemd 243]
 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
 ---
- meson.build                     |   1 +
- src/basic/meson.build           |   5 +
- src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++
- src/basic/parse-printf-format.h |  57 +++++++
- src/basic/stdio-util.h          |   2 +-
- src/journal/journal-send.c      |   2 +-
+ meson.build                              |   1 +
+ src/basic/meson.build                    |   5 +
+ src/basic/parse-printf-format.c          | 273 +++++++++++++++++++++++
+ src/basic/parse-printf-format.h          |  57 +++++
+ src/basic/stdio-util.h                   |   2 +-
+ src/libsystemd/sd-journal/journal-send.c |   2 +-
  6 files changed, 338 insertions(+), 2 deletions(-)
  create mode 100644 src/basic/parse-printf-format.c
  create mode 100644 src/basic/parse-printf-format.h
 
 diff --git a/meson.build b/meson.build
-index f406d595e6..6aa47fc755 100644
+index 27186d63a3..2abb7b3188 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -646,6 +646,7 @@ endif
+@@ -675,6 +675,7 @@ endif
  foreach header : ['crypt.h',
                    'linux/memfd.h',
                    'linux/vm_sockets.h',
@@ -34,21 +34,21 @@ index f406d595e6..6aa47fc755 100644
                    'valgrind/memcheck.h',
                    'valgrind/valgrind.h',
 diff --git a/src/basic/meson.build b/src/basic/meson.build
-index 1183ea83ad..aa5c958850 100644
+index 60ef801a25..aba2172edd 100644
 --- a/src/basic/meson.build
 +++ b/src/basic/meson.build
-@@ -322,6 +322,11 @@ foreach item : [['af',     af_list_txt,     'af',         ''],
- endforeach
+@@ -341,6 +341,11 @@ endforeach
  
  basic_sources += generated_gperf_headers
-+
+ 
 +if conf.get('HAVE_PRINTF_H') != 1
 +        basic_sources += [files('parse-printf-format.c')]
 +endif
 +
- basic_gcrypt_sources = files(
-         'gcrypt-util.c',
-         'gcrypt-util.h')
++
+ ############################################################
+ 
+ arch_list = [
 diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
 new file mode 100644
 index 0000000000..49437e5445
@@ -410,10 +410,10 @@ index 6dc1e72312..cea76b36cf 100644
  
  #define snprintf_ok(buf, len, fmt, ...) \
          ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
-diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
+diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
 index fd3fd7ef9c..e8e6ad555b 100644
---- a/src/journal/journal-send.c
-+++ b/src/journal/journal-send.c
+--- a/src/libsystemd/sd-journal/journal-send.c
++++ b/src/libsystemd/sd-journal/journal-send.c
 @@ -2,7 +2,6 @@
  
  #include <errno.h>
@@ -431,5 +431,5 @@ index fd3fd7ef9c..e8e6ad555b 100644
  #define SNDBUF_SIZE (8*1024*1024)
  
 -- 
-2.27.0
+2.24.0
 
diff --git a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
index d63e3c0d09..a0d757b3f3 100644
--- a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -1,7 +1,7 @@
-From 5aeae0ea89f5af74ed5d95bed1d87a03b3801ff0 Mon Sep 17 00:00:00 2001
+From 6b0732ac7164914ce16e231e35980b849bdfc4c8 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 14:18:21 +0800
-Subject: [PATCH 05/26] src/basic/missing.h: check for missing strndupa
+Subject: [PATCH] src/basic/missing.h: check for missing strndupa
 
 include missing.h  for definition of strndupa
 
@@ -17,6 +17,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
 [rebased for systemd 244]
 [Rebased for v247]
 Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+
 ---
  meson.build                                |  1 +
  src/backlight/backlight.c                  |  1 +
@@ -25,6 +26,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  src/basic/log.c                            |  1 +
  src/basic/missing_stdlib.h                 | 12 ++++++++++++
  src/basic/mkdir.c                          |  1 +
+ src/basic/mountpoint-util.c                |  1 +
  src/basic/parse-util.c                     |  1 +
  src/basic/path-lookup.c                    |  1 +
  src/basic/proc-cmdline.c                   |  1 +
@@ -41,12 +43,12 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  src/coredump/coredump-vacuum.c             |  1 +
  src/journal-remote/journal-remote-main.c   |  1 +
  src/journal/journalctl.c                   |  1 +
- src/journal/sd-journal.c                   |  1 +
  src/libsystemd/sd-bus/bus-message.c        |  1 +
  src/libsystemd/sd-bus/bus-objects.c        |  1 +
  src/libsystemd/sd-bus/bus-socket.c         |  1 +
  src/libsystemd/sd-bus/sd-bus.c             |  1 +
  src/libsystemd/sd-bus/test-bus-benchmark.c |  1 +
+ src/libsystemd/sd-journal/sd-journal.c     |  1 +
  src/locale/keymap-util.c                   |  1 +
  src/login/pam_systemd.c                    |  1 +
  src/network/generator/network-generator.c  |  1 +
@@ -68,18 +70,22 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  src/udev/udev-builtin-path_id.c            |  1 +
  src/udev/udev-event.c                      |  1 +
  src/udev/udev-rules.c                      |  1 +
- 50 files changed, 61 insertions(+)
+ 51 files changed, 62 insertions(+)
 
+diff --git a/meson.build b/meson.build
+index 2abb7b3188..c97f09062b 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -535,6 +535,7 @@ foreach ident : [
-                                  #include <sys/wait.h>'''],
-         ['mallinfo',          '''#include <malloc.h>'''],
+@@ -550,6 +550,7 @@ foreach ident : [
+         ['execveat',          '''#include <unistd.h>'''],
          ['close_range',       '''#include <unistd.h>'''],
+         ['epoll_pwait2',      '''#include <sys/epoll.h>'''],
 +        ['strndupa' ,         '''#include <string.h>'''],
  ]
  
          have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
+diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
+index 86927be62e..a34be158a0 100644
 --- a/src/backlight/backlight.c
 +++ b/src/backlight/backlight.c
 @@ -19,6 +19,7 @@
@@ -90,6 +96,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static int help(void) {
          _cleanup_free_ char *link = NULL;
+diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
+index 8dd3f8cd95..50c1ae1b2b 100644
 --- a/src/basic/cgroup-util.c
 +++ b/src/basic/cgroup-util.c
 @@ -38,6 +38,7 @@
@@ -100,9 +108,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) {
          _cleanup_free_ char *fs = NULL;
+diff --git a/src/basic/env-util.c b/src/basic/env-util.c
+index c110a750a5..e1f091b01e 100644
 --- a/src/basic/env-util.c
 +++ b/src/basic/env-util.c
-@@ -15,6 +15,7 @@
+@@ -18,6 +18,7 @@
  #include "string-util.h"
  #include "strv.h"
  #include "utf8.h"
@@ -110,6 +120,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  /* We follow bash for the character set. Different shells have different rules. */
  #define VALID_BASH_ENV_NAME_CHARS               \
+diff --git a/src/basic/log.c b/src/basic/log.c
+index 595db0c395..daff8eb68a 100644
 --- a/src/basic/log.c
 +++ b/src/basic/log.c
 @@ -36,6 +36,7 @@
@@ -120,6 +132,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  #define SNDBUF_SIZE (8*1024*1024)
  
+diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
+index 8c76f93eb2..9068bfb4f0 100644
 --- a/src/basic/missing_stdlib.h
 +++ b/src/basic/missing_stdlib.h
 @@ -11,3 +11,15 @@
@@ -138,6 +152,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
 +    (char *)memcpy(__new, __old, __len); \
 +  })
 +#endif
+diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
+index f91f8f7a08..fb31596216 100644
 --- a/src/basic/mkdir.c
 +++ b/src/basic/mkdir.c
 @@ -14,6 +14,7 @@
@@ -148,9 +164,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  int mkdir_safe_internal(
                  const char *path,
+diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
+index 1d617e87b2..346f9a47d7 100644
+--- a/src/basic/mountpoint-util.c
++++ b/src/basic/mountpoint-util.c
+@@ -12,6 +12,7 @@
+ #include "missing_stat.h"
+ #include "missing_syscall.h"
+ #include "mkdir.h"
++#include "missing_stdlib.h"
+ #include "mountpoint-util.h"
+ #include "parse-util.h"
+ #include "path-util.h"
+diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
+index b79c885dfd..6dabda5691 100644
 --- a/src/basic/parse-util.c
 +++ b/src/basic/parse-util.c
-@@ -22,6 +22,7 @@
+@@ -19,6 +19,7 @@
  #include "stat-util.h"
  #include "string-util.h"
  #include "strv.h"
@@ -158,6 +188,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  int parse_boolean(const char *v) {
          if (!v)
+diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
+index e53c2302b1..ca1d40ccbe 100644
 --- a/src/basic/path-lookup.c
 +++ b/src/basic/path-lookup.c
 @@ -15,6 +15,7 @@
@@ -168,6 +200,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  int xdg_user_runtime_dir(char **ret, const char *suffix) {
          const char *e;
+diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
+index 410b8a3eb5..f2c4355609 100644
 --- a/src/basic/proc-cmdline.c
 +++ b/src/basic/proc-cmdline.c
 @@ -15,6 +15,7 @@
@@ -178,6 +212,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  int proc_cmdline(char **ret) {
          const char *e;
+diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
+index ccab71f7d2..8f9eee8d36 100644
 --- a/src/basic/procfs-util.c
 +++ b/src/basic/procfs-util.c
 @@ -11,6 +11,7 @@
@@ -188,6 +224,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  int procfs_tasks_get_limit(uint64_t *ret) {
          _cleanup_free_ char *value = NULL;
+diff --git a/src/basic/selinux-util.c b/src/basic/selinux-util.c
+index ee9e34ed47..96c1e9362d 100644
 --- a/src/basic/selinux-util.c
 +++ b/src/basic/selinux-util.c
 @@ -27,6 +27,7 @@
@@ -197,7 +235,9 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
 +#include "missing_stdlib.h"
  
  #if HAVE_SELINUX
- DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free);
+ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(context_t, context_free, NULL);
+diff --git a/src/basic/time-util.c b/src/basic/time-util.c
+index 78d0390a00..47c38ca691 100644
 --- a/src/basic/time-util.c
 +++ b/src/basic/time-util.c
 @@ -27,6 +27,7 @@
@@ -208,6 +248,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static clockid_t map_clock_id(clockid_t c) {
  
+diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
+index 97ad1e0cb5..9d60f3cc79 100644
 --- a/src/boot/bless-boot.c
 +++ b/src/boot/bless-boot.c
 @@ -18,6 +18,7 @@
@@ -218,16 +260,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static char **arg_path = NULL;
  
+diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
+index 04d2ba34f3..651ca9412e 100644
 --- a/src/core/dbus-cgroup.c
 +++ b/src/core/dbus-cgroup.c
-@@ -16,6 +16,7 @@
- #include "fileio.h"
+@@ -17,6 +17,7 @@
  #include "limits-util.h"
  #include "path-util.h"
+ #include "percent-util.h"
 +#include "missing_stdlib.h"
  
  BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
  
+diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
+index 5239c41d67..0f604efe98 100644
 --- a/src/core/dbus-execute.c
 +++ b/src/core/dbus-execute.c
 @@ -41,6 +41,7 @@
@@ -238,9 +284,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
  static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
+diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
+index 44a2ccfca0..3926ccfa4a 100644
 --- a/src/core/dbus-util.c
 +++ b/src/core/dbus-util.c
-@@ -7,6 +7,7 @@
+@@ -9,6 +9,7 @@
  #include "unit-printf.h"
  #include "user-util.h"
  #include "unit.h"
@@ -248,16 +296,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  int bus_property_get_triggered_unit(
                  sd_bus *bus,
+diff --git a/src/core/execute.c b/src/core/execute.c
+index 922913e7af..f82fc294c0 100644
 --- a/src/core/execute.c
 +++ b/src/core/execute.c
 @@ -96,6 +96,7 @@
- #include "unit.h"
+ #include "unit-serialize.h"
  #include "user-util.h"
  #include "utmp-wtmp.h"
 +#include "missing_stdlib.h"
  
  #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
  #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index a56f12f47f..6b8729ef67 100644
 --- a/src/core/kmod-setup.c
 +++ b/src/core/kmod-setup.c
 @@ -11,6 +11,7 @@
@@ -268,6 +320,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  #if HAVE_KMOD
  #include "module-util.h"
+diff --git a/src/core/service.c b/src/core/service.c
+index 4c5bfb17fb..8c05f36119 100644
 --- a/src/core/service.c
 +++ b/src/core/service.c
 @@ -41,6 +41,7 @@
@@ -278,6 +332,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
          [SERVICE_DEAD] = UNIT_INACTIVE,
+diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
+index 95c3fca661..d4a9f27b08 100644
 --- a/src/coredump/coredump-vacuum.c
 +++ b/src/coredump/coredump-vacuum.c
 @@ -16,6 +16,7 @@
@@ -288,9 +344,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL)           /* 1 MiB */
  #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL)   /* 4 GiB */
+diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
+index ae1d43756a..24de98c9f3 100644
 --- a/src/journal-remote/journal-remote-main.c
 +++ b/src/journal-remote/journal-remote-main.c
-@@ -22,6 +22,7 @@
+@@ -24,6 +24,7 @@
  #include "stat-util.h"
  #include "string-table.h"
  #include "strv.h"
@@ -298,9 +356,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
  #define CERT_FILE     CERTIFICATE_ROOT "/certs/journal-remote.pem"
+diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
+index 76d05c1eee..0beb77b2e5 100644
 --- a/src/journal/journalctl.c
 +++ b/src/journal/journalctl.c
-@@ -73,6 +73,7 @@
+@@ -72,6 +72,7 @@
  #include "unit-name.h"
  #include "user-util.h"
  #include "varlink.h"
@@ -308,19 +368,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
  #define PROCESS_INOTIFY_INTERVAL 1024   /* Every 1,024 messages processed */
---- a/src/journal/sd-journal.c
-+++ b/src/journal/sd-journal.c
-@@ -40,6 +40,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "syslog-util.h"
-+#include "missing_stdlib.h"
- 
- #define JOURNAL_FILES_MAX 7168
- 
+diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
+index b25064b672..b3bbe63a91 100644
 --- a/src/libsystemd/sd-bus/bus-message.c
 +++ b/src/libsystemd/sd-bus/bus-message.c
-@@ -21,6 +21,7 @@
+@@ -20,6 +20,7 @@
  #include "strv.h"
  #include "time-util.h"
  #include "utf8.h"
@@ -328,9 +380,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
  
+diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
+index bfd42aea7d..daefc56e3e 100644
 --- a/src/libsystemd/sd-bus/bus-objects.c
 +++ b/src/libsystemd/sd-bus/bus-objects.c
-@@ -13,6 +13,7 @@
+@@ -12,6 +12,7 @@
  #include "set.h"
  #include "string-util.h"
  #include "strv.h"
@@ -338,6 +392,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static int node_vtable_get_userdata(
                  sd_bus *bus,
+diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
+index 832526cc1b..7bff701806 100644
 --- a/src/libsystemd/sd-bus/bus-socket.c
 +++ b/src/libsystemd/sd-bus/bus-socket.c
 @@ -28,6 +28,7 @@
@@ -348,29 +404,47 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  #define SNDBUF_SIZE (8*1024*1024)
  
+diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
+index e719c74370..ac2a605680 100644
 --- a/src/libsystemd/sd-bus/sd-bus.c
 +++ b/src/libsystemd/sd-bus/sd-bus.c
 @@ -41,6 +41,7 @@
- #include "process-util.h"
  #include "string-util.h"
  #include "strv.h"
+ #include "user-util.h"
 +#include "missing_stdlib.h"
  
  #define log_debug_bus_message(m)                                         \
          do {                                                             \
+diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
+index 13c08fe295..9aae83486e 100644
 --- a/src/libsystemd/sd-bus/test-bus-benchmark.c
 +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
 @@ -14,6 +14,7 @@
- #include "missing_resource.h"
+ #include "string-util.h"
  #include "time-util.h"
  #include "util.h"
 +#include "missing_stdlib.h"
  
  #define MAX_SIZE (2*1024*1024)
  
+diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
+index c90b4c926e..0efdccff5d 100644
+--- a/src/libsystemd/sd-journal/sd-journal.c
++++ b/src/libsystemd/sd-journal/sd-journal.c
+@@ -40,6 +40,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "syslog-util.h"
++#include "missing_stdlib.h"
+ 
+ #define JOURNAL_FILES_MAX 7168
+ 
+diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
+index d2f0566dbc..3b7746557e 100644
 --- a/src/locale/keymap-util.c
 +++ b/src/locale/keymap-util.c
-@@ -21,6 +21,7 @@
+@@ -24,6 +24,7 @@
  #include "string-util.h"
  #include "strv.h"
  #include "tmpfile-util.h"
@@ -378,6 +452,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static bool startswith_comma(const char *s, const char *prefix) {
          s = startswith(s, prefix);
+diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
+index 2021c31bd5..58eb09808d 100644
 --- a/src/login/pam_systemd.c
 +++ b/src/login/pam_systemd.c
 @@ -31,6 +31,7 @@
@@ -388,6 +464,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  #include "pam-util.h"
  #include "parse-util.h"
  #include "path-util.h"
+diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
+index ae673ddf5b..a79e5114ca 100644
 --- a/src/network/generator/network-generator.c
 +++ b/src/network/generator/network-generator.c
 @@ -13,6 +13,7 @@
@@ -398,6 +476,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  /*
    # .network
+diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
+index d4619bead5..0e832fd994 100644
 --- a/src/nspawn/nspawn-settings.c
 +++ b/src/nspawn/nspawn-settings.c
 @@ -16,6 +16,7 @@
@@ -408,19 +488,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  Settings *settings_new(void) {
          Settings *s;
+diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
+index 44715bb3e5..bc1e688b5e 100644
 --- a/src/nss-mymachines/nss-mymachines.c
 +++ b/src/nss-mymachines/nss-mymachines.c
-@@ -19,6 +19,7 @@
+@@ -21,6 +21,7 @@
  #include "nss-util.h"
  #include "signal-util.h"
  #include "string-util.h"
 +#include "missing_stdlib.h"
  
- NSS_GETHOSTBYNAME_PROTOTYPES(mymachines);
- NSS_GETPW_PROTOTYPES(mymachines);
+ static void setup_logging(void) {
+         /* We need a dummy function because log_parse_environment is a macro. */
+diff --git a/src/portable/portable.c b/src/portable/portable.c
+index f201f52531..c78ad0f471 100644
 --- a/src/portable/portable.c
 +++ b/src/portable/portable.c
-@@ -31,6 +31,7 @@
+@@ -32,6 +32,7 @@
  #include "strv.h"
  #include "tmpfile-util.h"
  #include "user-util.h"
@@ -428,9 +512,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static const char profile_dirs[] = CONF_PATHS_NULSTR("systemd/portable/profile");
  
+diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
+index 52bbae3293..4ccbae09c4 100644
 --- a/src/resolve/resolvectl.c
 +++ b/src/resolve/resolvectl.c
-@@ -37,6 +37,7 @@
+@@ -41,6 +41,7 @@
  #include "terminal-util.h"
  #include "utf8.h"
  #include "verbs.h"
@@ -438,6 +524,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static int arg_family = AF_UNSPEC;
  static int arg_ifindex = 0;
+diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
+index feb6d3807f..eb11d29e50 100644
 --- a/src/shared/bus-get-properties.c
 +++ b/src/shared/bus-get-properties.c
 @@ -4,6 +4,7 @@
@@ -448,6 +536,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  int bus_property_get_bool(
                  sd_bus *bus,
+diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
+index b76125e551..2e0892242f 100644
 --- a/src/shared/bus-unit-procs.c
 +++ b/src/shared/bus-unit-procs.c
 @@ -10,6 +10,7 @@
@@ -458,9 +548,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  struct CGroupInfo {
          char *cgroup_path;
+diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
+index a75178068b..3de06e2bd5 100644
 --- a/src/shared/bus-unit-util.c
 +++ b/src/shared/bus-unit-util.c
-@@ -44,6 +44,7 @@
+@@ -45,6 +45,7 @@
  #include "unit-def.h"
  #include "user-util.h"
  #include "utf8.h"
@@ -468,6 +560,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
          assert(message);
+diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
+index 64ca67993c..31e3d148ea 100644
 --- a/src/shared/bus-util.c
 +++ b/src/shared/bus-util.c
 @@ -21,6 +21,7 @@
@@ -478,6 +572,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
          sd_event *e = userdata;
+diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
+index e43aa12882..cec9b413c1 100644
 --- a/src/shared/dns-domain.c
 +++ b/src/shared/dns-domain.c
 @@ -17,6 +17,7 @@
@@ -488,6 +584,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
          const char *n;
+diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
+index b2785f0552..5f00902882 100644
 --- a/src/shared/journal-importer.c
 +++ b/src/shared/journal-importer.c
 @@ -14,6 +14,7 @@
@@ -498,6 +596,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  enum {
          IMPORTER_STATE_LINE = 0,    /* waiting to read, or reading line */
+diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
+index e63c59bd94..dd9773c009 100644
 --- a/src/shared/logs-show.c
 +++ b/src/shared/logs-show.c
 @@ -41,6 +41,7 @@
@@ -508,6 +608,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
  #define PRINT_LINE_THRESHOLD 3
+diff --git a/src/shared/pager.c b/src/shared/pager.c
+index 4bbad7e37b..eefcdd068c 100644
 --- a/src/shared/pager.c
 +++ b/src/shared/pager.c
 @@ -26,6 +26,7 @@
@@ -518,6 +620,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static pid_t pager_pid = 0;
  
+diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
+index 5d5bf7f21d..f1002ffa6c 100644
 --- a/src/shared/uid-range.c
 +++ b/src/shared/uid-range.c
 @@ -9,6 +9,7 @@
@@ -528,6 +632,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
          assert(range);
+diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
+index 6e3ee0d76b..7727e33d95 100644
 --- a/src/socket-proxy/socket-proxyd.c
 +++ b/src/socket-proxy/socket-proxyd.c
 @@ -26,6 +26,7 @@
@@ -538,6 +644,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  #define BUFFER_SIZE (256 * 1024)
  
+diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
+index c9d318b8d1..fcb8d40805 100644
 --- a/src/test/test-hexdecoct.c
 +++ b/src/test/test-hexdecoct.c
 @@ -6,6 +6,7 @@
@@ -548,19 +656,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  static void test_hexchar(void) {
          assert_se(hexchar(0xa) == 'a');
+diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
+index 09cc1c3bd8..8a7d3152a7 100644
 --- a/src/udev/udev-builtin-path_id.c
 +++ b/src/udev/udev-builtin-path_id.c
 @@ -22,6 +22,7 @@
- #include "strv.h"
  #include "sysexits.h"
  #include "udev-builtin.h"
+ #include "udev-util.h"
 +#include "missing_stdlib.h"
  
  _printf_(2,3)
  static void path_prepend(char **path, const char *fmt, ...) {
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index 12597194a9..208b2458b5 100644
 --- a/src/udev/udev-event.c
 +++ b/src/udev/udev-event.c
-@@ -34,6 +34,7 @@
+@@ -33,6 +33,7 @@
  #include "udev-util.h"
  #include "udev-watch.h"
  #include "user-util.h"
@@ -568,9 +680,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  typedef struct Spawn {
          sd_device *device;
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index 57ede6a197..dc59857765 100644
 --- a/src/udev/udev-rules.c
 +++ b/src/udev/udev-rules.c
-@@ -30,6 +30,7 @@
+@@ -31,6 +31,7 @@
  #include "udev-rules.h"
  #include "user-util.h"
  #include "virt.h"
@@ -578,13 +692,3 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  
  #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
  
---- a/src/basic/mountpoint-util.c
-+++ b/src/basic/mountpoint-util.c
-@@ -10,6 +10,7 @@
- #include "fs-util.h"
- #include "missing_stat.h"
- #include "missing_syscall.h"
-+#include "missing_stdlib.h"
- #include "mountpoint-util.h"
- #include "parse-util.h"
- #include "path-util.h"
diff --git a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
index a978558b42..54d714266e 100644
--- a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
+++ b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
@@ -1,7 +1,7 @@
-From d3ed0da271738fd0fc3d3e4d82d6f5810334b05e Mon Sep 17 00:00:00 2001
+From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 26 Oct 2017 22:10:42 -0700
-Subject: [PATCH 06/26] Include netinet/if_ether.h
+Subject: [PATCH] Include netinet/if_ether.h
 
 Fixes
 /path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
@@ -31,6 +31,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
 [rebased for systemd 247]
 Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+
 ---
  src/libsystemd-network/sd-dhcp6-client.c  | 1 -
  src/libsystemd/sd-netlink/netlink-types.c | 1 +
@@ -56,7 +57,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
  21 files changed, 26 insertions(+), 8 deletions(-)
 
 diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
-index 66f87c4b95..de1264ae46 100644
+index 410bfda10e..e70ed8be92 100644
 --- a/src/libsystemd-network/sd-dhcp6-client.c
 +++ b/src/libsystemd-network/sd-dhcp6-client.c
 @@ -5,7 +5,6 @@
@@ -68,7 +69,7 @@ index 66f87c4b95..de1264ae46 100644
  
  #include "sd-dhcp6-client.h"
 diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
-index 6fb6c147d9..8eda02d202 100644
+index ed7b9a8cd1..112c0b09e4 100644
 --- a/src/libsystemd/sd-netlink/netlink-types.c
 +++ b/src/libsystemd/sd-netlink/netlink-types.c
 @@ -3,6 +3,7 @@
@@ -80,7 +81,7 @@ index 6fb6c147d9..8eda02d202 100644
  #include <linux/netlink.h>
  #include <linux/rtnetlink.h>
 diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
-index bb67beb665..f5780f1aec 100644
+index e7c4ed3c7c..3a1e4f9072 100644
 --- a/src/machine/machine-dbus.c
 +++ b/src/machine/machine-dbus.c
 @@ -3,6 +3,7 @@
@@ -92,7 +93,7 @@ index bb67beb665..f5780f1aec 100644
  /* When we include libgen.h because we need dirname() we immediately
   * undefine basename() since libgen.h defines it as a macro to the POSIX
 diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
-index e27f36067b..8868f1da5d 100644
+index cf7ca88d6f..34ab468191 100644
 --- a/src/network/netdev/bond.c
 +++ b/src/network/netdev/bond.c
 @@ -1,5 +1,6 @@
@@ -103,7 +104,7 @@ index e27f36067b..8868f1da5d 100644
  #include "bond.h"
  #include "bond-util.h"
 diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
-index 1f59cd8b42..5fdbae7e99 100644
+index 38432f1578..79ccfe578e 100644
 --- a/src/network/netdev/bridge.c
 +++ b/src/network/netdev/bridge.c
 @@ -1,5 +1,6 @@
@@ -114,7 +115,7 @@ index 1f59cd8b42..5fdbae7e99 100644
  
  #include "bridge.h"
 diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
-index 82e71c3920..fbae86e216 100644
+index 77c5f8c4e7..04be1b4ab2 100644
 --- a/src/network/netdev/macsec.c
 +++ b/src/network/netdev/macsec.c
 @@ -1,5 +1,6 @@
@@ -125,19 +126,19 @@ index 82e71c3920..fbae86e216 100644
  #include <linux/if_ether.h>
  #include <linux/if_macsec.h>
 diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf
-index 4e89761f2c..91251fa6ec 100644
+index 8abe044890..3c54c58928 100644
 --- a/src/network/netdev/netdev-gperf.gperf
 +++ b/src/network/netdev/netdev-gperf.gperf
-@@ -2,6 +2,7 @@
+@@ -3,6 +3,7 @@
  #if __GNUC__ >= 7
  _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
  #endif
 +#include <netinet/if_ether.h>
  #include <stddef.h>
  #include "bareudp.h"
- #include "bond.h"
+ #include "batadv.h"
 diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
-index 9f390b5781..62aeafb1e4 100644
+index b31f0fa81a..c80e1ff537 100644
 --- a/src/network/netdev/netdev.c
 +++ b/src/network/netdev/netdev.c
 @@ -1,5 +1,6 @@
@@ -148,7 +149,7 @@ index 9f390b5781..62aeafb1e4 100644
  #include <netinet/in.h>
  #include <unistd.h>
 diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
-index e53c73c30c..9bf0771b84 100644
+index 2847b336c9..4d6af8c642 100644
 --- a/src/network/networkd-brvlan.c
 +++ b/src/network/networkd-brvlan.c
 @@ -4,6 +4,7 @@
@@ -160,7 +161,7 @@ index e53c73c30c..9bf0771b84 100644
  #include <stdbool.h>
  
 diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
-index 9f58121350..554d006cb8 100644
+index 00d055cf8d..65821c1d31 100644
 --- a/src/network/networkd-dhcp-common.c
 +++ b/src/network/networkd-dhcp-common.c
 @@ -1,7 +1,8 @@
@@ -171,9 +172,9 @@ index 9f58121350..554d006cb8 100644
 +#include <net/if_arp.h>
 +#include <net/if.h>
  
+ #include "bus-error.h"
  #include "dhcp-internal.h"
- #include "dhcp6-internal.h"
-@@ -10,6 +11,7 @@
+@@ -11,6 +12,7 @@
  #include "networkd-dhcp-common.h"
  #include "networkd-link.h"
  #include "networkd-manager.h"
@@ -182,7 +183,7 @@ index 9f58121350..554d006cb8 100644
  #include "parse-util.h"
  #include "socket-util.h"
 diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
-index cf279c640d..bae541029b 100644
+index 5cdf432c27..93cffb9863 100644
 --- a/src/network/networkd-dhcp-server.c
 +++ b/src/network/networkd-dhcp-server.c
 @@ -1,8 +1,8 @@
@@ -197,7 +198,7 @@ index cf279c640d..bae541029b 100644
  #include "sd-dhcp-server.h"
  
 diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
-index f3c1e5f609..e4ef6eca63 100644
+index 23dc3a45db..7ae6c2467a 100644
 --- a/src/network/networkd-dhcp4.c
 +++ b/src/network/networkd-dhcp4.c
 @@ -1,9 +1,9 @@
@@ -212,7 +213,7 @@ index f3c1e5f609..e4ef6eca63 100644
  #include "escape.h"
  #include "alloc-util.h"
 diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
-index 5c077c1ec8..fa98042aa5 100644
+index aa077d6219..4f6ce22059 100644
 --- a/src/network/networkd-dhcp6.c
 +++ b/src/network/networkd-dhcp6.c
 @@ -3,9 +3,9 @@
@@ -227,7 +228,7 @@ index 5c077c1ec8..fa98042aa5 100644
  #include "sd-dhcp6-client.h"
  
 diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 3bfe636691..e0c68c8ad3 100644
+index 8219d95b0d..c92230453b 100644
 --- a/src/network/networkd-link.c
 +++ b/src/network/networkd-link.c
 @@ -1,8 +1,8 @@
@@ -241,7 +242,7 @@ index 3bfe636691..e0c68c8ad3 100644
  #include <unistd.h>
  
 diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
-index 3254641461..f0ada419fd 100644
+index e5ffd35b6f..871ebb32c6 100644
 --- a/src/network/networkd-network.c
 +++ b/src/network/networkd-network.c
 @@ -1,5 +1,6 @@
@@ -252,7 +253,7 @@ index 3254641461..f0ada419fd 100644
  #include <netinet/in.h>
  #include <linux/netdevice.h>
 diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
-index 0ed89584ef..e7e157c201 100644
+index a74541a6c9..a10549b336 100644
 --- a/src/network/networkd-route.c
 +++ b/src/network/networkd-route.c
 @@ -1,7 +1,10 @@
@@ -268,7 +269,7 @@ index 0ed89584ef..e7e157c201 100644
  #include "alloc-util.h"
  #include "netlink-util.h"
 diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c
-index 475cac7527..9bae6eda16 100644
+index ce34449554..0b5dc01182 100644
 --- a/src/network/test-network-tables.c
 +++ b/src/network/test-network-tables.c
 @@ -1,5 +1,6 @@
@@ -279,7 +280,7 @@ index 475cac7527..9bae6eda16 100644
  #include "dhcp6-internal.h"
  #include "dhcp6-protocol.h"
 diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
-index e6fab262f2..41dd3d7df7 100644
+index 654d36a83a..f4ed42d543 100644
 --- a/src/shared/ethtool-util.c
 +++ b/src/shared/ethtool-util.c
 @@ -1,5 +1,6 @@
@@ -290,7 +291,7 @@ index e6fab262f2..41dd3d7df7 100644
  #include <sys/ioctl.h>
  #include <linux/ethtool.h>
 diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
-index f94b3e15bf..08a7e4fa09 100644
+index 11e2906681..a171df0737 100644
 --- a/src/shared/ethtool-util.h
 +++ b/src/shared/ethtool-util.h
 @@ -3,6 +3,7 @@
@@ -302,7 +303,7 @@ index f94b3e15bf..08a7e4fa09 100644
  
  #include "conf-parser.h"
 diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
-index d12fd0e299..636806dc23 100644
+index 31e5d0cd67..f25f821364 100644
 --- a/src/udev/net/link-config.c
 +++ b/src/udev/net/link-config.c
 @@ -1,5 +1,6 @@
@@ -323,6 +324,3 @@ index 87e1fb133e..13876029d0 100644
  #include "alloc-util.h"
  #include "device-util.h"
  #include "errno-util.h"
--- 
-2.25.1
-
diff --git a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
index 6865421586..2ff08c7fae 100644
--- a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
+++ b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
@@ -1,8 +1,7 @@
-From 87a14dde13c8fa68239a4ab62914a093062b3b29 Mon Sep 17 00:00:00 2001
+From bca73ff2fbff2dc311040a87a4f536f89af07ad6 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 14:56:21 +0800
-Subject: [PATCH 07/26] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
- defined
+Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not defined
 
 If the standard library doesn't provide brace
 expansion users just won't get it.
@@ -17,6 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 [rebased for systemd 243]
 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
 ---
  src/basic/glob-util.c     | 12 ++++++++++++
  src/test/test-glob-util.c | 16 ++++++++++++++++
@@ -115,10 +115,10 @@ index df6444c433..79a692046e 100644
  
          (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
 diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index 9906c70eef..5eb63b1d57 100644
+index 6b73d1e6d5..26b3b74275 100644
 --- a/src/tmpfiles/tmpfiles.c
 +++ b/src/tmpfiles/tmpfiles.c
-@@ -63,6 +63,12 @@
+@@ -66,6 +66,12 @@
  #include "umask-util.h"
  #include "user-util.h"
  
@@ -131,7 +131,7 @@ index 9906c70eef..5eb63b1d57 100644
  /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
   * them in the file system. This is intended to be used to create
   * properly owned directories beneath /tmp, /var/tmp, /run, which are
-@@ -1936,7 +1942,9 @@ finish:
+@@ -1947,7 +1953,9 @@ finish:
  
  static int glob_item(Item *i, action_t action) {
          _cleanup_globfree_ glob_t g = {
@@ -141,7 +141,7 @@ index 9906c70eef..5eb63b1d57 100644
          };
          int r = 0, k;
          char **fn;
-@@ -1956,7 +1964,9 @@ static int glob_item(Item *i, action_t action) {
+@@ -1967,7 +1975,9 @@ static int glob_item(Item *i, action_t action) {
  
  static int glob_item_recursively(Item *i, fdaction_t action) {
          _cleanup_globfree_ glob_t g = {
@@ -151,6 +151,3 @@ index 9906c70eef..5eb63b1d57 100644
          };
          int r = 0, k;
          char **fn;
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
index 94cdc2efde..142ca01345 100644
--- a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
+++ b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
@@ -1,7 +1,7 @@
-From 8caea3fe87d55fd16de7d1b8266239fa954cb498 Mon Sep 17 00:00:00 2001
+From e0d1912f0246c97e5e7b4177691363d2d077e11d Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 15:00:06 +0800
-Subject: [PATCH 08/26] add missing FTW_ macros for musl
+Subject: [PATCH] add missing FTW_ macros for musl
 
 This is to avoid build failures like below for musl.
 
@@ -10,6 +10,7 @@ This is to avoid build failures like below for musl.
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
  src/basic/missing_type.h | 20 ++++++++++++++++++++
  1 file changed, 20 insertions(+)
@@ -42,6 +43,3 @@ index aeaf6ad5ec..3df1084ef2 100644
 +#ifndef FTW_SKIP_SIBLINGS
 +#define FTW_SKIP_SIBLINGS 3
 +#endif
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
index 76cc75cf6a..53f0a1ba62 100644
--- a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
+++ b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
@@ -1,17 +1,18 @@
-From d8e4f0aa1760e4c7bb8476beecd35025c9cbb95a Mon Sep 17 00:00:00 2001
+From bb41fe773881a8f1d9615d388320b9c6fc47bfe5 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 15:03:47 +0800
-Subject: [PATCH 09/26] fix missing of __register_atfork for non-glibc builds
+Subject: [PATCH] fix missing of __register_atfork for non-glibc builds
 
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
  src/basic/process-util.c | 7 +++++++
  1 file changed, 7 insertions(+)
 
 diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index 0851613fc9..4417101569 100644
+index 7d4301eadb..caa9dfe3a3 100644
 --- a/src/basic/process-util.c
 +++ b/src/basic/process-util.c
 @@ -18,6 +18,9 @@
@@ -24,7 +25,7 @@ index 0851613fc9..4417101569 100644
  
  #include "alloc-util.h"
  #include "architecture.h"
-@@ -1143,11 +1146,15 @@ void reset_cached_pid(void) {
+@@ -1121,11 +1124,15 @@ void reset_cached_pid(void) {
          cached_pid = CACHED_PID_UNSET;
  }
  
@@ -40,6 +41,3 @@ index 0851613fc9..4417101569 100644
  
  pid_t getpid_cached(void) {
          static bool installed = false;
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
index aeacd865ae..af1a6bb053 100644
--- a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
@@ -1,7 +1,7 @@
-From e45bb02174812e4935214f42a18725be320770d5 Mon Sep 17 00:00:00 2001
+From dc40487e0ac26e3ca317429b9c3e8f01772de60a Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 15:12:41 +0800
-Subject: [PATCH 10/26] Use uintmax_t for handling rlim_t
+Subject: [PATCH] Use uintmax_t for handling rlim_t
 
 PRIu{32,64} is not right format to represent rlim_t type
 therefore use %ju and typecast the rlim_t variables to
@@ -20,6 +20,7 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199]
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 [Rebased for v241]
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
  src/basic/format-util.h |  8 +-------
  src/basic/rlimit-util.c | 10 +++++-----
@@ -46,10 +47,10 @@ index b7e18768e3..3195ab205d 100644
  #if SIZEOF_DEV_T == 8
  #  define DEV_FMT "%" PRIu64
 diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
-index 880976312c..9e1b61cd4a 100644
+index 23d108d5df..94373c9422 100644
 --- a/src/basic/rlimit-util.c
 +++ b/src/basic/rlimit-util.c
-@@ -306,13 +306,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
+@@ -308,13 +308,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
          if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
                  s = strdup("infinity");
          else if (rl->rlim_cur >= RLIM_INFINITY)
@@ -67,7 +68,7 @@ index 880976312c..9e1b61cd4a 100644
  
          if (!s)
                  return -ENOMEM;
-@@ -403,7 +403,7 @@ int rlimit_nofile_safe(void) {
+@@ -405,7 +405,7 @@ int rlimit_nofile_safe(void) {
  
          rl.rlim_cur = FD_SETSIZE;
          if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
@@ -77,10 +78,10 @@ index 880976312c..9e1b61cd4a 100644
          return 1;
  }
 diff --git a/src/core/execute.c b/src/core/execute.c
-index 89632e0582..335283776c 100644
+index f82fc294c0..4696d055a8 100644
 --- a/src/core/execute.c
 +++ b/src/core/execute.c
-@@ -5288,9 +5288,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
+@@ -5370,9 +5370,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
          for (unsigned i = 0; i < RLIM_NLIMITS; i++)
                  if (c->rlimit[i]) {
                          fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
@@ -92,6 +93,3 @@ index 89632e0582..335283776c 100644
                  }
  
          if (c->ioprio_set) {
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
index 6d7fdbcb64..b1d782719c 100644
--- a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
+++ b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
@@ -1,13 +1,13 @@
-From d1db531ddd3bbf94d5e764b7917bcc8684ff6357 Mon Sep 17 00:00:00 2001
+From f8be7b283309e4332eedc088774daac637afef7b Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Wed, 28 Feb 2018 21:25:22 -0800
-Subject: [PATCH 11/26] test-sizeof.c: Disable tests for missing typedefs in
- musl
+Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in musl
 
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
  src/test/test-sizeof.c | 4 ++++
  1 file changed, 4 insertions(+)
@@ -37,6 +37,3 @@ index 3c9dc180fa..e1a59d408c 100644
          info(pid_t);
          info(uid_t);
          info(gid_t);
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
index c15b6e7d82..5f2178734d 100644
--- a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
@@ -1,7 +1,7 @@
-From 03e89da266edf70121a19ffc32a78cc3b97585ef Mon Sep 17 00:00:00 2001
+From 06915b70735caa66987af758ebdc4207757ae758 Mon Sep 17 00:00:00 2001
 From: Andre McCurdy <armccurdy@gmail.com>
 Date: Tue, 10 Oct 2017 14:33:30 -0700
-Subject: [PATCH 12/26] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
+Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
 
 Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
 thing to do and it's not portable (not supported by musl). See:
@@ -25,20 +25,22 @@ just historical and not actually necessary or desired behaviour?
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+
 ---
- src/basic/fs-util.h          | 22 +++++++++++++++++++++-
+ src/basic/fs-util.h          | 23 +++++++++++++++++++++--
  src/shared/base-filesystem.c |  6 +++---
- 2 files changed, 24 insertions(+), 4 deletions(-)
+ 2 files changed, 24 insertions(+), 5 deletions(-)
 
 diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
-index 5dc8853eac..0491b3dae2 100644
+index 027037f7a7..16eb379caf 100644
 --- a/src/basic/fs-util.h
 +++ b/src/basic/fs-util.h
-@@ -43,7 +43,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
+@@ -44,8 +44,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
  int fd_warn_permissions(const char *path, int fd);
  int stat_warn_permissions(const char *path, const struct stat *st);
  
--#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)
+-#define laccess(path, mode)                                             \
+-        (faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW) < 0 ? -errno : 0)
 +/*
 +   Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
 +   do and it's not portable (not supported by musl). See:
@@ -94,6 +96,3 @@ index 1d05409086..1ed06c31ab 100644
                                                  continue;
                                  }
  
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
index 89736bcfde..51b145729d 100644
--- a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
+++ b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
@@ -1,8 +1,7 @@
-From dd134880e9a16595ab473934577e873c748e9c7a Mon Sep 17 00:00:00 2001
+From 0c44af262cfa07c57db4b32de1f7610af47797f4 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sun, 27 May 2018 08:36:44 -0700
-Subject: [PATCH 13/26] Define glibc compatible basename() for non-glibc
- systems
+Subject: [PATCH] Define glibc compatible basename() for non-glibc systems
 
 Fixes builds with musl, even though systemd is adamant about
 using non-posix basename implementation, we have a way out
@@ -10,12 +9,13 @@ using non-posix basename implementation, we have a way out
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/machine/machine-dbus.c | 5 +++++
  1 file changed, 5 insertions(+)
 
 diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
-index f5780f1aec..aec5825b3e 100644
+index 3a1e4f9072..ab87b9882c 100644
 --- a/src/machine/machine-dbus.c
 +++ b/src/machine/machine-dbus.c
 @@ -11,6 +11,11 @@
@@ -30,6 +30,3 @@ index f5780f1aec..aec5825b3e 100644
  #include "alloc-util.h"
  #include "bus-common-errors.h"
  #include "bus-get-properties.h"
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index e95d2ae078..7444d4375f 100644
--- a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -1,7 +1,7 @@
-From 55af446156da863b5b36a1109845858956a4c274 Mon Sep 17 00:00:00 2001
+From 0f4b60e34a806055c678eb97a7ec7e21291bcf48 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Wed, 4 Jul 2018 15:00:44 +0800
-Subject: [PATCH 14/26] Do not disable buffering when writing to oom_score_adj
+Subject: [PATCH] Do not disable buffering when writing to oom_score_adj
 
 On musl, disabling buffering when writing to oom_score_adj will
 cause the following error.
@@ -19,15 +19,16 @@ Upstream-Status: Inappropriate [musl specific]
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 [rebased for systemd 243]
 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
 ---
  src/basic/process-util.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index 4417101569..556dab8ebf 100644
+index caa9dfe3a3..6101f43db5 100644
 --- a/src/basic/process-util.c
 +++ b/src/basic/process-util.c
-@@ -1536,7 +1536,7 @@ int set_oom_score_adjust(int value) {
+@@ -1523,7 +1523,7 @@ int set_oom_score_adjust(int value) {
          sprintf(t, "%i", value);
  
          return write_string_file("/proc/self/oom_score_adj", t,
@@ -36,6 +37,3 @@ index 4417101569..556dab8ebf 100644
  }
  
  int pidfd_get_pid(int fd, pid_t *ret) {
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
index 5cdcf84dc1..90cc70d216 100644
--- a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -1,7 +1,7 @@
-From e382845aed90cfe4496a8351d57d4466dd2e9a9c Mon Sep 17 00:00:00 2001
+From c30ab62d18ce88187f5eb6c236e0977c9337f68d Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Tue, 10 Jul 2018 15:40:17 +0800
-Subject: [PATCH 15/26] distinguish XSI-compliant strerror_r from GNU-specifi
+Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi
  strerror_r
 
 XSI-compliant strerror_r and GNU-specifi strerror_r are different.
@@ -18,28 +18,12 @@ assigned to (char *) variable, resulting in segment fault.
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
- src/journal/journal-send.c        | 5 +++++
- src/libsystemd/sd-bus/bus-error.c | 5 +++++
+ src/libsystemd/sd-bus/bus-error.c        | 5 +++++
+ src/libsystemd/sd-journal/journal-send.c | 5 +++++
  2 files changed, 10 insertions(+)
 
-diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
-index e8e6ad555b..8ca5271d02 100644
---- a/src/journal/journal-send.c
-+++ b/src/journal/journal-send.c
-@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
-                 char* j;
- 
-                 errno = 0;
-+#ifndef __GLIBC__
-+                strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
-+                j = buffer + 8 + k;
-+#else
-                 j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
-+#endif
-                 if (errno == 0) {
-                         char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
- 
 diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
 index 8da2024a50..9605a9b869 100644
 --- a/src/libsystemd/sd-bus/bus-error.c
@@ -57,6 +41,20 @@ index 8da2024a50..9605a9b869 100644
                  if (errno == ERANGE || strlen(x) >= k - 1) {
                          free(m);
                          k *= 2;
--- 
-2.27.0
-
+diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
+index e8e6ad555b..8ca5271d02 100644
+--- a/src/libsystemd/sd-journal/journal-send.c
++++ b/src/libsystemd/sd-journal/journal-send.c
+@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
+                 char* j;
+ 
+                 errno = 0;
++#ifndef __GLIBC__
++                strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
++                j = buffer + 8 + k;
++#else
+                 j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
++#endif
+                 if (errno == 0) {
+                         char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
+ 
diff --git a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
index 9a125de638..de7f9ecfa2 100644
--- a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
+++ b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
@@ -1,7 +1,7 @@
-From 0c7af5f288231a8c0545e169e01ba5ee173cafe7 Mon Sep 17 00:00:00 2001
+From fa86e5578256dddb296fd30128929ea7c4b792a4 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 15:18:00 +0800
-Subject: [PATCH 16/26] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
+Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
 
 for currently unknown reasons they get exported to the shared libries
 even without being listed in the sym file
@@ -11,6 +11,7 @@ Upstream-Status: Pending
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 [Rebased for v241]
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
  src/libsystemd/sd-bus/bus-error.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
@@ -30,6 +31,3 @@ index 9605a9b869..38b6cf90c3 100644
  
  /* Additional maps registered with sd_bus_error_add_map() are in this
   * NULL terminated array */
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
index 31747c6b40..d9ef2b8a47 100644
--- a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
+++ b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
@@ -1,7 +1,7 @@
-From 32dd7a47b87793cd836ab4bb776d1524f24c2d58 Mon Sep 17 00:00:00 2001
+From 11e730694706fa354a0e43c588ef66677a777d9a Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 15:27:54 +0800
-Subject: [PATCH 17/26] missing_type.h: add __compar_d_fn_t definition
+Subject: [PATCH] missing_type.h: add __compar_d_fn_t definition
 
 Fix the following compile failure:
 src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'?
@@ -9,6 +9,7 @@ src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
  src/basic/missing_type.h | 1 +
  1 file changed, 1 insertion(+)
@@ -25,6 +26,3 @@ index 3df1084ef2..697aa7f58a 100644
  #endif
  
  #ifndef __COMPAR_FN_T
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
index 56d361a213..3b60854233 100644
--- a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
+++ b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -1,7 +1,7 @@
-From bfc3416edeb69082ac9b9c9e844f12d7b45bb006 Mon Sep 17 00:00:00 2001
+From 45bae28d3da6607d33d54f4b30a500f5249aadde Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 15:44:54 +0800
-Subject: [PATCH 18/26] avoid redefinition of prctl_mm_map structure
+Subject: [PATCH] avoid redefinition of prctl_mm_map structure
 
 Fix the following compile failure:
 error: redefinition of 'struct prctl_mm_map'
@@ -9,6 +9,7 @@ error: redefinition of 'struct prctl_mm_map'
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
  src/basic/missing_prctl.h | 2 ++
  1 file changed, 2 insertions(+)
@@ -27,6 +28,3 @@ index ab851306ba..5547cad875 100644
  
  /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
  #ifndef PR_CAP_AMBIENT
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
index 6ca196489b..7d6433f317 100644
--- a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
+++ b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
@@ -1,16 +1,17 @@
-From e427f03de2c56e868bb0f24aa231315b2dae1b71 Mon Sep 17 00:00:00 2001
+From 6e593ff2afbe4bfe15eee2ec34e51490a38462f5 Mon Sep 17 00:00:00 2001
 From: Alex Kiernan <alex.kiernan@gmail.com>
 Date: Fri, 7 Aug 2020 15:19:27 +0000
-Subject: [PATCH 19/26] Handle missing LOCK_EX
+Subject: [PATCH] Handle missing LOCK_EX
 
 Upstream-Status: Inappropriate [musl specific]
 Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+
 ---
  src/partition/makefs.c | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/src/partition/makefs.c b/src/partition/makefs.c
-index fd924d2231..b97580fdcc 100644
+index 7c94fbfedb..42f966722d 100644
 --- a/src/partition/makefs.c
 +++ b/src/partition/makefs.c
 @@ -6,6 +6,7 @@
@@ -21,6 +22,3 @@ index fd924d2231..b97580fdcc 100644
  
  #include "alloc-util.h"
  #include "blockdev-util.h"
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
index f74de43849..1faee1c055 100644
--- a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
+++ b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
@@ -1,7 +1,7 @@
-From 9abbc5e69e21aef0d4d4567e69302fa660b76c53 Mon Sep 17 00:00:00 2001
+From ac579b296aa29c2f1dad9425c6d795e154ec8f7c Mon Sep 17 00:00:00 2001
 From: Alex Kiernan <alex.kiernan@gmail.com>
 Date: Fri, 7 Aug 2020 15:20:17 +0000
-Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un *
+Subject: [PATCH] Fix incompatible pointer type struct sockaddr_un *
 
 | ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c: In function 'cant_be_in_netns':
 | ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c:4893:25: error: passing argument 2 of 'connect' from incompatible pointer type [-Werror=incompatible-pointer-types]
@@ -18,15 +18,16 @@ Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un *
 
 Upstream-Status: Inappropriate [musl specific]
 Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+
 ---
  src/nspawn/nspawn.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 0842731c18..3528b7ff14 100644
+index a4ac8ed2bb..0c41a48d4b 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -5084,7 +5084,7 @@ static int cant_be_in_netns(void) {
+@@ -5125,7 +5125,7 @@ static int cant_be_in_netns(void) {
          if (fd < 0)
                  return log_error_errno(errno, "Failed to allocate udev control socket: %m");
  
@@ -35,6 +36,3 @@ index 0842731c18..3528b7ff14 100644
  
                  if (errno == ENOENT || ERRNO_IS_DISCONNECT(errno))
                          return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
index fa6652a5bf..14c8ff73a0 100644
--- a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
+++ b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
@@ -1,7 +1,7 @@
-From 1f5bc54bed0b365e7e448c26f6c792dbe8b3b198 Mon Sep 17 00:00:00 2001
+From 6bc78df50adb48d24a2abfdf65b44b932cc5a571 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Mon, 25 Feb 2019 16:53:06 +0800
-Subject: [PATCH 21/26] test-json.c: define M_PIl
+Subject: [PATCH] test-json.c: define M_PIl
 
 Fix the following compile failure:
 src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'?
@@ -9,6 +9,7 @@ src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this functi
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
 ---
  src/test/test-json.c | 4 ++++
  1 file changed, 4 insertions(+)
@@ -28,6 +29,3 @@ index 1d4b11945e..572c8cf9d0 100644
  static void test_tokenizer(const char *data, ...) {
          unsigned line = 0, column = 0;
          void *state = NULL;
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
index 675fd20f11..bd627c51e9 100644
--- a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
+++ b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
@@ -1,7 +1,7 @@
-From 564dba5ad0cd884e3f69fa19ca64095413578ea5 Mon Sep 17 00:00:00 2001
+From 7cb6579572b50ef44bc0a321a4c73cce55b0c2f2 Mon Sep 17 00:00:00 2001
 From: Chen Qi <Qi.Chen@windriver.com>
 Date: Fri, 1 Mar 2019 15:22:15 +0800
-Subject: [PATCH 22/26] do not disable buffer in writing files
+Subject: [PATCH] do not disable buffer in writing files
 
 Do not disable buffer in writing files, otherwise we get
 failure at boot for musl like below.
@@ -18,10 +18,12 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
 Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
 [rebased for systemd 243]
 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
 ---
  src/basic/cgroup-util.c                 | 10 +++++-----
  src/basic/procfs-util.c                 |  4 ++--
  src/basic/smack-util.c                  |  2 +-
+ src/basic/sysctl-util.c                 |  2 +-
  src/basic/util.c                        |  2 +-
  src/binfmt/binfmt.c                     |  6 +++---
  src/core/main.c                         |  4 ++--
@@ -32,18 +34,15 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
  src/nspawn/nspawn-cgroup.c              |  2 +-
  src/nspawn/nspawn.c                     |  6 +++---
  src/shared/cgroup-setup.c               |  4 ++--
- src/shared/sysctl-util.c                |  2 +-
  src/sleep/sleep.c                       |  8 ++++----
- src/udev/udevadm-trigger.c              |  2 +-
- src/udev/udevd.c                        |  2 +-
  src/vconsole/vconsole-setup.c           |  2 +-
- 18 files changed, 35 insertions(+), 35 deletions(-)
+ 16 files changed, 33 insertions(+), 33 deletions(-)
 
 diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
-index bb960f183c..cb804c5f4b 100644
+index 50c1ae1b2b..5b40e92163 100644
 --- a/src/basic/cgroup-util.c
 +++ b/src/basic/cgroup-util.c
-@@ -759,7 +759,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+@@ -765,7 +765,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
  
          sc = strstrip(contents);
          if (isempty(sc)) {
@@ -52,7 +51,7 @@ index bb960f183c..cb804c5f4b 100644
                  if (r < 0)
                          return r;
          } else if (!path_equal(sc, agent))
-@@ -777,7 +777,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+@@ -783,7 +783,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
  
          sc = strstrip(contents);
          if (streq(sc, "0")) {
@@ -61,7 +60,7 @@ index bb960f183c..cb804c5f4b 100644
                  if (r < 0)
                          return r;
  
-@@ -804,7 +804,7 @@ int cg_uninstall_release_agent(const char *controller) {
+@@ -810,7 +810,7 @@ int cg_uninstall_release_agent(const char *controller) {
          if (r < 0)
                  return r;
  
@@ -70,7 +69,7 @@ index bb960f183c..cb804c5f4b 100644
          if (r < 0)
                  return r;
  
-@@ -814,7 +814,7 @@ int cg_uninstall_release_agent(const char *controller) {
+@@ -820,7 +820,7 @@ int cg_uninstall_release_agent(const char *controller) {
          if (r < 0)
                  return r;
  
@@ -79,7 +78,7 @@ index bb960f183c..cb804c5f4b 100644
          if (r < 0)
                  return r;
  
-@@ -1646,7 +1646,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
+@@ -1650,7 +1650,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
          if (r < 0)
                  return r;
  
@@ -121,11 +120,24 @@ index 3362ee3924..80c0f2a52e 100644
          if (r < 0)
                  return r;
  
+diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
+index c96b5cd77f..d2476d9665 100644
+--- a/src/basic/sysctl-util.c
++++ b/src/basic/sysctl-util.c
+@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
+ 
+         log_debug("Setting '%s' to '%s'", p, value);
+ 
+-        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
++        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
+ }
+ 
+ int sysctl_read(const char *property, char **ret) {
 diff --git a/src/basic/util.c b/src/basic/util.c
-index f98ecf3858..13e0f7431f 100644
+index 955b18bd2a..6d89c90176 100644
 --- a/src/basic/util.c
 +++ b/src/basic/util.c
-@@ -267,7 +267,7 @@ void disable_coredumps(void) {
+@@ -234,7 +234,7 @@ void disable_coredumps(void) {
          if (detect_container() > 0)
                  return;
  
@@ -135,7 +147,7 @@ index f98ecf3858..13e0f7431f 100644
                  log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
  }
 diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
-index 43ed2f385b..37a6f578f7 100644
+index f6b72e0bae..e9fd4d06be 100644
 --- a/src/binfmt/binfmt.c
 +++ b/src/binfmt/binfmt.c
 @@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
@@ -156,7 +168,7 @@ index 43ed2f385b..37a6f578f7 100644
          if (r < 0)
                  return log_error_errno(r, "Failed to add binary format: %m");
  
-@@ -223,7 +223,7 @@ static int run(int argc, char *argv[]) {
+@@ -222,7 +222,7 @@ static int run(int argc, char *argv[]) {
                  }
  
                  /* Flush out all rules */
@@ -166,10 +178,10 @@ index 43ed2f385b..37a6f578f7 100644
                  STRV_FOREACH(f, files) {
                          k = apply_file(*f, true);
 diff --git a/src/core/main.c b/src/core/main.c
-index a280b756ff..334532cd42 100644
+index 3ee8d0a869..ec36e3e80f 100644
 --- a/src/core/main.c
 +++ b/src/core/main.c
-@@ -1382,7 +1382,7 @@ static int bump_unix_max_dgram_qlen(void) {
+@@ -1401,7 +1401,7 @@ static int bump_unix_max_dgram_qlen(void) {
          if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
                  return 0;
  
@@ -178,7 +190,7 @@ index a280b756ff..334532cd42 100644
          if (r < 0)
                  return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
                                        "Failed to bump AF_UNIX datagram queue length, ignoring: %m");
-@@ -1666,7 +1666,7 @@ static void initialize_core_pattern(bool skip_setup) {
+@@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) {
          if (getpid_cached() != 1)
                  return;
  
@@ -188,7 +200,7 @@ index a280b756ff..334532cd42 100644
                  log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
  }
 diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
-index 1fe592af70..603942a000 100644
+index 8cc1696a4f..ab7b4ba2c3 100644
 --- a/src/core/smack-setup.c
 +++ b/src/core/smack-setup.c
 @@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) {
@@ -214,7 +226,7 @@ index 1fe592af70..603942a000 100644
                  log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
  #endif
 diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
-index d8f91f4e66..a088e6e2d8 100644
+index 58e35e403e..1d0beb4008 100644
 --- a/src/hibernate-resume/hibernate-resume.c
 +++ b/src/hibernate-resume/hibernate-resume.c
 @@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
@@ -227,20 +239,20 @@ index d8f91f4e66..a088e6e2d8 100644
                  log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
                  return EXIT_FAILURE;
 diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
-index d06f90ce1d..43d0a58750 100644
+index d82f01a164..b8fd63346c 100644
 --- a/src/libsystemd/sd-device/sd-device.c
 +++ b/src/libsystemd/sd-device/sd-device.c
-@@ -1976,7 +1976,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
+@@ -1987,7 +1987,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
          if (!value)
                  return -ENOMEM;
  
 -        r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
 +        r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW);
          if (r < 0) {
-                 if (r == -ELOOP)
-                         return -EINVAL;
+                 /* On failure, clear cache entry, as we do not know how it fails. */
+                 device_remove_cached_sysattr_value(device, sysattr);
 diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
-index 7d757aa286..a5d9da5b7e 100644
+index 3bc424b83b..5f5eef0843 100644
 --- a/src/login/logind-dbus.c
 +++ b/src/login/logind-dbus.c
 @@ -1330,7 +1330,7 @@ static int trigger_device(Manager *m, sd_device *d) {
@@ -266,10 +278,10 @@ index cb01b25bc6..e92051268b 100644
                  log_error_errno(r, "Failed to move process: %m");
                  goto finish;
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 3528b7ff14..11b0c20f95 100644
+index 0c41a48d4b..9c893b18e4 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -2667,7 +2667,7 @@ static int reset_audit_loginuid(void) {
+@@ -2695,7 +2695,7 @@ static int reset_audit_loginuid(void) {
          if (streq(p, "4294967295"))
                  return 0;
  
@@ -278,7 +290,7 @@ index 3528b7ff14..11b0c20f95 100644
          if (r < 0) {
                  log_error_errno(r,
                                  "Failed to reset audit login UID. This probably means that your kernel is too\n"
-@@ -3920,13 +3920,13 @@ static int setup_uid_map(pid_t pid) {
+@@ -3948,13 +3948,13 @@ static int setup_uid_map(pid_t pid) {
  
          xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
          xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range);
@@ -316,21 +328,8 @@ index f197f715c7..077f893177 100644
                          if (r < 0) {
                                  log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
                                                  FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
-diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
-index 670c33108b..7c7c3dcfb6 100644
---- a/src/shared/sysctl-util.c
-+++ b/src/shared/sysctl-util.c
-@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
- 
-         log_debug("Setting '%s' to '%s'", p, value);
- 
--        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
- }
- 
- int sysctl_read(const char *property, char **content) {
 diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
-index 39ab554290..d0e566645d 100644
+index 262d4cea66..0523e8dc9b 100644
 --- a/src/sleep/sleep.c
 +++ b/src/sleep/sleep.c
 @@ -48,7 +48,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca
@@ -369,34 +368,8 @@ index 39ab554290..d0e566645d 100644
                  if (k >= 0)
                          return 0;
                  log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
-diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
-index 5c74184c33..65f528314e 100644
---- a/src/udev/udevadm-trigger.c
-+++ b/src/udev/udevadm-trigger.c
-@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set **settle_s
-                 if (!filename)
-                         return log_oom();
- 
--                r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER);
-+                r = write_string_file(filename, action, 0);
-                 if (r < 0) {
-                         bool ignore = IN_SET(r, -ENOENT, -ENODEV);
- 
-diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index d24b8d4398..d123a43904 100644
---- a/src/udev/udevd.c
-+++ b/src/udev/udevd.c
-@@ -1192,7 +1192,7 @@ static int synthesize_change_one(sd_device *dev, const char *syspath) {
- 
-         filename = strjoina(syspath, "/uevent");
-         log_device_debug(dev, "device is closed, synthesising 'change' on %s", syspath);
--        r = write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
-+        r = write_string_file(filename, "change", 0);
-         if (r < 0)
-                 return log_device_debug_errno(dev, r, "Failed to write 'change' to %s: %m", filename);
-         return 0;
 diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
-index b28e2853e1..115b7233a0 100644
+index d1c3febdd5..1cc68694d1 100644
 --- a/src/vconsole/vconsole-setup.c
 +++ b/src/vconsole/vconsole-setup.c
 @@ -116,7 +116,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
@@ -408,6 +381,3 @@ index b28e2853e1..115b7233a0 100644
          if (r < 0)
                  return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
  
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
index 1cc3985d12..7d1bd60255 100644
--- a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
+++ b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
@@ -1,7 +1,7 @@
-From bbda4a48a34662393117fc677c3a678d4ce4c2ec Mon Sep 17 00:00:00 2001
+From d73755cc60f401f0f20f357752e45aeeeef8e83f Mon Sep 17 00:00:00 2001
 From: Scott Murray <scott.murray@konsulko.com>
 Date: Fri, 13 Sep 2019 19:26:27 -0400
-Subject: [PATCH 25/26] Handle __cpu_mask usage
+Subject: [PATCH] Handle __cpu_mask usage
 
 Fixes errors:
 
@@ -18,6 +18,7 @@ add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
 Upstream-Status: Inappropriate [musl specific]
 
 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
 ---
  src/shared/cpu-set-util.h | 2 ++
  src/test/test-sizeof.c    | 2 +-
@@ -55,6 +56,3 @@ index e1a59d408c..c269ea6e8c 100644
  
  /* Print information about various types. Useful when diagnosing
   * gcc diagnostics on an unfamiliar architecture. */
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
index 4180afb08e..068600fa44 100644
--- a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
+++ b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
@@ -1,7 +1,7 @@
-From 47bf88f74717b417e4adbcc04256334b2335c873 Mon Sep 17 00:00:00 2001
+From 04e94f9a15101daa8f65a9af269d26cda2a24056 Mon Sep 17 00:00:00 2001
 From: Alex Kiernan <alex.kiernan@gmail.com>
 Date: Tue, 10 Mar 2020 11:05:20 +0000
-Subject: [PATCH 26/26] Handle missing gshadow
+Subject: [PATCH] Handle missing gshadow
 
 gshadow usage is now present in the userdb code. Mask all uses of it to
 allow compilation on musl
@@ -10,6 +10,7 @@ Upstream-Status: Inappropriate [musl specific]
 Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
 [Rebased for v247]
 Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+
 ---
  src/shared/user-record-nss.c | 20 ++++++++++++++++++++
  src/shared/user-record-nss.h |  4 ++++
@@ -138,10 +139,10 @@ index 22ab04d6ee..4e52e7a911 100644
  #include <shadow.h>
  
 diff --git a/src/shared/userdb.c b/src/shared/userdb.c
-index 2d480283d1..0d19764f2e 100644
+index 613350bd46..5c821d28cd 100644
 --- a/src/shared/userdb.c
 +++ b/src/shared/userdb.c
-@@ -929,13 +929,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+@@ -938,13 +938,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
                  if (gr) {
                          _cleanup_free_ char *buffer = NULL;
                          bool incomplete = false;
@@ -155,10 +156,10 @@ index 2d480283d1..0d19764f2e 100644
                                  iterator->synthesize_nobody = false;
  
 +#if ENABLE_GSHADOW
-                         r = nss_sgrp_for_group(gr, &sgrp, &buffer);
-                         if (r < 0) {
-                                 log_debug_errno(r, "Failed to acquire shadow entry for group %s, ignoring: %m", gr->gr_name);
-@@ -943,6 +946,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+                         if (!FLAGS_SET(iterator->flags, USERDB_AVOID_SHADOW)) {
+                                 r = nss_sgrp_for_group(gr, &sgrp, &buffer);
+                                 if (r < 0) {
+@@ -957,6 +960,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
                          }
  
                          r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
@@ -168,6 +169,3 @@ index 2d480283d1..0d19764f2e 100644
                          if (r < 0)
                                  return r;
  
--- 
-2.27.0
-
diff --git a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch b/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
deleted file mode 100644
index 94a4c307b5..0000000000
--- a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 297aba739cd689e4dc9f43bb1422ec88d481099a Mon Sep 17 00:00:00 2001
-From: Paul Gortmaker <paul.gortmaker@windriver.com>
-Date: Wed, 13 Jan 2021 21:09:33 +0000
-Subject: [PATCH] proc: dont trigger mount error with invalid options on old
- kernels
-
-As of commit 4e39995371738b04d98d27b0d34ea8fe09ec9fab ("core: introduce
-ProtectProc= and ProcSubset= to expose hidepid= and subset= procfs
-mount options") kernels older than v5.8 generate multple warnings at
-boot, as seen in this Yocto build from today:
-
-     qemux86-64 login: root
-     [   65.829009] proc: Bad value for 'hidepid'
-     root@qemux86-64:~# dmesg|grep proc:
-     [   16.990706] proc: Bad value for 'hidepid'
-     [   28.060178] proc: Bad value for 'hidepid'
-     [   28.874229] proc: Bad value for 'hidepid'
-     [   32.685107] proc: Bad value for 'hidepid'
-     [   65.829009] proc: Bad value for 'hidepid'
-     root@qemux86-64:~#
-
-The systemd maintainer has dismissed this as something people should
-simply ignore[1] and has no interest in trying to avoid it by
-proactively checking the kernel version, so people can safely assume
-that they will never see this version check commit upstream.
-
-However, as can be seen above, telling people to just ignore it is not
-an option, as we'll end up answering the same question and dealing with
-the same bug over and over again.
-
-The commit that triggers this is systemd v247-rc1~378^2~3 -- so any
-systemd 247 and above plus kernel v5.7 or older will need this.
-
-[1] https://github.com/systemd/systemd/issues/16896
-
-Upstream-Status: Denied [https://github.com/systemd/systemd/issues/16896]
-Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-
-Index: git/src/core/namespace.c
-===================================================================
---- git.orig/src/core/namespace.c
-+++ git/src/core/namespace.c
-@@ -4,7 +4,9 @@
- #include <linux/loop.h>
- #include <sched.h>
- #include <stdio.h>
-+#include <stdlib.h>
- #include <sys/mount.h>
-+#include <sys/utsname.h>
- #include <unistd.h>
- #include <linux/fs.h>
- 
-@@ -860,13 +862,32 @@ static int mount_sysfs(const MountEntry
- 
- static int mount_procfs(const MountEntry *m, const NamespaceInfo *ns_info) {
-         const char *entry_path;
--        int r;
-+        int r, major, minor;
-+        struct utsname uts;
-+        bool old = false;
- 
-         assert(m);
-         assert(ns_info);
- 
-         entry_path = mount_entry_path(m);
- 
-+        /* If uname says that the system is older than v5.8, then the textual hidepid= stuff is not
-+         * supported by the kernel, and thus the per-instance hidepid= neither, which means we
-+         * really don't want to use it, since it would affect our host's /proc * mount. Hence let's
-+         * gracefully fallback to a classic, unrestricted version. */
-+
-+        r = uname(&uts);
-+        if (r < 0)
-+               return errno;
-+
-+        major = atoi(uts.release);
-+        minor = atoi(strchr(uts.release, '.') + 1);
-+
-+        if (major < 5 || (major == 5 && minor < 8)) {
-+                log_debug("Pre v5.8 kernel detected [v%d.%d] - skipping hidepid=", major, minor);
-+                old = true;
-+        }
-+
-         /* Mount a new instance, so that we get the one that matches our user namespace, if we are running in
-          * one. i.e we don't reuse existing mounts here under any condition, we want a new instance owned by
-          * our user namespace and with our hidepid= settings applied. Hence, let's get rid of everything
-@@ -875,8 +896,8 @@ static int mount_procfs(const MountEntry
-         (void) mkdir_p_label(entry_path, 0755);
-         (void) umount_recursive(entry_path, 0);
- 
--        if (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
--            ns_info->proc_subset != PROC_SUBSET_ALL) {
-+        if (!old && (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
-+            ns_info->proc_subset != PROC_SUBSET_ALL)) {
-                 _cleanup_free_ char *opts = NULL;
- 
-                 /* Starting with kernel 5.8 procfs' hidepid= logic is truly per-instance (previously it
diff --git a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
index bbee6e6b28..2289404d8d 100644
--- a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
+++ b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
@@ -1,4 +1,4 @@
-From 7b32582c066549fea0f7180a6c575e7fa37a867f Mon Sep 17 00:00:00 2001
+From 366cd28f5f93ba7c861cd32a718251770d74830e Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 12 Apr 2021 23:44:53 -0700
 Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl
@@ -10,15 +10,16 @@ them here in case they are undefined
 Upstream-Status: Pending
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
 ---
  src/basic/missing_syscall.h | 6 ++++++
  1 file changed, 6 insertions(+)
 
 diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
-index 0594a1b930..495d161334 100644
+index 1384324804..0202d00372 100644
 --- a/src/basic/missing_syscall.h
 +++ b/src/basic/missing_syscall.h
-@@ -15,6 +15,12 @@
+@@ -20,6 +20,12 @@
  #include <asm/sgidefs.h>
  #endif
  
@@ -28,9 +29,6 @@ index 0594a1b930..495d161334 100644
 +#define _MIPS_SIM_ABI64		3
 +#endif
 +
- #if defined(__x86_64__) && defined(__ILP32__)
- #  define systemd_SC_arch_bias(x) ((x) | /* __X32_SYSCALL_BIT */ 0x40000000)
- #elif defined(__ia64__)
--- 
-2.31.1
-
+ #include "missing_keyctl.h"
+ #include "missing_stat.h"
+ #include "missing_syscall_def.h"
diff --git a/meta/recipes-core/systemd/systemd_247.6.bb b/meta/recipes-core/systemd/systemd_248.3.bb
similarity index 99%
rename from meta/recipes-core/systemd/systemd_247.6.bb
rename to meta/recipes-core/systemd/systemd_248.3.bb
index ce6ac7ebaa..b241330d96 100644
--- a/meta/recipes-core/systemd/systemd_247.6.bb
+++ b/meta/recipes-core/systemd/systemd_248.3.bb
@@ -14,7 +14,8 @@ inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu
 # that we don't build both udev and systemd in world builds.
 REQUIRED_DISTRO_FEATURES = "systemd"
 
-SRC_URI += "file://touchscreen.rules \
+SRC_URI += " \
+           file://touchscreen.rules \
            file://00-create-volatile.conf \
            ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \
            ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \
@@ -24,9 +25,6 @@ SRC_URI += "file://touchscreen.rules \
            file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
            file://0003-implment-systemd-sysv-install-for-OE.patch \
            file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
-           file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \
-           file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \
-           file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \
            "
 
 # patches needed by musl
@@ -474,6 +472,7 @@ FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.c
                          ${rootlibexecdir}/systemd/systemd-machined \
                          ${rootlibexecdir}/systemd/systemd-pull \
                          ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
+                         ${exec_prefix}/lib/tmpfiles.d/README \
                          ${systemd_system_unitdir}/systemd-nspawn@.service \
                          ${libdir}/libnss_mymachines.so.2 \
                          ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
@@ -605,6 +604,7 @@ FILES_${PN} = " ${base_bindir}/* \
                 ${exec_prefix}/lib/environment.d \
                 ${localstatedir} \
                 ${rootlibexecdir}/modprobe.d/systemd.conf \
+                ${rootlibexecdir}/modprobe.d/README \
                 ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
                 ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
                 ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
@@ -647,6 +647,7 @@ FILES_udev += "${base_sbindir}/udevd \
                ${rootlibexecdir}/udev/ata_id \
                ${rootlibexecdir}/udev/cdrom_id \
                ${rootlibexecdir}/udev/collect \
+               ${rootlibexecdir}/udev/dmi_memory_id \
                ${rootlibexecdir}/udev/fido_id \
                ${rootlibexecdir}/udev/findkeyboards \
                ${rootlibexecdir}/udev/keyboard-force-release.sh \
@@ -674,6 +675,7 @@ FILES_udev += "${base_sbindir}/udevd \
                ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \
                ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
                ${rootlibexecdir}/udev/rules.d/70-joystick.rules \
+               ${rootlibexecdir}/udev/rules.d/70-memory.rules \
                ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
                ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
                ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
@@ -683,6 +685,7 @@ FILES_udev += "${base_sbindir}/udevd \
                ${rootlibexecdir}/udev/rules.d/80-drivers.rules \
                ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
                ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
+               ${rootlibexecdir}/udev/rules.d/README \
                ${sysconfdir}/udev \
                ${sysconfdir}/init.d/systemd-udevd \
                ${systemd_unitdir}/system/*udev* \
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 03/21] systemd-conf: do not version in lockstep with systemd
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 02/21] systemd: update 247.6 -> 248.3 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 04/21] gnu-config: update to latest revision Alexander Kanavin
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

This is not needed as systemd-conf only packages
standalone config files.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../systemd/{systemd-conf_247.6.bb => systemd-conf_1.0.bb}      | 2 ++
 1 file changed, 2 insertions(+)
 rename meta/recipes-core/systemd/{systemd-conf_247.6.bb => systemd-conf_1.0.bb} (99%)

diff --git a/meta/recipes-core/systemd/systemd-conf_247.6.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb
similarity index 99%
rename from meta/recipes-core/systemd/systemd-conf_247.6.bb
rename to meta/recipes-core/systemd/systemd-conf_1.0.bb
index ea35e83f4f..235923be85 100644
--- a/meta/recipes-core/systemd/systemd-conf_247.6.bb
+++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb
@@ -5,6 +5,8 @@ DefaultTimeoutStartSec setting."
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
+PE = "1"
+
 PACKAGECONFIG ??= "dhcp-ethernet"
 PACKAGECONFIG[dhcp-ethernet] = ""
 
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 04/21] gnu-config: update to latest revision
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 02/21] systemd: update 247.6 -> 248.3 Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 03/21] systemd-conf: do not version in lockstep with systemd Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 05/21] mmc-utils: " Alexander Kanavin
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-devtools/gnu-config/gnu-config_git.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index d4ec4593fa..8d7d6ac3ee 100644
--- a/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -9,8 +9,8 @@ DEPENDS_class-native = "hostperl-runtime-native"
 
 INHIBIT_DEFAULT_DEPS = "1"
 
-SRCREV = "277b4ed1776f721145b2649d888f1deb445fecc5"
-PV = "20210424+git${SRCPV}"
+SRCREV = "92fac9b5ceb9f111a04d7f8f98831570e77886c6"
+PV = "20210522+git${SRCPV}"
 
 SRC_URI = "git://git.savannah.gnu.org/config.git \
            file://gnu-configize.in"
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 05/21] mmc-utils: update to latest revision
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (2 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 04/21] gnu-config: update to latest revision Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 06/21] python3-smartypants: fix upstream version check Alexander Kanavin
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Drop patch as upstream has fixed the issue.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...tra-braces-when-initializing-subobje.patch | 32 -------------------
 meta/recipes-devtools/mmc/mmc-utils_git.bb    |  6 ++--
 2 files changed, 2 insertions(+), 36 deletions(-)
 delete mode 100644 meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch

diff --git a/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch b/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch
deleted file mode 100644
index 12707357b2..0000000000
--- a/meta/recipes-devtools/mmc/mmc-utils/0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 04fbe6ddb5f1e02efbcae3cdf5beb16757a98948 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 10 May 2019 12:58:01 -0700
-Subject: [PATCH] mmc_cmd.c: Use extra braces when initializing subobjects
-
-clang warns with -Werror,-Wmissing-braces, as following error
-| mmc_cmds.c:1886:36: error: suggest braces around initialization of subobject [-Werror,-W
-missing-braces]
-|         struct rpmb_frame frame_status = {0};
-|                                           ^
-|                                           {}
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- mmc_cmds.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mmc_cmds.c b/mmc_cmds.c
-index 19a9da1..838e8c3 100644
---- a/mmc_cmds.c
-+++ b/mmc_cmds.c
-@@ -1883,7 +1883,7 @@ static int do_rpmb_op(int fd,
- 	u_int16_t rpmb_type;
- 	struct mmc_ioc_multi_cmd *mioc;
- 	struct mmc_ioc_cmd *ioc;
--	struct rpmb_frame frame_status = {0};
-+	struct rpmb_frame frame_status = {{0}};
- 
- 	if (!frame_in || !frame_out || !out_cnt)
- 		return -EINVAL;
diff --git a/meta/recipes-devtools/mmc/mmc-utils_git.bb b/meta/recipes-devtools/mmc/mmc-utils_git.bb
index 8fe606915e..bdd0bf7f1b 100644
--- a/meta/recipes-devtools/mmc/mmc-utils_git.bb
+++ b/meta/recipes-devtools/mmc/mmc-utils_git.bb
@@ -5,13 +5,11 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d"
 
 SRCBRANCH ?= "master"
-SRCREV = "73d6c59af8d1bcedf5de4aa1f5d5b7f765f545f5"
+SRCREV = "43282e80e174cc73b09b81a4d17cb3a7b4dc5cfc"
 
 PV = "0.1+git${SRCPV}"
 
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH} \
-           file://0001-mmc_cmd.c-Use-extra-braces-when-initializing-subobje.patch \
-           "
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH}"
 UPSTREAM_CHECK_COMMITS = "1"
 
 S = "${WORKDIR}/git"
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 06/21] python3-smartypants: fix upstream version check
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (3 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 05/21] mmc-utils: " Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 07/21] at: upgrade 3.2.1 -> 3.2.2 Alexander Kanavin
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Upstream has never published the 2.0.1 tarball.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-devtools/python/python3-smartypants_2.0.0.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb b/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb
index 8acc971c35..ba3408247b 100644
--- a/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb
+++ b/meta/recipes-devtools/python/python3-smartypants_2.0.0.bb
@@ -10,3 +10,4 @@ SRC_URI[sha256sum] = "7812353a32022699a1aa8cd5626e01c94a946dcaeedaee2d0b382bae4c
 
 BBCLASSEXTEND = "native"
 
+UPSTREAM_CHECK_REGEX = "/${PYPI_PACKAGE}/(?P<pver>(?!2\.0\.1)(\d+[\.\-_]*)+)/"
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 07/21] at: upgrade 3.2.1 -> 3.2.2
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (4 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 06/21] python3-smartypants: fix upstream version check Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 08/21] gnomebase: trim the SRC_URI directory from the back Alexander Kanavin
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Drop a script in /usr/share as purpose is unclear
(nothing references it), and it pulls in bash without need.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-extended/at/{at_3.2.1.bb => at_3.2.2.bb} | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
 rename meta/recipes-extended/at/{at_3.2.1.bb => at_3.2.2.bb} (95%)

diff --git a/meta/recipes-extended/at/at_3.2.1.bb b/meta/recipes-extended/at/at_3.2.2.bb
similarity index 95%
rename from meta/recipes-extended/at/at_3.2.1.bb
rename to meta/recipes-extended/at/at_3.2.2.bb
index ae15df8662..5c2018774c 100644
--- a/meta/recipes-extended/at/at_3.2.1.bb
+++ b/meta/recipes-extended/at/at_3.2.2.bb
@@ -37,7 +37,7 @@ SRC_URI = "http://software.calhariz.com/at/${BPN}_${PV}.orig.tar.gz \
 PAM_SRC_URI = "file://pam.conf.patch \
                file://configure-add-enable-pam.patch"
 
-SRC_URI[sha256sum] = "aabe6e5cb6dd19fe9fb25c2747492f2db38762b95ea41b86f949609c39fb55c4"
+SRC_URI[sha256sum] = "2211da14914fde1f9cc83592838fb6385a32fb11fcecb7816c77700df6559088"
 
 EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
                  --with-daemon_username=root \
@@ -72,4 +72,5 @@ do_install () {
 	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
 		install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd
 	fi
+        rm -f ${D}${datadir}/at/batch-job
 }
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 08/21] gnomebase: trim the SRC_URI directory from the back
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (5 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 07/21] at: upgrade 3.2.1 -> 3.2.2 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 09/21] gsettings-desktop-schemas: upgrade 3.38.0 -> 40.0 Alexander Kanavin
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Rather than take the first two components, drop the last one at the end.
This makes it compatible with both old and new gnome version schemes.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/classes/gnomebase.bbclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/classes/gnomebase.bbclass b/meta/classes/gnomebase.bbclass
index efcb6caae1..884b1a106f 100644
--- a/meta/classes/gnomebase.bbclass
+++ b/meta/classes/gnomebase.bbclass
@@ -1,5 +1,6 @@
 def gnome_verdir(v):
-    return oe.utils.trim_version(v, 2)
+    return ".".join(v.split(".")[:-1])
+
 
 GNOME_COMPRESS_TYPE ?= "xz"
 SECTION ?= "x11/gnome"
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 09/21] gsettings-desktop-schemas: upgrade 3.38.0 -> 40.0
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (6 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 08/21] gnomebase: trim the SRC_URI directory from the back Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 10/21] igt-gpu-tools: upgrade 1.25 -> 1.26 Alexander Kanavin
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...ktop-schemas_3.38.0.bb => gsettings-desktop-schemas_40.0.bb} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-gnome/gsettings-desktop-schemas/{gsettings-desktop-schemas_3.38.0.bb => gsettings-desktop-schemas_40.0.bb} (85%)

diff --git a/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb b/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_40.0.bb
similarity index 85%
rename from meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb
rename to meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_40.0.bb
index cf06af57d6..89751a8637 100644
--- a/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.38.0.bb
+++ b/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_40.0.bb
@@ -13,4 +13,4 @@ GNOMEBASEBUILDCLASS = "meson"
 
 inherit gnomebase gsettings gobject-introspection gettext
 
-SRC_URI[archive.sha256sum] = "5704c8266004b296036671f223c705dc046aa694a1b1abb87c67e7d2747a8c67"
+SRC_URI[archive.sha256sum] = "f1b83bf023c0261eacd0ed36066b76f4a520bbcb14bb69c402b7959257125685"
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 10/21] igt-gpu-tools: upgrade 1.25 -> 1.26
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (7 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 09/21] gsettings-desktop-schemas: upgrade 3.38.0 -> 40.0 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 11/21] mesa: update 21.0.3 -> 21.1.1 Alexander Kanavin
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Drop patches merged upstream.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...t_edid-Allocate-raw-8-bytes-for-VSDB.patch | 42 -------------------
 .../igt-gpu-tools/reproducibility.patch       | 38 -----------------
 .../igt-gpu-tools/igt-gpu-tools_git.bb        |  8 ++--
 3 files changed, 3 insertions(+), 85 deletions(-)
 delete mode 100644 meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch
 delete mode 100644 meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch

diff --git a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch
deleted file mode 100644
index 38bd4550a3..0000000000
--- a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 606349860d27492c328752dca5a3784c0e9a6d24 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Feb 2021 11:05:45 -0800
-Subject: [PATCH i-g-t] lib/igt_edid: Allocate raw 8-bytes for VSDB
-
-hdmi_vsdb is an element of cea_vsdb which makes the size of cea_vsdb to
-be 8 ( 3bytes ieee_oui ) + ( 5bytes hdmi_vsdb struct), its true that we
-only use 7 bytes technically we can only allocate 7byte array but since
-we are writing to elements of hdmi_vsdb struct which is sitting at offet
-4-8 in cea_vsdb, compiler thinks we have an element which is out of
-array bounds since out allocated size is 7bytes
-
-This errors out
-../git/lib/igt_edid.c:365:13: error: array subscript 'struct hdmi_vsdb[0]' is partly outside array bounds of 'char[7]' [-Werror=array-bounds]
-  365 |         hdmi->src_phy_addr[0] = 0x10;
-      |             ^~
-
-allocating one extra byte matches with size of cea_vsdb and compiler is
-happy
-
-Upstream-Status: Submitted [https://lists.freedesktop.org/archives/igt-dev/2021-February/029446.html]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/igt_edid.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/igt_edid.c b/lib/igt_edid.c
-index 1c85486d..ce09cc47 100644
---- a/lib/igt_edid.c
-+++ b/lib/igt_edid.c
-@@ -351,7 +351,7 @@ void cea_sad_init_pcm(struct cea_sad *sad, int channels,
- const struct cea_vsdb *cea_vsdb_get_hdmi_default(size_t *size)
- {
- 	/* We'll generate a VSDB with 2 extension fields. */
--	static char raw[CEA_VSDB_HDMI_MIN_SIZE + 2] = {0};
-+	static char raw[CEA_VSDB_HDMI_MIN_SIZE + 3] = {0};
- 	struct cea_vsdb *vsdb;
- 	struct hdmi_vsdb *hdmi;
- 
--- 
-2.30.1
-
diff --git a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch
deleted file mode 100644
index 39e36d8737..0000000000
--- a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools/reproducibility.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-meson: Allow source location to be configurable
-
-Hardcoding a build source path into a binary when cross compiling isn't
-appropriate and breaks build reproducibility. Allow the srcdir to be
-specified by an optional configuration option to meson.
-
-Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
-Upstream-Status: Submitted [https://lists.freedesktop.org/archives/igt-dev/2021-February/029443.html]
-
-Index: git/lib/meson.build
-===================================================================
---- git.orig/lib/meson.build
-+++ git/lib/meson.build
-@@ -122,7 +122,11 @@ if chamelium.found()
- 	lib_sources += 'igt_chamelium_stream.c'
- endif
- 
--srcdir = join_paths(meson.source_root(), 'tests')
-+if get_option('srcdir') != ''
-+    srcdir = join_paths(get_option('srcdir'), 'tests')
-+else
-+    srcdir = join_paths(meson.source_root(), 'tests')
-+endif
- 
- lib_version = vcs_tag(input : 'version.h.in', output : 'version.h',
- 		      fallback : 'NO-GIT',
-Index: git/meson_options.txt
-===================================================================
---- git.orig/meson_options.txt
-+++ git/meson_options.txt
-@@ -50,3 +50,7 @@ option('use_rpath',
-        type : 'boolean',
-        value : false,
-        description : 'Set runpath on installed executables for libigt.so')
-+
-+option('srcdir',
-+       type : 'string',
-+       description : 'Path to source code to be compiled into binaries (optional)')
diff --git a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb
index 1cc94cf993..5ab0498f7a 100644
--- a/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb
+++ b/meta/recipes-graphics/igt-gpu-tools/igt-gpu-tools_git.bb
@@ -9,12 +9,10 @@ LICENSE = "MIT"
 
 inherit meson
 
-SRCREV = "d16ad07e7f2a028e14d61f570931c87fa5ce404c"
-PV = "1.25+git${SRCPV}"
+SRCREV = "203def046b466fb2da67f9f15552d84e1c0b41f2"
+PV = "1.26"
 
-SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https \
-           file://0001-lib-igt_edid-Allocate-raw-8-bytes-for-VSDB.patch \
-           file://reproducibility.patch"
+SRC_URI = "git://gitlab.freedesktop.org/drm/igt-gpu-tools.git;protocol=https"
 
 S = "${WORKDIR}/git"
 
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 11/21] mesa: update 21.0.3 -> 21.1.1
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (8 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 10/21] igt-gpu-tools: upgrade 1.25 -> 1.26 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 12/21] vulkan-samples: update to latest revision Alexander Kanavin
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

License-Update: typo fix

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...002-meson.build-make-TLS-ELF-optional.patch | 18 +++++++++---------
 .../{mesa-gl_21.0.3.bb => mesa-gl_21.1.1.bb}   |  0
 meta/recipes-graphics/mesa/mesa.inc            |  4 ++--
 .../mesa/{mesa_21.0.3.bb => mesa_21.1.1.bb}    |  1 +
 4 files changed, 12 insertions(+), 11 deletions(-)
 rename meta/recipes-graphics/mesa/{mesa-gl_21.0.3.bb => mesa-gl_21.1.1.bb} (100%)
 rename meta/recipes-graphics/mesa/{mesa_21.0.3.bb => mesa_21.1.1.bb} (99%)

diff --git a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
index df2346d336..eac6d4df89 100644
--- a/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
+++ b/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
@@ -1,4 +1,4 @@
-From 624f430dd0a91344146a2b8d49a69f23560c2fa2 Mon Sep 17 00:00:00 2001
+From d434b9e5d29d614b57c09e164e1d084094bf2150 Mon Sep 17 00:00:00 2001
 From: Alistair Francis <alistair@alistair23.me>
 Date: Thu, 14 Nov 2019 13:08:31 -0800
 Subject: [PATCH] meson.build: make TLS ELF optional
@@ -30,23 +30,23 @@ Signed-off-by: Alistair Francis <alistair@alistair23.me>
  2 files changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/meson.build b/meson.build
-index efc6171..8450968 100644
+index 42f448e..02f6e33 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -448,7 +448,7 @@ endif
- 
- # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
+@@ -449,7 +449,7 @@ endif
  use_elf_tls = false
--if not ['windows', 'freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29)
-+if not ['windows', 'freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls')
+ if (not ['freebsd', 'openbsd', 'haiku'].contains(host_machine.system()) and
+     (not with_platform_android or get_option('platform-sdk-version') >= 29) and
+-    (not with_platform_windows or not with_shared_glapi))
++    (not with_platform_windows or not with_shared_glapi) and get_option('elf-tls'))
    pre_args += '-DUSE_ELF_TLS'
    use_elf_tls = true
  endif
 diff --git a/meson_options.txt b/meson_options.txt
-index fc73f6e..d7482c0 100644
+index a7030ab..635ec20 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -420,6 +420,12 @@ option(
+@@ -421,6 +421,12 @@ option(
    value : true,
    description : 'Enable direct rendering in GLX and EGL for DRI',
  )
diff --git a/meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb b/meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb
similarity index 100%
rename from meta/recipes-graphics/mesa/mesa-gl_21.0.3.bb
rename to meta/recipes-graphics/mesa/mesa-gl_21.1.1.bb
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 4cec1034e4..32cc997c9e 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -10,7 +10,7 @@ HOMEPAGE = "http://mesa3d.org"
 BUGTRACKER = "https://bugs.freedesktop.org"
 SECTION = "x11"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9aa1bc48c9826ad9fdb16661f6930496"
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=17a4ea65de7a9ab42437f3131e616a7f"
 
 PE = "2"
 
@@ -21,7 +21,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
            file://0001-futex.h-Define-__NR_futex-if-it-does-not-exist.patch \
            "
 
-SRC_URI[sha256sum] = "565c6f4bd2d5747b919454fc1d439963024fc78ca56fd05158c3b2cde2f6912b"
+SRC_URI[sha256sum] = "eec25ea379054e8911bc5de816aeb50f581b5b708414725003d2f00386b38dd2"
 
 UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
 
diff --git a/meta/recipes-graphics/mesa/mesa_21.0.3.bb b/meta/recipes-graphics/mesa/mesa_21.1.1.bb
similarity index 99%
rename from meta/recipes-graphics/mesa/mesa_21.0.3.bb
rename to meta/recipes-graphics/mesa/mesa_21.1.1.bb
index 8c584d8e9f..1993d6cbd0 100644
--- a/meta/recipes-graphics/mesa/mesa_21.0.3.bb
+++ b/meta/recipes-graphics/mesa/mesa_21.1.1.bb
@@ -2,3 +2,4 @@ require ${BPN}.inc
 
 DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915"
 DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915"
+
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 12/21] vulkan-samples: update to latest revision
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (9 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 11/21] mesa: update 21.0.3 -> 21.1.1 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 13/21] libgpg-error: update 1.41 -> 1.42 Alexander Kanavin
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-graphics/vulkan/vulkan-samples_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index e89f75baac..a177d9a391 100644
--- a/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -11,7 +11,7 @@ SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git \
            "
 
 UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "5646820bdd46365183adc2b326556c5bf7d8db76"
+SRCREV = "04278ed5f0f9847ae6897509eb56d7b21b4e8cde"
 
 UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
 S = "${WORKDIR}/git"
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 13/21] libgpg-error: update 1.41 -> 1.42
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (10 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 12/21] vulkan-samples: update to latest revision Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 14/21] webkitgtk: update 2.32.0 -> 2.32.1 Alexander Kanavin
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...not-hardcode-gnu-libc-when-generatin.patch |  27 ++++
 .../libgpg-error/libgpg-error/fix-cross.patch |  28 ++++
 .../libgpg-error/libgpg-error/pkgconfig.patch | 129 ++++++++++--------
 ...gpg-error_1.41.bb => libgpg-error_1.42.bb} |   4 +-
 4 files changed, 130 insertions(+), 58 deletions(-)
 create mode 100644 meta/recipes-support/libgpg-error/libgpg-error/0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch
 create mode 100644 meta/recipes-support/libgpg-error/libgpg-error/fix-cross.patch
 rename meta/recipes-support/libgpg-error/{libgpg-error_1.41.bb => libgpg-error_1.42.bb} (87%)

diff --git a/meta/recipes-support/libgpg-error/libgpg-error/0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch b/meta/recipes-support/libgpg-error/libgpg-error/0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch
new file mode 100644
index 0000000000..0f6e309391
--- /dev/null
+++ b/meta/recipes-support/libgpg-error/libgpg-error/0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch
@@ -0,0 +1,27 @@
+From 7437acb228678ea5d8288b930b4f5b72c3d449ed Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 24 May 2021 11:03:42 +0200
+Subject: [PATCH] configure.ac: do not hardcode gnu libc when generating
+ lock-obj
+
+This erroneously excluded e.g. musl libc.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c0aab53..6d46d13 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -603,7 +603,7 @@ if test x"$gl_use_threads" = xno; then
+   AC_MSG_NOTICE([generated src/lock-obj-pub.native.h for $host])
+ elif test x$cross_compiling = xyes; then
+   case $host in
+-    *-*-linux-gnu*)
++    *-*-linux-*)
+     AC_CHECK_TOOL(OBJDUMP, [objdump])
+     if test -n "$OBJDUMP"; then
+       lock_obj_h_generated=yes
diff --git a/meta/recipes-support/libgpg-error/libgpg-error/fix-cross.patch b/meta/recipes-support/libgpg-error/libgpg-error/fix-cross.patch
new file mode 100644
index 0000000000..ae424cdb9a
--- /dev/null
+++ b/meta/recipes-support/libgpg-error/libgpg-error/fix-cross.patch
@@ -0,0 +1,28 @@
+From: David Michael <fedora.dm0@gmail.com>
+Date: Fri, 26 Mar 2021 07:06:50 +0000 (+0900)
+Subject: build: Fix generation of lock-obj-pub.native.h for cross build.
+X-Git-Url: http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=commitdiff_plain;h=33593864cd54143db594c4237bba41e14179061c
+
+build: Fix generation of lock-obj-pub.native.h for cross build.
+
+* src/gen-lock-obj.sh: Capture echo output with quotes.
+
+Fixes-commit: 99ae862a96a569724f49a604ebb7d3f6d2c2d374
+Signed-off-by: David Michael <fedora.dm0@gmail.com>
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+
+diff --git a/src/gen-lock-obj.sh b/src/gen-lock-obj.sh
+index a710f0c..258eec6 100755
+--- a/src/gen-lock-obj.sh
++++ b/src/gen-lock-obj.sh
+@@ -38,7 +38,7 @@
+ #     AWK=gawk ./gen-lock-obj.sh
+ #
+ 
+-if test -n `echo -n`; then
++if test -n "`echo -n`"; then
+     ECHO_C='\c'
+     ECHO_N=''
+ else
diff --git a/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch b/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch
index 83054a9c44..aea8eba5fa 100644
--- a/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch
+++ b/meta/recipes-support/libgpg-error/libgpg-error/pkgconfig.patch
@@ -1,4 +1,4 @@
-From ec309e20b5a27d42a5fb915c328d61e924ab5f19 Mon Sep 17 00:00:00 2001
+From 62651c5c7b4a391f16dbe1b09c6e220efe5c8a35 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Thu, 29 Mar 2018 15:12:17 +0800
 Subject: [PATCH] support pkgconfig
@@ -12,15 +12,16 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 Refactored for 1.33
 Signed-off-by: Armin Kuster <akuster808@gmail.com>
 Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+
 ---
- src/gpg-error.m4 | 142 +----------------------------------------------
- 1 file changed, 3 insertions(+), 139 deletions(-)
+ src/gpg-error.m4 | 159 +----------------------------------------------
+ 1 file changed, 3 insertions(+), 156 deletions(-)
 
 diff --git a/src/gpg-error.m4 b/src/gpg-error.m4
-index c9b235f..176bd6a 100644
+index d910754..76f045c 100644
 --- a/src/gpg-error.m4
 +++ b/src/gpg-error.m4
-@@ -26,139 +26,12 @@ dnl is added to the gpg_config_script_warn variable.
+@@ -27,156 +27,12 @@ dnl is added to the gpg_config_script_warn variable.
  dnl
  AC_DEFUN([AM_PATH_GPG_ERROR],
  [ AC_REQUIRE([AC_CANONICAL_HOST])
@@ -62,45 +63,78 @@ index c9b235f..176bd6a 100644
 -  min_gpg_error_version=ifelse([$1], ,1.33,$1)
 -  ok=no
 -
--  if test "$prefix" = NONE ; then
--    prefix_option_expanded=/usr/local
--  else
--    prefix_option_expanded="$prefix"
--  fi
--  if test "$exec_prefix" = NONE ; then
--    exec_prefix_option_expanded=$prefix_option_expanded
--  else
--    exec_prefix_option_expanded=$(prefix=$prefix_option_expanded eval echo $exec_prefix)
--  fi
--  libdir_option_expanded=$(prefix=$prefix_option_expanded exec_prefix=$exec_prefix_option_expanded eval echo $libdir)
+-  AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no)
+-  if test "$GPGRT_CONFIG" != "no"; then
+-    # Determine gpgrt_libdir
+-    #
+-    # Get the prefix of gpgrt-config assuming it's something like:
+-    #   <PREFIX>/bin/gpgrt-config
+-    gpgrt_prefix=${GPGRT_CONFIG%/*/*}
+-    possible_libdir1=${gpgrt_prefix}/lib
+-    # Determine by using system libdir-format with CC, it's like:
+-    #   Normal style: /usr/lib
+-    #   GNU cross style: /usr/<triplet>/lib
+-    #   Debian style: /usr/lib/<multiarch-name>
+-    #   Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64
+-    # It is assumed that CC is specified to the one of host on cross build.
+-    if libdir_candidates=$(${CC:-cc} -print-search-dirs | \
+-          sed -n -e "/^libraries/{s/libraries: =//;s/:/\n/gp}"); then
+-      # From the output of -print-search-dirs, select valid pkgconfig dirs.
+-      libdir_candidates=$(for dir in $libdir_candidates; do
+-        if p=$(cd $dir 2>/dev/null && pwd); then
+-          test -d "$p/pkgconfig" && echo $p;
+-        fi
+-      done)
 -
--  if test -f $libdir_option_expanded/pkgconfig/gpg-error.pc; then
--    gpgrt_libdir=$libdir_option_expanded
--  else
--    if crt1_path=$(${CC:-cc} -print-file-name=crt1.o 2>/dev/null); then
--      if possible_libdir=$(cd ${crt1_path%/*} && pwd 2>/dev/null); then
--        if test -f $possible_libdir/pkgconfig/gpg-error.pc; then
--          gpgrt_libdir=$possible_libdir
+-      for possible_libdir0 in $libdir_candidates; do
+-        # possible_libdir0:
+-        #   Fallback candidate, the one of system-installed (by $CC)
+-        #   (/usr/<triplet>/lib, /usr/lib/<multiarch-name> or /usr/lib32)
+-        # possible_libdir1:
+-        #   Another candidate, user-locally-installed
+-        #   (<gpgrt_prefix>/lib)
+-        # possible_libdir2
+-        #   Most preferred
+-        #   (<gpgrt_prefix>/<triplet>/lib,
+-        #    <gpgrt_prefix>/lib/<multiarch-name> or <gpgrt_prefix>/lib32)
+-        if test "${possible_libdir0##*/}" = "lib"; then
+-          possible_prefix0=${possible_libdir0%/lib}
+-          possible_prefix0_triplet=${possible_prefix0##*/}
+-          if test -z "$possible_prefix0_triplet"; then
+-            continue
+-          fi
+-          possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib
+-        else
+-          possible_prefix0=${possible_libdir0%%/lib*}
+-          possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0}
+-        fi
+-        if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then
+-          gpgrt_libdir=${possible_libdir2}
+-        elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then
+-          gpgrt_libdir=${possible_libdir1}
+-        elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then
+-          gpgrt_libdir=${possible_libdir0}
 -        fi
--      fi
+-        if test -n "$gpgrt_libdir"; then break; fi
+-      done
+-    else
+-      # When we cannot determine system libdir-format, use this:
+-      gpgrt_libdir=${possible_libdir1}
 -    fi
+-  else
+-    unset GPGRT_CONFIG
 -  fi
 -
--  if test "$GPG_ERROR_CONFIG" = "no" -a -n "$gpgrt_libdir"; then
--    AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no)
--    if test "$GPGRT_CONFIG" = "no"; then
--      unset GPGRT_CONFIG
+-  if test -n "$gpgrt_libdir"; then
+-    GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir"
+-    if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then
+-      GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error"
+-      AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config])
+-      gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion`
 -    else
--      GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir"
--      if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then
--        GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error"
--        AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config])
--        gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion`
--      else
--        unset GPGRT_CONFIG
--      fi
+-      unset GPGRT_CONFIG
 -    fi
--  else
+-  elif test "$GPG_ERROR_CONFIG" != "no"; then
 -    gpg_error_config_version=`$GPG_ERROR_CONFIG --version`
 -  fi
 -  if test "$GPG_ERROR_CONFIG" != "no"; then
@@ -121,22 +155,6 @@ index c9b235f..176bd6a 100644
 -            fi
 -        fi
 -    fi
--    if test -z "$GPGRT_CONFIG" -a -n "$gpgrt_libdir"; then
--      if test "$major" -gt 1 -o "$major" -eq 1 -a "$minor" -ge 33; then
--        AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no)
--        if test "$GPGRT_CONFIG" = "no"; then
--          unset GPGRT_CONFIG
--        else
--          GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir"
--          if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then
--            GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error"
--            AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config])
--          else
--            unset GPGRT_CONFIG
--          fi
--        fi
--      fi
--    fi
 -  fi
 -  AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version)
 +  min_gpg_error_version=ifelse([$1], ,0.0,$1)
@@ -163,7 +181,7 @@ index c9b235f..176bd6a 100644
      fi
      if test x"$gpg_error_config_host" != xnone ; then
        if test x"$gpg_error_config_host" != x"$host" ; then
-@@ -174,15 +47,6 @@ AC_DEFUN([AM_PATH_GPG_ERROR],
+@@ -192,15 +48,6 @@ AC_DEFUN([AM_PATH_GPG_ERROR],
        fi
      fi
    else
@@ -179,6 +197,3 @@ index c9b235f..176bd6a 100644
 -  AC_SUBST(GPG_ERROR_MT_CFLAGS)
 -  AC_SUBST(GPG_ERROR_MT_LIBS)
  ])
--- 
-2.25.1
-
diff --git a/meta/recipes-support/libgpg-error/libgpg-error_1.41.bb b/meta/recipes-support/libgpg-error/libgpg-error_1.42.bb
similarity index 87%
rename from meta/recipes-support/libgpg-error/libgpg-error_1.41.bb
rename to meta/recipes-support/libgpg-error/libgpg-error_1.42.bb
index a0119729d8..c972d9a953 100644
--- a/meta/recipes-support/libgpg-error/libgpg-error_1.41.bb
+++ b/meta/recipes-support/libgpg-error/libgpg-error_1.42.bb
@@ -17,9 +17,11 @@ UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
 SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \
            file://pkgconfig.patch \
            file://0001-Do-not-fail-when-testing-config-scripts.patch \
+           file://fix-cross.patch \
+           file://0001-configure.ac-do-not-hardcode-gnu-libc-when-generatin.patch \
            "
 
-SRC_URI[sha256sum] = "64b078b45ac3c3003d7e352a5e05318880a5778c42331ce1ef33d1a0d9922742"
+SRC_URI[sha256sum] = "fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23"
 
 BINCONFIG = "${bindir}/gpg-error-config"
 
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 14/21] webkitgtk: update 2.32.0 -> 2.32.1
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (11 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 13/21] libgpg-error: update 1.41 -> 1.42 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 15/21] glib-2.0: update 2.68.1 -> 2.68.2 Alexander Kanavin
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Drop 49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch
(backport)
0001-Fix-build-with-musl.patch
(problem fixed upstream).

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...1-Enable-THREADS_PREFER_PTHREAD_FLAG.patch |   6 +-
 .../webkitgtk/0001-Fix-build-with-musl.patch  |  91 ----------
 ...9c49c6de8af74e521f36cb43e6c1ec2e391c.patch | 155 ------------------
 .../webkitgtk/musl-lower-stack-usage.patch    |  17 +-
 ...ebkitgtk_2.32.0.bb => webkitgtk_2.32.1.bb} |   4 +-
 5 files changed, 8 insertions(+), 265 deletions(-)
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
 delete mode 100644 meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch
 rename meta/recipes-sato/webkit/{webkitgtk_2.32.0.bb => webkitgtk_2.32.1.bb} (97%)

diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
index fd062e0f74..efe286ed6b 100644
--- a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
+++ b/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
@@ -1,4 +1,4 @@
-From 3ab2b8aa49c92a68610eef14be1fbf535109b0fb Mon Sep 17 00:00:00 2001
+From af90ae1f128626e8d57a8bcbc432596bfc2987af Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Mon, 3 Feb 2020 17:06:27 -0800
 Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG
@@ -20,11 +20,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
  2 files changed, 2 insertions(+)
 
 diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
-index 9eb44f1c..a24fdd0d 100644
+index af6c0fac..f393d741 100644
 --- a/Source/cmake/OptionsGTK.cmake
 +++ b/Source/cmake/OptionsGTK.cmake
 @@ -6,6 +6,7 @@ WEBKIT_OPTION_BEGIN()
- SET_PROJECT_VERSION(2 32 0)
+ SET_PROJECT_VERSION(2 32 1)
  
  set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
 +set(THREADS_PREFER_PTHREAD_FLAG ON)
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
deleted file mode 100644
index 1ccef1fdc8..0000000000
--- a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-with-musl.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 828a500d5be62ba6fc94bd4fac3fe4bf1b1d4f6d Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 6 Oct 2017 17:00:08 +0300
-Subject: [PATCH] Fix build with musl
-
-Upstream-Status: Accepted
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- Source/JavaScriptCore/runtime/MachineContext.h | 10 +++++-----
- Source/WTF/wtf/PlatformHave.h                  |  2 +-
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
---- a/Source/JavaScriptCore/runtime/MachineContext.h
-+++ b/Source/JavaScriptCore/runtime/MachineContext.h
-@@ -196,7 +196,7 @@ static inline void*& stackPointerImpl(mc
- #error Unknown Architecture
- #endif
- 
--#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
-+#elif defined(__linux__)
- 
- #if CPU(X86)
-     return reinterpret_cast<void*&>((uintptr_t&) machineContext.gregs[REG_ESP]);
-@@ -347,7 +347,7 @@ static inline void*& framePointerImpl(mc
- #error Unknown Architecture
- #endif
- 
--#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
-+#elif defined(__linux__)
- 
- // The following sequence depends on glibc's sys/ucontext.h.
- #if CPU(X86)
-@@ -498,7 +498,7 @@ static inline void*& instructionPointerI
- #error Unknown Architecture
- #endif
- 
--#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
-+#elif defined(__linux__)
- 
- // The following sequence depends on glibc's sys/ucontext.h.
- #if CPU(X86)
-@@ -656,7 +656,7 @@ inline void*& argumentPointer<1>(mcontex
- #error Unknown Architecture
- #endif
- 
--#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
-+#elif defined(__linux__)
- 
- // The following sequence depends on glibc's sys/ucontext.h.
- #if CPU(X86)
-@@ -773,7 +773,7 @@ inline void*& llintInstructionPointer(mc
- #error Unknown Architecture
- #endif
- 
--#elif OS(FUCHSIA) || defined(__GLIBC__) || defined(__BIONIC__)
-+#elif defined(__linux__)
- 
- // The following sequence depends on glibc's sys/ucontext.h.
- #if CPU(X86)
---- a/Source/WTF/wtf/PlatformHave.h
-+++ b/Source/WTF/wtf/PlatformHave.h
-@@ -202,7 +202,7 @@
- #define HAVE_HOSTED_CORE_ANIMATION 1
- #endif
- 
--#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
-+#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__linux__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
- #define HAVE_MACHINE_CONTEXT 1
- #endif
- 
---- a/Source/WebCore/xml/XPathGrammar.cpp
-+++ b/Source/WebCore/xml/XPathGrammar.cpp
-@@ -966,7 +966,7 @@ int yydebug;
- #if YYERROR_VERBOSE
- 
- # ifndef yystrlen
--#  if defined __GLIBC__ && defined _STRING_H
-+#  if defined __linux__ && defined _STRING_H
- #   define yystrlen strlen
- #  else
- /* Return the length of YYSTR.  */
-@@ -989,7 +989,7 @@ yystrlen (yystr)
- # endif
- 
- # ifndef yystpcpy
--#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
-+#  if defined __linux__ && defined _STRING_H && defined _GNU_SOURCE
- #   define yystpcpy stpcpy
- #  else
- /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
diff --git a/meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch b/meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch
deleted file mode 100644
index ef70361c55..0000000000
--- a/meta/recipes-sato/webkit/webkitgtk/49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From 49a19c49c6de8af74e521f36cb43e6c1ec2e391c Mon Sep 17 00:00:00 2001
-From: Ross Kirsling <ross.kirsling@sony.com>
-Date: Tue, 13 Apr 2021 02:04:15 +0000
-Subject: [PATCH] ICU 69 deprecates ubrk_safeClone in favor of ubrk_clone
- https://bugs.webkit.org/show_bug.cgi?id=224093
-
-Reviewed by Yusuke Suzuki.
-
-In a shining example of "disappointing library practices", ICU 69 deprecates ubrk_safeClone in favor of
-a new *draft* API ubrk_clone, meaning that no function with this functionality is exposed by default.
-
-This patch introduces a function cloneUBreakIterator to abstract over this change; however, since we need to:
-
-  1. confine the effects of disabling U_HIDE_DRAFT_API to a non-unified implementation file
-  2. still be able to include ubrk.h from IntlSegmenter.h to instantiate ICUDeleter<ubrk_close> (*not* `clone`!)
-
-...the new helper function is introduced in a *headerless* implementation file, IntlWorkaround.cpp.
-
-* JavaScriptCore.xcodeproj/project.pbxproj:
-* Sources.txt:
-* runtime/IntlSegmenter.cpp:
-(JSC::IntlSegmenter::segment const):
-* runtime/IntlSegmenter.h:
-* runtime/IntlSegments.cpp:
-(JSC::IntlSegments::createSegmentIterator):
-* runtime/IntlWorkaround.cpp: Added.
-(JSC::cloneUBreakIterator):
-
-
-Canonical link: https://commits.webkit.org/236421@main
-git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275856 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- Source/JavaScriptCore/ChangeLog               | 27 ++++++++++
- .../JavaScriptCore.xcodeproj/project.pbxproj  | 16 +++---
- Source/JavaScriptCore/Sources.txt             |  1 +
- .../JavaScriptCore/runtime/IntlSegmenter.cpp  |  2 +-
- Source/JavaScriptCore/runtime/IntlSegmenter.h |  4 ++
- .../JavaScriptCore/runtime/IntlSegments.cpp   |  2 +-
- .../JavaScriptCore/runtime/IntlWorkaround.cpp | 53 +++++++++++++++++++
- 7 files changed, 97 insertions(+), 8 deletions(-)
- create mode 100644 Source/JavaScriptCore/runtime/IntlWorkaround.cpp
-
-diff --git a/Source/JavaScriptCore/Sources.txt b/Source/JavaScriptCore/Sources.txt
-index 28b5b83632b9..b6492dfdcb75 100644
---- a/Source/JavaScriptCore/Sources.txt
-+++ b/Source/JavaScriptCore/Sources.txt
-@@ -849,6 +849,7 @@ runtime/IntlSegmenterConstructor.cpp
- runtime/IntlSegmenterPrototype.cpp
- runtime/IntlSegments.cpp
- runtime/IntlSegmentsPrototype.cpp
-+runtime/IntlWorkaround.cpp @no-unify // Confine U_HIDE_DRAFT_API's effect to this file.
- runtime/IteratorOperations.cpp
- runtime/IteratorPrototype.cpp
- runtime/JSArray.cpp
-diff --git a/Source/JavaScriptCore/runtime/IntlSegmenter.cpp b/Source/JavaScriptCore/runtime/IntlSegmenter.cpp
-index 2ad74f94bbe8..93c9b2032847 100644
---- a/Source/JavaScriptCore/runtime/IntlSegmenter.cpp
-+++ b/Source/JavaScriptCore/runtime/IntlSegmenter.cpp
-@@ -125,7 +125,7 @@ JSValue IntlSegmenter::segment(JSGlobalObject* globalObject, JSValue stringValue
-     auto upconvertedCharacters = Box<Vector<UChar>>::create(string.charactersWithoutNullTermination());
- 
-     UErrorCode status = U_ZERO_ERROR;
--    auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(ubrk_safeClone(m_segmenter.get(), nullptr, nullptr, &status));
-+    auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(cloneUBreakIterator(m_segmenter.get(), &status));
-     if (U_FAILURE(status)) {
-         throwTypeError(globalObject, scope, "failed to initialize Segments"_s);
-         return { };
-diff --git a/Source/JavaScriptCore/runtime/IntlSegmenter.h b/Source/JavaScriptCore/runtime/IntlSegmenter.h
-index cd0f426c4897..a5239575a9f3 100644
---- a/Source/JavaScriptCore/runtime/IntlSegmenter.h
-+++ b/Source/JavaScriptCore/runtime/IntlSegmenter.h
-@@ -75,4 +75,8 @@ class IntlSegmenter final : public JSNonFinalObject {
-     Granularity m_granularity { Granularity::Grapheme };
- };
- 
-+// Abstraction to call ubrk_safeClone or ubrk_clone depending on ICU version.
-+// This is implemented in IntlWorkaround.cpp in order to confine draft API visibility.
-+UBreakIterator* cloneUBreakIterator(const UBreakIterator*, UErrorCode*);
-+
- } // namespace JSC
-diff --git a/Source/JavaScriptCore/runtime/IntlSegments.cpp b/Source/JavaScriptCore/runtime/IntlSegments.cpp
-index b6aba32fb822..8b81791e4133 100644
---- a/Source/JavaScriptCore/runtime/IntlSegments.cpp
-+++ b/Source/JavaScriptCore/runtime/IntlSegments.cpp
-@@ -100,7 +100,7 @@ JSObject* IntlSegments::createSegmentIterator(JSGlobalObject* globalObject)
-     auto scope = DECLARE_THROW_SCOPE(vm);
- 
-     UErrorCode status = U_ZERO_ERROR;
--    auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(ubrk_safeClone(m_segmenter.get(), nullptr, nullptr, &status));
-+    auto segmenter = std::unique_ptr<UBreakIterator, UBreakIteratorDeleter>(cloneUBreakIterator(m_segmenter.get(), &status));
-     if (U_FAILURE(status)) {
-         throwTypeError(globalObject, scope, "failed to initialize SegmentIterator"_s);
-         return nullptr;
-diff --git a/Source/JavaScriptCore/runtime/IntlWorkaround.cpp b/Source/JavaScriptCore/runtime/IntlWorkaround.cpp
-new file mode 100644
-index 000000000000..8d820857ec22
---- /dev/null
-+++ b/Source/JavaScriptCore/runtime/IntlWorkaround.cpp
-@@ -0,0 +1,53 @@
-+/*
-+ * Copyright (C) 2021 Sony Interactive Entertainment Inc.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ *    notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ *    notice, this list of conditions and the following disclaimer in the
-+ *    documentation and/or other materials provided with the distribution.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
-+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
-+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-+ * THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include "config.h"
-+
-+#include <unicode/uvernum.h>
-+
-+// ICU 69 introduces draft API ubrk_clone and deprecates ubrk_safeClone.
-+#if U_ICU_VERSION_MAJOR_NUM >= 69
-+#define HAVE_ICU_UBRK_CLONE 1
-+#endif
-+
-+#if defined(U_HIDE_DRAFT_API)
-+#undef U_HIDE_DRAFT_API
-+#endif
-+#include <unicode/ubrk.h>
-+
-+namespace JSC {
-+
-+UBreakIterator* cloneUBreakIterator(const UBreakIterator*, UErrorCode*);
-+
-+UBreakIterator* cloneUBreakIterator(const UBreakIterator* iterator, UErrorCode* status)
-+{
-+#if HAVE(ICU_UBRK_CLONE)
-+    return ubrk_clone(iterator, status);
-+#else
-+    return ubrk_safeClone(iterator, nullptr, nullptr, status);
-+#endif
-+}
-+
-+} // namespace JSC
diff --git a/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch b/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch
index e4b5818358..f71f8452fd 100644
--- a/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch
+++ b/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch
@@ -1,4 +1,4 @@
-From 5c82d20a00749e9106db78cdd23a09609dd3511c Mon Sep 17 00:00:00 2001
+From 04e4999c6fa2e9810634745a07f1e380f27b8e61 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 17 Mar 2021 13:24:57 -0700
 Subject: [PATCH] reduce thread stack and heap usage for javascriptcore on musl
@@ -20,12 +20,12 @@ Upstream-Status: Accepted
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 
 ---
- Source/JavaScriptCore/runtime/OptionsList.h | 20 ++++++++++++++++----
+ Source/JavaScriptCore/runtime/OptionsList.h | 18 +++++++++++++++---
  Source/WTF/wtf/Threading.h                  |  4 ++++
- 2 files changed, 20 insertions(+), 4 deletions(-)
+ 2 files changed, 19 insertions(+), 3 deletions(-)
 
 diff --git a/Source/JavaScriptCore/runtime/OptionsList.h b/Source/JavaScriptCore/runtime/OptionsList.h
-index bc1cedb9..a6209742 100644
+index bb6d2f1d..a6209742 100644
 --- a/Source/JavaScriptCore/runtime/OptionsList.h
 +++ b/Source/JavaScriptCore/runtime/OptionsList.h
 @@ -71,6 +71,18 @@ JS_EXPORT_PRIVATE bool canUseJITCage();
@@ -60,15 +60,6 @@ index bc1cedb9..a6209742 100644
      \
      v(Bool, crashOnDisallowedVMEntry, ASSERT_ENABLED, Normal, "Forces a crash if we attempt to enter the VM when disallowed") \
      v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \
-@@ -608,7 +620,7 @@ public:
-     bool init(const char*);
-     bool isInRange(unsigned);
-     const char* rangeString() const { return (m_state > InitError) ? m_rangeString : s_nullRangeStr; }
--    
-+
-     void dump(PrintStream& out) const;
- 
- private:
 diff --git a/Source/WTF/wtf/Threading.h b/Source/WTF/wtf/Threading.h
 index 9495d6c1..190b3811 100644
 --- a/Source/WTF/wtf/Threading.h
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.32.0.bb b/meta/recipes-sato/webkit/webkitgtk_2.32.1.bb
similarity index 97%
rename from meta/recipes-sato/webkit/webkitgtk_2.32.0.bb
rename to meta/recipes-sato/webkit/webkitgtk_2.32.1.bb
index 31a6c97a32..7abf96c252 100644
--- a/meta/recipes-sato/webkit/webkitgtk_2.32.0.bb
+++ b/meta/recipes-sato/webkit/webkitgtk_2.32.1.bb
@@ -15,16 +15,14 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
            file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \
            file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \
            file://0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch \
-           file://0001-Fix-build-with-musl.patch \
            file://include_xutil.patch \
            file://reduce-memory-overheads.patch \
            file://musl-lower-stack-usage.patch \
            file://0001-MiniBrowser-Fix-reproduciblity.patch \
-           file://49a19c49c6de8af74e521f36cb43e6c1ec2e391c.patch \
            file://0001-Properly-use-CompletionHandler-when-USE_OPENGL_OR_ES.patch \
            "
 
-SRC_URI[sha256sum] = "9d7df4dae9ada2394257565acc2a68ace9308c4c61c3fcc00111dc1f11076bf0"
+SRC_URI[sha256sum] = "136117317f70f66486f71b8edf5e46f8776403c5d8a296e914b11a36ef836917"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
 
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 15/21] glib-2.0: update 2.68.1 -> 2.68.2
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (12 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 14/21] webkitgtk: update 2.32.0 -> 2.32.1 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 16/21] apt: upgrade 2.2.2 -> 2.2.3 Alexander Kanavin
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch  | 6 +++---
 .../glib-2.0/{glib-2.0_2.68.1.bb => glib-2.0_2.68.2.bb}     | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)
 rename meta/recipes-core/glib-2.0/{glib-2.0_2.68.1.bb => glib-2.0_2.68.2.bb} (96%)

diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index 7cf89c8718..7fbc07af58 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
@@ -1,4 +1,4 @@
-From ff790dd7086e28896f8e7630135f756cc6f06c80 Mon Sep 17 00:00:00 2001
+From b7abbba886d3743616f8cc0e8b441c879128bbda Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Fri, 11 Mar 2016 15:35:55 +0000
 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
@@ -19,7 +19,7 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
  1 file changed, 11 insertions(+), 1 deletion(-)
 
 diff --git a/gio/giomodule.c b/gio/giomodule.c
-index ca1daf2..954a250 100644
+index a2909a8..1f4ab82 100644
 --- a/gio/giomodule.c
 +++ b/gio/giomodule.c
 @@ -51,6 +51,8 @@
@@ -31,7 +31,7 @@ index ca1daf2..954a250 100644
  #endif
  #include <glib/gstdio.h>
  
-@@ -1212,7 +1214,15 @@ get_gio_module_dir (void)
+@@ -1213,7 +1215,15 @@ get_gio_module_dir (void)
                                       NULL);
        g_free (install_dir);
  #else
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb
similarity index 96%
rename from meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb
rename to meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb
index accc2cada2..0cf16884ef 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.68.1.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.68.2.bb
@@ -20,7 +20,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
            "
 SRC_URI_append_class-native = " file://relocate-modules.patch"
 
-SRC_URI[sha256sum] = "241654b96bd36b88aaa12814efc4843b578e55d47440103727959ac346944333"
+SRC_URI[sha256sum] = "ecc7798a9cc034eabdfd7f246e6dd461cdbf1175fcc2e9867cc7da7b7309e0fb"
 
 # Find any meson cross files in FILESPATH that are relevant for the current
 # build (using siteinfo) and add them to EXTRA_OEMESON.
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 16/21] apt: upgrade 2.2.2 -> 2.2.3
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (13 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 15/21] glib-2.0: update 2.68.1 -> 2.68.2 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 17/21] cmake: update 3.20.1 -> 3.20.2 Alexander Kanavin
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../apt/0001-Do-not-init-tables-from-dpkg-configuration.patch   | 2 +-
 ...1-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch | 2 +-
 meta/recipes-devtools/apt/{apt_2.2.2.bb => apt_2.2.3.bb}        | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
 rename meta/recipes-devtools/apt/{apt_2.2.2.bb => apt_2.2.3.bb} (97%)

diff --git a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
index e0e7e0cd58..a9a8eb6306 100644
--- a/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
+++ b/meta/recipes-devtools/apt/apt/0001-Do-not-init-tables-from-dpkg-configuration.patch
@@ -1,4 +1,4 @@
-From 382f8381ef8baf754057e376a6d9bf840ca6d543 Mon Sep 17 00:00:00 2001
+From 5fb6355c7dd00c97fe90e805ace075b6e9b6952d Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Fri, 10 May 2019 16:47:38 +0200
 Subject: [PATCH] Do not init tables from dpkg configuration
diff --git a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
index c14dc2a414..34d0c4b4cd 100644
--- a/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
+++ b/meta/recipes-devtools/apt/apt/0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch
@@ -1,4 +1,4 @@
-From a603b3281f3f60a87531c8cec4843f970170d409 Mon Sep 17 00:00:00 2001
+From 76f8386cac7f13688b386686e0b1fc4b1b574f53 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Thu, 21 May 2020 20:13:25 +0000
 Subject: [PATCH] Revert "always run 'dpkg --configure -a' at the end of our
diff --git a/meta/recipes-devtools/apt/apt_2.2.2.bb b/meta/recipes-devtools/apt/apt_2.2.3.bb
similarity index 97%
rename from meta/recipes-devtools/apt/apt_2.2.2.bb
rename to meta/recipes-devtools/apt/apt_2.2.3.bb
index 192aec46bf..ff9270c4b3 100644
--- a/meta/recipes-devtools/apt/apt_2.2.2.bb
+++ b/meta/recipes-devtools/apt/apt_2.2.3.bb
@@ -25,7 +25,7 @@ SRC_URI_append_class-nativesdk = " \
            file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
            "
 
-SRC_URI[sha256sum] = "c5449a4c2126a12497a9949cd10209926005d329f6ce7942a3781fa2fcf50487"
+SRC_URI[sha256sum] = "2880474bc08c79f103cd30d24a9c30c78b480c65076e466d24df93b9fa05ab27"
 LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 # the package is taken from snapshots.debian.org; that source is static and goes stale
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 17/21] cmake: update 3.20.1 -> 3.20.2
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (14 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 16/21] apt: upgrade 2.2.2 -> 2.2.3 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 18/21] libdnf: update 0.62.0 -> 0.63.0 Alexander Kanavin
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../cmake/{cmake-native_3.20.1.bb => cmake-native_3.20.2.bb}  | 0
 meta/recipes-devtools/cmake/cmake.inc                         | 2 +-
 ...CMakeDetermineSystem-use-oe-environment-vars-to-load.patch | 4 ++--
 .../cmake/{cmake_3.20.1.bb => cmake_3.20.2.bb}                | 0
 4 files changed, 3 insertions(+), 3 deletions(-)
 rename meta/recipes-devtools/cmake/{cmake-native_3.20.1.bb => cmake-native_3.20.2.bb} (100%)
 rename meta/recipes-devtools/cmake/{cmake_3.20.1.bb => cmake_3.20.2.bb} (100%)

diff --git a/meta/recipes-devtools/cmake/cmake-native_3.20.1.bb b/meta/recipes-devtools/cmake/cmake-native_3.20.2.bb
similarity index 100%
rename from meta/recipes-devtools/cmake/cmake-native_3.20.1.bb
rename to meta/recipes-devtools/cmake/cmake-native_3.20.2.bb
diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc
index 2e6059f980..be43760628 100644
--- a/meta/recipes-devtools/cmake/cmake.inc
+++ b/meta/recipes-devtools/cmake/cmake.inc
@@ -21,7 +21,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
            file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
 "
 
-SRC_URI[sha256sum] = "3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0"
+SRC_URI[sha256sum] = "aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e"
 
 UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch b/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
index 06e10bf861..9609f5f7c2 100644
--- a/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
+++ b/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
@@ -1,4 +1,4 @@
-From ac9b8d316ff3e013bc9d3c063db99aa1f064ce6a Mon Sep 17 00:00:00 2001
+From e75f76b00cc9c1cfc231c5e731e975552f5dd13e Mon Sep 17 00:00:00 2001
 From: Cody P Schafer <dev@codyps.com>
 Date: Thu, 27 Apr 2017 11:35:05 -0400
 Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default
@@ -25,7 +25,7 @@ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
  1 file changed, 7 insertions(+)
 
 diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
-index bae270d..5bb6bc0 100644
+index bae270de..5bb6bc0d 100644
 --- a/Modules/CMakeDetermineSystem.cmake
 +++ b/Modules/CMakeDetermineSystem.cmake
 @@ -111,6 +111,13 @@ else()
diff --git a/meta/recipes-devtools/cmake/cmake_3.20.1.bb b/meta/recipes-devtools/cmake/cmake_3.20.2.bb
similarity index 100%
rename from meta/recipes-devtools/cmake/cmake_3.20.1.bb
rename to meta/recipes-devtools/cmake/cmake_3.20.2.bb
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 18/21] libdnf: update 0.62.0 -> 0.63.0
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (15 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 17/21] cmake: update 3.20.1 -> 3.20.2 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-28  2:49   ` [OE-core] " Chen Qi
  2021-05-24  9:13 ` [PATCH 19/21] harfbuzz: update 2.8.0 -> 2.8.1 Alexander Kanavin
                   ` (2 subsequent siblings)
  19 siblings, 1 reply; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../libdnf/{libdnf_0.62.0.bb => libdnf_0.63.0.bb}             | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-devtools/libdnf/{libdnf_0.62.0.bb => libdnf_0.63.0.bb} (94%)

diff --git a/meta/recipes-devtools/libdnf/libdnf_0.62.0.bb b/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb
similarity index 94%
rename from meta/recipes-devtools/libdnf/libdnf_0.62.0.bb
rename to meta/recipes-devtools/libdnf/libdnf_0.63.0.bb
index e2c2c41c6a..79e8865456 100644
--- a/meta/recipes-devtools/libdnf/libdnf_0.62.0.bb
+++ b/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb
@@ -14,8 +14,8 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \
            file://0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch \
            "
 
-SRCREV = "9a0e17562b19586b3ffa70fa93eb961b558794c7"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+SRCREV = "669a5c691acba91693d238d6262ac99a440aa9b3"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
 
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 19/21] harfbuzz: update 2.8.0 -> 2.8.1
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (16 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 18/21] libdnf: update 0.62.0 -> 0.63.0 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 20/21] curl: update 7.76.0 -> 7.76.1 Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 21/21] systemtap: update 4.4 -> 4.5 Alexander Kanavin
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

fontconfig option has been removed upstream as fontconfig
hasn't been used for anything.

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 .../harfbuzz/{harfbuzz_2.8.0.bb => harfbuzz_2.8.1.bb}        | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
 rename meta/recipes-graphics/harfbuzz/{harfbuzz_2.8.0.bb => harfbuzz_2.8.1.bb} (89%)

diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.0.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb
similarity index 89%
rename from meta/recipes-graphics/harfbuzz/harfbuzz_2.8.0.bb
rename to meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb
index 6e3fed7357..2353633071 100644
--- a/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.0.bb
+++ b/meta/recipes-graphics/harfbuzz/harfbuzz_2.8.1.bb
@@ -12,7 +12,7 @@ UPSTREAM_CHECK_REGEX = "harfbuzz-(?P<pver>\d+(\.\d+)+).tar"
 
 SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \
            "
-SRC_URI[sha256sum] = "a1079fd021adaf5683351f34587a255975cc3bcadba31246ae40ebebb95ecd42"
+SRC_URI[sha256sum] = "4124f663ec4bf4e294d9cf230668370b4249a48ff34deaf0f06e8fc82d891300"
 
 inherit meson pkgconfig lib_package gtk-doc gobject-introspection
 
@@ -21,9 +21,8 @@ GIR_MESON_DISABLE_FLAG = 'disabled'
 GTKDOC_MESON_ENABLE_FLAG = 'enabled'
 GTKDOC_MESON_DISABLE_FLAG = 'disabled'
 
-PACKAGECONFIG ??= "cairo fontconfig freetype glib icu"
+PACKAGECONFIG ??= "cairo freetype glib icu"
 PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
-PACKAGECONFIG[fontconfig] = "-Dfontconfig=enabled,-Dfontconfig=disabled,fontconfig"
 PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype"
 PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0"
 PACKAGECONFIG[graphite] = "-Dgraphite=enabled,-Dgraphite=disabled,graphite2"
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 20/21] curl: update 7.76.0 -> 7.76.1
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (17 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 19/21] harfbuzz: update 2.8.0 -> 2.8.1 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  2021-05-24  9:13 ` [PATCH 21/21] systemtap: update 4.4 -> 4.5 Alexander Kanavin
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 meta/recipes-support/curl/{curl_7.76.0.bb => curl_7.76.1.bb} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-support/curl/{curl_7.76.0.bb => curl_7.76.1.bb} (97%)

diff --git a/meta/recipes-support/curl/curl_7.76.0.bb b/meta/recipes-support/curl/curl_7.76.1.bb
similarity index 97%
rename from meta/recipes-support/curl/curl_7.76.0.bb
rename to meta/recipes-support/curl/curl_7.76.1.bb
index db6318148f..4e2c277010 100644
--- a/meta/recipes-support/curl/curl_7.76.0.bb
+++ b/meta/recipes-support/curl/curl_7.76.1.bb
@@ -13,7 +13,7 @@ SRC_URI = "https://curl.haxx.se/download/curl-${PV}.tar.bz2 \
            file://0001-replace-krb5-config-with-pkg-config.patch \
 "
 
-SRC_URI[sha256sum] = "e29bfe3633701590d75b0071bbb649ee5ca4ca73f00649268bd389639531c49a"
+SRC_URI[sha256sum] = "7a8e184d7d31312c4ebf6a8cb59cd757e61b2b2833a9ed4f9bf708066e7695e9"
 
 # Curl has used many names over the years...
 CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 21/21] systemtap: update 4.4 -> 4.5
  2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
                   ` (18 preceding siblings ...)
  2021-05-24  9:13 ` [PATCH 20/21] curl: update 7.76.0 -> 7.76.1 Alexander Kanavin
@ 2021-05-24  9:13 ` Alexander Kanavin
  19 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-24  9:13 UTC (permalink / raw)
  To: openembedded-core; +Cc: Alexander Kanavin

Drop 0001-transport-protect-include-and-callsite-with-same-con.patch
as upstream made the same change:
https://sourceware.org/git/?p=systemtap.git;a=commitdiff;h=0d80048e02ecf6876c9f9ebeea387af9fb2a8051

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
 ...t-include-and-callsite-with-same-con.patch | 44 -------------------
 .../systemtap/systemtap_git.inc               |  5 +--
 2 files changed, 2 insertions(+), 47 deletions(-)
 delete mode 100644 meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch

diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch b/meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch
deleted file mode 100644
index efc79f6c0f..0000000000
--- a/meta/recipes-kernel/systemtap/systemtap/0001-transport-protect-include-and-callsite-with-same-con.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From cbf27cd54071f788231e69d96dbaad563f1010d4 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@gmail.com>
-Date: Fri, 18 Dec 2020 13:15:08 -0500
-Subject: [PATCH] transport: protect include and callsite with same conditional
-
-transport.c has the following code block:
-
-  if (!debugfs_p && security_locked_down (LOCKDOWN_DEBUGFS))
-
-Which is protected by the conditional STAPCONF_LOCKDOWN_DEBUGFS.
-
-linux/security.h provides the definition of LOCKDOWN_DEBUGFS, and
-must be included or we have a compilation issue.
-
-The include of security.h is protected by #ifdef CONFIG_SECURITY_LOCKDOWN_LSM,
-which means that in some configurations we can get out of sync with
-the include and the callsite.
-
-If we protect the include and the callsite with the same #ifdef, we can
-be sure that they will be consistent.
-
-Upstream-status: Inappropriate (kernel-devsrc specific)
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
----
- runtime/transport/transport.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/runtime/transport/transport.c b/runtime/transport/transport.c
-index bb4a98bd3..88e20ea28 100644
---- a/runtime/transport/transport.c
-+++ b/runtime/transport/transport.c
-@@ -21,7 +21,7 @@
- #include <linux/namei.h>
- #include <linux/delay.h>
- #include <linux/mutex.h>
--#ifdef CONFIG_SECURITY_LOCKDOWN_LSM
-+#ifdef STAPCONF_LOCKDOWN_DEBUGFS
- #include <linux/security.h>
- #endif
- #include "../uidgid_compatibility.h"
--- 
-2.19.1
-
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc
index 016b423847..23ecc61987 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -1,13 +1,12 @@
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRCREV = "988f439af39a359b4387963ca4633649866d8275"
-PV = "4.4"
+SRCREV = "0eba8a46bc99c66e5dd274a9a4d661fe08ac4b8a"
+PV = "4.5"
 
 SRC_URI = "git://sourceware.org/git/systemtap.git \
            file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \
            file://0001-Install-python-modules-to-correct-library-dir.patch \
            file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \
-           file://0001-transport-protect-include-and-callsite-with-same-con.patch \
            "
 
 COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips).*-linux'
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [OE-core] [PATCH 02/21] systemd: update 247.6 -> 248.3
  2021-05-24  9:13 ` [PATCH 02/21] systemd: update 247.6 -> 248.3 Alexander Kanavin
@ 2021-05-25  0:18   ` Khem Raj
  2021-05-25  1:40     ` Khem Raj
  0 siblings, 1 reply; 29+ messages in thread
From: Khem Raj @ 2021-05-25  0:18 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

Fails to compile for musl

https://errors.yoctoproject.org/Errors/Details/585507/

src/basic/percent-util.c source file needs to include

#include "missing_stdlib.h"

like other files in 0005-src-basic-missing.h-check-for-missing-strndupa.patch

On Mon, May 24, 2021 at 2:14 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Drop backports:
> 48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> 7c5fd25119a495009ea62f79e5daec34cc464628.patch
> 0001-analyze-resolve-executable-path-if-it-is-relative.patch
> 0001-analyze-resolve-executable-path-if-it-is-relative.patch
>
> Drop 0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> as difficult to rebase; please resend if you feel strongly that
> it is needed.
>
> Rebase the big pile of musl patches.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>  ...f0a2af3f62acd446ebec8081b039b72caad8.patch | 179 --------------
>  ...d25119a495009ea62f79e5daec34cc464628.patch |  53 ----
>  ...md-boot_247.6.bb => systemd-boot_248.3.bb} |   0
>  meta/recipes-core/systemd/systemd.inc         |   6 +-
>  ...ve-executable-path-if-it-is-relative.patch |  39 ---
>  ...chvt-as-non-root-user-without-polkit.patch | 227 ------------------
>  ...002-don-t-use-glibc-specific-qsort_r.patch |  29 ++-
>  ...dd-__compare_fn_t-and-comparison_fn_.patch |  26 +-
>  ...k-parse_printf_format-implementation.patch |  46 ++--
>  ...missing.h-check-for-missing-strndupa.patch | 204 ++++++++++++----
>  .../0006-Include-netinet-if_ether.h.patch     |  56 +++--
>  ...OB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch |  17 +-
>  ...008-add-missing-FTW_-macros-for-musl.patch |   8 +-
>  ..._register_atfork-for-non-glibc-build.patch |  12 +-
>  ...10-Use-uintmax_t-for-handling-rlim_t.patch |  18 +-
>  ...sable-tests-for-missing-typedefs-in-.patch |   9 +-
>  ...T_SYMLINK_NOFOLLOW-flag-to-faccessat.patch |  19 +-
>  ...patible-basename-for-non-glibc-syste.patch |  11 +-
>  ...uffering-when-writing-to-oom_score_a.patch |  12 +-
>  ...compliant-strerror_r-from-GNU-specif.patch |  46 ++--
>  ...S_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch |   8 +-
>  ...ype.h-add-__compar_d_fn_t-definition.patch |   8 +-
>  ...definition-of-prctl_mm_map-structure.patch |   8 +-
>  .../systemd/0019-Handle-missing-LOCK_EX.patch |  10 +-
>  ...ible-pointer-type-struct-sockaddr_un.patch |  12 +-
>  .../0021-test-json.c-define-M_PIl.patch       |   8 +-
>  ...-not-disable-buffer-in-writing-files.patch | 116 ++++-----
>  .../0025-Handle-__cpu_mask-usage.patch        |   8 +-
>  .../systemd/0026-Handle-missing-gshadow.patch |  20 +-
>  ...r-mount-error-with-invalid-options-o.patch |  97 --------
>  ...l.h-Define-MIPS-ABI-defines-for-musl.patch |  16 +-
>  .../{systemd_247.6.bb => systemd_248.3.bb}    |  11 +-
>  32 files changed, 388 insertions(+), 951 deletions(-)
>  delete mode 100644 meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
>  delete mode 100644 meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
>  rename meta/recipes-core/systemd/{systemd-boot_247.6.bb => systemd-boot_248.3.bb} (100%)
>  delete mode 100644 meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
>  delete mode 100644 meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
>  delete mode 100644 meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
>  rename meta/recipes-core/systemd/{systemd_247.6.bb => systemd_248.3.bb} (99%)
>
> diff --git a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch b/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> deleted file mode 100644
> index e3ce296741..0000000000
> --- a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> +++ /dev/null
> @@ -1,179 +0,0 @@
> -From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00 2001
> -From: Daan De Meyer <daan.j.demeyer@gmail.com>
> -Date: Fri, 12 Mar 2021 22:09:44 +0000
> -Subject: [PATCH] boot: Move console declarations to missing_efi.h
> -
> -These were added to eficonex.h in gnu-efi 3.0.13. Let's move them
> -to missing_efi.h behind an appropriate guard to fix the build with
> -recent versions of gnu-efi.
> -
> -(cherry picked from commit 95ba433a5f34baf92921fb58051bc8241f908c0e)
> -
> -Upstream-Status: Backport
> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ----
> - src/boot/efi/console.c     | 57 --------------------------------
> - src/boot/efi/console.h     |  6 +---
> - src/boot/efi/missing_efi.h | 67 ++++++++++++++++++++++++++++++++++++++
> - 3 files changed, 68 insertions(+), 62 deletions(-)
> -
> -diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
> -index 2dd4543d51..1d6dfeeea2 100644
> ---- a/src/boot/efi/console.c
> -+++ b/src/boot/efi/console.c
> -@@ -9,63 +9,6 @@
> - #define SYSTEM_FONT_WIDTH 8
> - #define SYSTEM_FONT_HEIGHT 19
> -
> --#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
> --        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
> --
> --struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> --
> --typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
> --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> --        BOOLEAN ExtendedVerification
> --);
> --
> --typedef UINT8 EFI_KEY_TOGGLE_STATE;
> --
> --typedef struct {
> --        UINT32 KeyShiftState;
> --        EFI_KEY_TOGGLE_STATE KeyToggleState;
> --} EFI_KEY_STATE;
> --
> --typedef struct {
> --        EFI_INPUT_KEY Key;
> --        EFI_KEY_STATE KeyState;
> --} EFI_KEY_DATA;
> --
> --typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
> --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> --        EFI_KEY_DATA *KeyData
> --);
> --
> --typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
> --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> --        EFI_KEY_TOGGLE_STATE *KeyToggleState
> --);
> --
> --typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
> --        EFI_KEY_DATA *KeyData
> --);
> --
> --typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
> --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> --        EFI_KEY_DATA KeyData,
> --        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
> --        VOID **NotifyHandle
> --);
> --
> --typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
> --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> --        VOID *NotificationHandle
> --);
> --
> --typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
> --        EFI_INPUT_RESET_EX Reset;
> --        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
> --        EFI_EVENT WaitForKeyEx;
> --        EFI_SET_STATE SetState;
> --        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
> --        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
> --} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> --
> - EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
> -         EFI_GUID EfiSimpleTextInputExProtocolGuid = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
> -         static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
> -diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
> -index 41df3a406e..2c69af552a 100644
> ---- a/src/boot/efi/console.h
> -+++ b/src/boot/efi/console.h
> -@@ -1,11 +1,7 @@
> - /* SPDX-License-Identifier: LGPL-2.1-or-later */
> - #pragma once
> -
> --#define EFI_SHIFT_STATE_VALID           0x80000000
> --#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
> --#define EFI_LEFT_CONTROL_PRESSED        0x00000008
> --#define EFI_RIGHT_ALT_PRESSED           0x00000010
> --#define EFI_LEFT_ALT_PRESSED            0x00000020
> -+#include "missing_efi.h"
> -
> - #define EFI_CONTROL_PRESSED             (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED)
> - #define EFI_ALT_PRESSED                 (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED)
> -diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h
> -index 1b838af2a4..b6aae1eb5b 100644
> ---- a/src/boot/efi/missing_efi.h
> -+++ b/src/boot/efi/missing_efi.h
> -@@ -53,3 +53,70 @@ typedef struct _EFI_RNG_PROTOCOL {
> - } EFI_RNG_PROTOCOL;
> -
> - #endif
> -+
> -+#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
> -+
> -+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
> -+        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
> -+
> -+#define EFI_SHIFT_STATE_VALID           0x80000000
> -+#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
> -+#define EFI_LEFT_CONTROL_PRESSED        0x00000008
> -+#define EFI_RIGHT_ALT_PRESSED           0x00000010
> -+#define EFI_LEFT_ALT_PRESSED            0x00000020
> -+
> -+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> -+
> -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
> -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> -+        BOOLEAN ExtendedVerification
> -+);
> -+
> -+typedef UINT8 EFI_KEY_TOGGLE_STATE;
> -+
> -+typedef struct {
> -+        UINT32 KeyShiftState;
> -+        EFI_KEY_TOGGLE_STATE KeyToggleState;
> -+} EFI_KEY_STATE;
> -+
> -+typedef struct {
> -+        EFI_INPUT_KEY Key;
> -+        EFI_KEY_STATE KeyState;
> -+} EFI_KEY_DATA;
> -+
> -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
> -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> -+        EFI_KEY_DATA *KeyData
> -+);
> -+
> -+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
> -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> -+        EFI_KEY_TOGGLE_STATE *KeyToggleState
> -+);
> -+
> -+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
> -+        EFI_KEY_DATA *KeyData
> -+);
> -+
> -+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
> -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> -+        EFI_KEY_DATA KeyData,
> -+        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
> -+        VOID **NotifyHandle
> -+);
> -+
> -+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
> -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> -+        VOID *NotificationHandle
> -+);
> -+
> -+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
> -+        EFI_INPUT_RESET_EX Reset;
> -+        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
> -+        EFI_EVENT WaitForKeyEx;
> -+        EFI_SET_STATE SetState;
> -+        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
> -+        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
> -+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> -+
> -+#endif
> diff --git a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch b/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> deleted file mode 100644
> index ae449791f1..0000000000
> --- a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -From 7c5fd25119a495009ea62f79e5daec34cc464628 Mon Sep 17 00:00:00 2001
> -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
> -Date: Mon, 12 Apr 2021 14:03:32 +0200
> -Subject: [PATCH] meson: do not fail if rsync is not installed with meson
> - 0.57.2
> -
> -https://github.com/mesonbuild/meson/issues/8641
> -
> -Our CI started to fail. Even if the change is reverted in meson,
> -we need a quick workaround here.
> -
> -Upstream-Status: Backport
> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ----
> - man/meson.build | 25 ++++++++++++++-----------
> - 1 file changed, 14 insertions(+), 11 deletions(-)
> -
> -diff --git a/man/meson.build b/man/meson.build
> -index 3cae8446cda..f9c4b83dc81 100644
> ---- a/man/meson.build
> -+++ b/man/meson.build
> -@@ -184,17 +184,20 @@ html = custom_target(
> -         depends : html_pages,
> -         command : ['echo'])
> -
> --run_target(
> --        'doc-sync',
> --        depends : man_pages + html_pages,
> --        command : ['rsync', '-rlv',
> --                   '--delete-excluded',
> --                   '--include=man',
> --                   '--include=*.html',
> --                   '--exclude=*',
> --                   '--omit-dir-times',
> --                   meson.current_build_dir(),
> --                   get_option('www-target')])
> -+rsync = find_program('rsync', required : false)
> -+if rsync.found()
> -+        run_target(
> -+                'doc-sync',
> -+                depends : man_pages + html_pages,
> -+                command : [rsync, '-rlv',
> -+                           '--delete-excluded',
> -+                           '--include=man',
> -+                           '--include=*.html',
> -+                           '--exclude=*',
> -+                           '--omit-dir-times',
> -+                           meson.current_build_dir(),
> -+                           get_option('www-target')])
> -+endif
> -
> - ############################################################
> -
> diff --git a/meta/recipes-core/systemd/systemd-boot_247.6.bb b/meta/recipes-core/systemd/systemd-boot_248.3.bb
> similarity index 100%
> rename from meta/recipes-core/systemd/systemd-boot_247.6.bb
> rename to meta/recipes-core/systemd/systemd-boot_248.3.bb
> diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
> index 88dddb309c..0524a25008 100644
> --- a/meta/recipes-core/systemd/systemd.inc
> +++ b/meta/recipes-core/systemd/systemd.inc
> @@ -14,11 +14,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
>  LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
>                      file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
>
> -SRCREV = "17472dca0160cbe7b807ca648475fd70d0d62fe5"
> -SRCBRANCH = "v247-stable"
> +SRCREV = "37c4cfde0ce613f0f00544d3f4e2e72bf93d9c76"
> +SRCBRANCH = "v248-stable"
>  SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \
> -           file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \
> -           file://48fff0a2af3f62acd446ebec8081b039b72caad8.patch \
>  "
>
>  S = "${WORKDIR}/git"
> diff --git a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch b/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> deleted file mode 100644
> index fd7f94a61d..0000000000
> --- a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -From b9b7a8e3825f0433e120f7a6d7d5d635a839cab9 Mon Sep 17 00:00:00 2001
> -From: Mingli Yu <mingli.yu@windriver.com>
> -Date: Thu, 21 Jan 2021 06:19:44 +0000
> -Subject: [PATCH] analyze: resolve executable path if it is relative
> -
> -Upstream-Status: Backport [https://github.com/systemd/systemd/commit/f1fb046a985521f7d4a662f02546686ff20b7e5d]
> -
> -Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> ----
> - src/analyze/analyze-verify.c | 7 +++++--
> - 1 file changed, 5 insertions(+), 2 deletions(-)
> -
> -diff --git a/src/analyze/analyze-verify.c b/src/analyze/analyze-verify.c
> -index a9c89173bf..969523df18 100644
> ---- a/src/analyze/analyze-verify.c
> -+++ b/src/analyze/analyze-verify.c
> -@@ -115,14 +115,17 @@ static int verify_socket(Unit *u) {
> - }
> -
> - int verify_executable(Unit *u, const ExecCommand *exec) {
> -+        int r;
> -+
> -         if (!exec)
> -                 return 0;
> -
> -         if (exec->flags & EXEC_COMMAND_IGNORE_FAILURE)
> -                 return 0;
> -
> --        if (access(exec->path, X_OK) < 0)
> --                return log_unit_error_errno(u, errno, "Command %s is not executable: %m", exec->path);
> -+        r = find_executable_full(exec->path, false, NULL);
> -+        if (r < 0)
> -+                return log_unit_error_errno(u, r, "Command %s is not executable: %m", exec->path);
> -
> -         return 0;
> - }
> ---
> -2.26.2
> -
> diff --git a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch b/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> deleted file mode 100644
> index 89ef39bc3e..0000000000
> --- a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> +++ /dev/null
> @@ -1,227 +0,0 @@
> -From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00 2001
> -From: Joshua Watt <JPEWhacker@gmail.com>
> -Date: Fri, 30 Oct 2020 08:15:43 -0500
> -Subject: [PATCH] logind: Restore chvt as non-root user without polkit
> -
> -4acf0cfd2f ("logind: check PolicyKit before allowing VT switch") broke
> -the ability to write user sessions that run graphical sessions (e.g.
> -weston/X11). This was partially amended in 19bb87fbfa ("login: allow
> -non-console sessions to change vt") by changing the default PolicyKit
> -policy so that non-root users are again allowed to switch the VT. This
> -makes the policy when PolKit is not enabled (as on many embedded
> -systems) match the default PolKit policy and allows launching graphical
> -sessions as a non-root user.
> -
> -Closes #17473
> ----
> - src/login/logind-dbus.c         | 11 ++-------
> - src/login/logind-polkit.c       | 26 +++++++++++++++++++++
> - src/login/logind-polkit.h       | 10 ++++++++
> - src/login/logind-seat-dbus.c    | 41 ++++-----------------------------
> - src/login/logind-session-dbus.c | 11 ++-------
> - src/login/meson.build           |  1 +
> - 6 files changed, 46 insertions(+), 54 deletions(-)
> - create mode 100644 src/login/logind-polkit.c
> - create mode 100644 src/login/logind-polkit.h
> -
> -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
> -index 0f83ed99bc..a3765d88ba 100644
> ---- a/src/login/logind-dbus.c
> -+++ b/src/login/logind-dbus.c
> -@@ -30,6 +30,7 @@
> - #include "format-util.h"
> - #include "fs-util.h"
> - #include "logind-dbus.h"
> -+#include "logind-polkit.h"
> - #include "logind-seat-dbus.h"
> - #include "logind-session-dbus.h"
> - #include "logind-user-dbus.h"
> -@@ -1047,15 +1048,7 @@ static int method_activate_session_on_seat(sd_bus_message *message, void *userda
> -                 return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT,
> -                                          "Session %s not on seat %s", session_name, seat_name);
> -
> --        r = bus_verify_polkit_async(
> --                        message,
> --                        CAP_SYS_ADMIN,
> --                        "org.freedesktop.login1.chvt",
> --                        NULL,
> --                        false,
> --                        UID_INVALID,
> --                        &m->polkit_registry,
> --                        error);
> -+        r = check_polkit_chvt(message, m, error);
> -         if (r < 0)
> -                 return r;
> -         if (r == 0)
> -diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c
> -new file mode 100644
> -index 0000000000..9072570cc6
> ---- /dev/null
> -+++ b/src/login/logind-polkit.c
> -@@ -0,0 +1,26 @@
> -+/* SPDX-License-Identifier: LGPL-2.1+ */
> -+
> -+#include "bus-polkit.h"
> -+#include "logind-polkit.h"
> -+#include "missing_capability.h"
> -+#include "user-util.h"
> -+
> -+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error) {
> -+#if ENABLE_POLKIT
> -+        return bus_verify_polkit_async(
> -+                        message,
> -+                        CAP_SYS_ADMIN,
> -+                        "org.freedesktop.login1.chvt",
> -+                        NULL,
> -+                        false,
> -+                        UID_INVALID,
> -+                        &manager->polkit_registry,
> -+                        error);
> -+#else
> -+        /* Allow chvt when polkit is not present. This allows a service to start a graphical session as a
> -+         * non-root user when polkit is not compiled in, matching the default polkit policy */
> -+        return 1;
> -+#endif
> -+}
> -+
> -+
> -diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h
> -new file mode 100644
> -index 0000000000..476c077a8a
> ---- /dev/null
> -+++ b/src/login/logind-polkit.h
> -@@ -0,0 +1,10 @@
> -+/* SPDX-License-Identifier: LGPL-2.1+ */
> -+#pragma once
> -+
> -+#include "sd-bus.h"
> -+
> -+#include "bus-object.h"
> -+#include "logind.h"
> -+
> -+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error);
> -+
> -diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c
> -index a945132284..f22e9e2734 100644
> ---- a/src/login/logind-seat-dbus.c
> -+++ b/src/login/logind-seat-dbus.c
> -@@ -9,6 +9,7 @@
> - #include "bus-polkit.h"
> - #include "bus-util.h"
> - #include "logind-dbus.h"
> -+#include "logind-polkit.h"
> - #include "logind-seat-dbus.h"
> - #include "logind-seat.h"
> - #include "logind-session-dbus.h"
> -@@ -179,15 +180,7 @@ static int method_activate_session(sd_bus_message *message, void *userdata, sd_b
> -         if (session->seat != s)
> -                 return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id);
> -
> --        r = bus_verify_polkit_async(
> --                        message,
> --                        CAP_SYS_ADMIN,
> --                        "org.freedesktop.login1.chvt",
> --                        NULL,
> --                        false,
> --                        UID_INVALID,
> --                        &s->manager->polkit_registry,
> --                        error);
> -+        r = check_polkit_chvt(message, s->manager, error);
> -         if (r < 0)
> -                 return r;
> -         if (r == 0)
> -@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message *message, void *userdata, sd_bus_erro
> -         if (to <= 0)
> -                 return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal");
> -
> --        r = bus_verify_polkit_async(
> --                        message,
> --                        CAP_SYS_ADMIN,
> --                        "org.freedesktop.login1.chvt",
> --                        NULL,
> --                        false,
> --                        UID_INVALID,
> --                        &s->manager->polkit_registry,
> --                        error);
> -+        r = check_polkit_chvt(message, s->manager, error);
> -         if (r < 0)
> -                 return r;
> -         if (r == 0)
> -@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message *message, void *userdata, sd_bus
> -         assert(message);
> -         assert(s);
> -
> --        r = bus_verify_polkit_async(
> --                        message,
> --                        CAP_SYS_ADMIN,
> --                        "org.freedesktop.login1.chvt",
> --                        NULL,
> --                        false,
> --                        UID_INVALID,
> --                        &s->manager->polkit_registry,
> --                        error);
> -+        r = check_polkit_chvt(message, s->manager, error);
> -         if (r < 0)
> -                 return r;
> -         if (r == 0)
> -@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_message *message, void *userdata, sd
> -         assert(message);
> -         assert(s);
> -
> --        r = bus_verify_polkit_async(
> --                        message,
> --                        CAP_SYS_ADMIN,
> --                        "org.freedesktop.login1.chvt",
> --                        NULL,
> --                        false,
> --                        UID_INVALID,
> --                        &s->manager->polkit_registry,
> --                        error);
> -+        r = check_polkit_chvt(message, s->manager, error);
> -         if (r < 0)
> -                 return r;
> -         if (r == 0)
> -diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
> -index ccc5ac8df2..57c8a4e900 100644
> ---- a/src/login/logind-session-dbus.c
> -+++ b/src/login/logind-session-dbus.c
> -@@ -11,6 +11,7 @@
> - #include "fd-util.h"
> - #include "logind-brightness.h"
> - #include "logind-dbus.h"
> -+#include "logind-polkit.h"
> - #include "logind-seat-dbus.h"
> - #include "logind-session-dbus.h"
> - #include "logind-session-device.h"
> -@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message *message, void *userdata, sd_bus_
> -         assert(message);
> -         assert(s);
> -
> --        r = bus_verify_polkit_async(
> --                        message,
> --                        CAP_SYS_ADMIN,
> --                        "org.freedesktop.login1.chvt",
> --                        NULL,
> --                        false,
> --                        UID_INVALID,
> --                        &s->manager->polkit_registry,
> --                        error);
> -+        r = check_polkit_chvt(message, s->manager, error);
> -         if (r < 0)
> -                 return r;
> -         if (r == 0)
> -diff --git a/src/login/meson.build b/src/login/meson.build
> -index 0a7d3d5440..7e46be2add 100644
> ---- a/src/login/meson.build
> -+++ b/src/login/meson.build
> -@@ -26,6 +26,7 @@ liblogind_core_sources = files('''
> -         logind-device.h
> -         logind-inhibit.c
> -         logind-inhibit.h
> -+        logind-polkit.c
> -         logind-seat-dbus.c
> -         logind-seat-dbus.h
> -         logind-seat.c
> ---
> -2.28.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> index d856bcb583..4cdf66e767 100644
> --- a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> +++ b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> @@ -1,7 +1,7 @@
> -From 66ece0b870b3a34fdabc48b88437e6cc354e9fce Mon Sep 17 00:00:00 2001
> +From 159c53612444ec1df492bae528a5a88a275b93bf Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 13:41:41 +0800
> -Subject: [PATCH 02/26] don't use glibc-specific qsort_r
> +Subject: [PATCH] don't use glibc-specific qsort_r
>
>  Upstream-Status: Inappropriate [musl specific]
>
> @@ -12,6 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
>  [Rebased for v247]
>  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> +
>  ---
>   src/basic/sort-util.h              | 14 ------------
>   src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++-----
> @@ -19,14 +20,13 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>   3 files changed, 38 insertions(+), 31 deletions(-)
>
>  diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
> -index 1d194a1f04..3394c9eb72 100644
> +index 49586a4a24..d92a5ab0ed 100644
>  --- a/src/basic/sort-util.h
>  +++ b/src/basic/sort-util.h
> -@@ -54,17 +54,3 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
> -                 int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
> +@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
>                   _qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
>           })
> --
> +
>  -static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
>  -        if (nmemb <= 1)
>  -                return;
> @@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644
>  -                int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
>  -                qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
>  -        })
> +-
> + int cmp_int(const int *a, const int *b);
>  diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
> -index 4c94ba9c88..95495dba6d 100644
> +index fd45ff0f54..ac4b63c49b 100644
>  --- a/src/libsystemd/sd-hwdb/hwdb-util.c
>  +++ b/src/libsystemd/sd-hwdb/hwdb-util.c
> -@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) {
> +@@ -126,9 +126,13 @@ static struct trie* trie_free(struct trie *trie) {
>
>   DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
>
> @@ -85,10 +87,10 @@ index 4c94ba9c88..95495dba6d 100644
>   }
>
>  diff --git a/src/shared/format-table.c b/src/shared/format-table.c
> -index a13a198b7a..bce10bc607 100644
> +index dccb796b26..c3ab8ac296 100644
>  --- a/src/shared/format-table.c
>  +++ b/src/shared/format-table.c
> -@@ -1243,30 +1243,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
> +@@ -1290,30 +1290,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
>           return CMP(index_a, index_b);
>   }
>
> @@ -131,7 +133,7 @@ index a13a198b7a..bce10bc607 100644
>           }
>
>           /* Order identical lines by the order there were originally added in */
> -@@ -1844,7 +1846,12 @@ int table_print(Table *t, FILE *f) {
> +@@ -1952,7 +1954,12 @@ int table_print(Table *t, FILE *f) {
>                   for (size_t i = 0; i < n_rows; i++)
>                           sorted[i] = i * t->n_columns;
>
> @@ -145,7 +147,7 @@ index a13a198b7a..bce10bc607 100644
>           }
>
>           if (t->display_map)
> -@@ -2440,7 +2447,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
> +@@ -2580,7 +2587,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
>                   for (size_t i = 0; i < n_rows; i++)
>                           sorted[i] = i * t->n_columns;
>
> @@ -159,6 +161,3 @@ index a13a198b7a..bce10bc607 100644
>           }
>
>           if (t->display_map)
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> index f43a22aa8b..9b1768d9ca 100644
> --- a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> +++ b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> @@ -1,7 +1,7 @@
> -From 9f0d5996bbb2db3679a4075fa8301750b786c03b Mon Sep 17 00:00:00 2001
> +From 4afb8adc83348bf75964fc10af7902e04dd62637 Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 13:55:12 +0800
> -Subject: [PATCH 03/26] missing_type.h: add __compare_fn_t and comparison_fn_t
> +Subject: [PATCH] missing_type.h: add __compare_fn_t and comparison_fn_t
>
>  Make it work with musl where comparison_fn_t and __compare_fn_t
>  is not provided.
> @@ -13,11 +13,12 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>  [Rebased for v242]
>  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> +
>  ---
> - src/basic/missing_type.h | 9 +++++++++
> - src/basic/sort-util.h    | 1 +
> - src/core/kmod-setup.c    | 1 +
> - src/journal/catalog.c    | 1 +
> + src/basic/missing_type.h            | 9 +++++++++
> + src/basic/sort-util.h               | 1 +
> + src/core/kmod-setup.c               | 1 +
> + src/libsystemd/sd-journal/catalog.c | 1 +
>   4 files changed, 12 insertions(+)
>
>  diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
> @@ -38,7 +39,7 @@ index f6233090a9..aeaf6ad5ec 100644
>  +typedef int (*__compar_fn_t)(const void *, const void *);
>  +#endif
>  diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
> -index 3394c9eb72..d9cb2aecb6 100644
> +index d92a5ab0ed..a63867c716 100644
>  --- a/src/basic/sort-util.h
>  +++ b/src/basic/sort-util.h
>  @@ -4,6 +4,7 @@
> @@ -61,10 +62,10 @@ index 8a7f82812a..a56f12f47f 100644
>
>   #if HAVE_KMOD
>   #include "module-util.h"
> -diff --git a/src/journal/catalog.c b/src/journal/catalog.c
> -index 0f6ad8a29e..4e1077ade4 100644
> ---- a/src/journal/catalog.c
> -+++ b/src/journal/catalog.c
> +diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
> +index aea3241d18..75e6c56a28 100644
> +--- a/src/libsystemd/sd-journal/catalog.c
> ++++ b/src/libsystemd/sd-journal/catalog.c
>  @@ -28,6 +28,7 @@
>   #include "string-util.h"
>   #include "strv.h"
> @@ -73,6 +74,3 @@ index 0f6ad8a29e..4e1077ade4 100644
>
>   const char * const catalog_file_dirs[] = {
>           "/usr/local/lib/systemd/catalog/",
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> index bdd64a0252..dc40a2fe8d 100644
> --- a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> +++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> @@ -1,7 +1,7 @@
> -From f3dbe29f7620a063af4d8eb3ea7c48ecd410200d Mon Sep 17 00:00:00 2001
> -From: Chen Qi <Qi.Chen@windriver.com>
> -Date: Mon, 25 Feb 2019 14:04:21 +0800
> -Subject: [PATCH 04/26] add fallback parse_printf_format implementation
> +From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex.kanavin@gmail.com>
> +Date: Sat, 22 May 2021 20:26:24 +0200
> +Subject: [PATCH] [PATCH] add fallback parse_printf_format implementation
>
>  Upstream-Status: Inappropriate [musl specific]
>
> @@ -11,21 +11,21 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>  [rebased for systemd 243]
>  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
>  ---
> - meson.build                     |   1 +
> - src/basic/meson.build           |   5 +
> - src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++
> - src/basic/parse-printf-format.h |  57 +++++++
> - src/basic/stdio-util.h          |   2 +-
> - src/journal/journal-send.c      |   2 +-
> + meson.build                              |   1 +
> + src/basic/meson.build                    |   5 +
> + src/basic/parse-printf-format.c          | 273 +++++++++++++++++++++++
> + src/basic/parse-printf-format.h          |  57 +++++
> + src/basic/stdio-util.h                   |   2 +-
> + src/libsystemd/sd-journal/journal-send.c |   2 +-
>   6 files changed, 338 insertions(+), 2 deletions(-)
>   create mode 100644 src/basic/parse-printf-format.c
>   create mode 100644 src/basic/parse-printf-format.h
>
>  diff --git a/meson.build b/meson.build
> -index f406d595e6..6aa47fc755 100644
> +index 27186d63a3..2abb7b3188 100644
>  --- a/meson.build
>  +++ b/meson.build
> -@@ -646,6 +646,7 @@ endif
> +@@ -675,6 +675,7 @@ endif
>   foreach header : ['crypt.h',
>                     'linux/memfd.h',
>                     'linux/vm_sockets.h',
> @@ -34,21 +34,21 @@ index f406d595e6..6aa47fc755 100644
>                     'valgrind/memcheck.h',
>                     'valgrind/valgrind.h',
>  diff --git a/src/basic/meson.build b/src/basic/meson.build
> -index 1183ea83ad..aa5c958850 100644
> +index 60ef801a25..aba2172edd 100644
>  --- a/src/basic/meson.build
>  +++ b/src/basic/meson.build
> -@@ -322,6 +322,11 @@ foreach item : [['af',     af_list_txt,     'af',         ''],
> - endforeach
> +@@ -341,6 +341,11 @@ endforeach
>
>   basic_sources += generated_gperf_headers
> -+
> +
>  +if conf.get('HAVE_PRINTF_H') != 1
>  +        basic_sources += [files('parse-printf-format.c')]
>  +endif
>  +
> - basic_gcrypt_sources = files(
> -         'gcrypt-util.c',
> -         'gcrypt-util.h')
> ++
> + ############################################################
> +
> + arch_list = [
>  diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
>  new file mode 100644
>  index 0000000000..49437e5445
> @@ -410,10 +410,10 @@ index 6dc1e72312..cea76b36cf 100644
>
>   #define snprintf_ok(buf, len, fmt, ...) \
>           ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
> -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
> +diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
>  index fd3fd7ef9c..e8e6ad555b 100644
> ---- a/src/journal/journal-send.c
> -+++ b/src/journal/journal-send.c
> +--- a/src/libsystemd/sd-journal/journal-send.c
> ++++ b/src/libsystemd/sd-journal/journal-send.c
>  @@ -2,7 +2,6 @@
>
>   #include <errno.h>
> @@ -431,5 +431,5 @@ index fd3fd7ef9c..e8e6ad555b 100644
>   #define SNDBUF_SIZE (8*1024*1024)
>
>  --
> -2.27.0
> +2.24.0
>
> diff --git a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> index d63e3c0d09..a0d757b3f3 100644
> --- a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> +++ b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> @@ -1,7 +1,7 @@
> -From 5aeae0ea89f5af74ed5d95bed1d87a03b3801ff0 Mon Sep 17 00:00:00 2001
> +From 6b0732ac7164914ce16e231e35980b849bdfc4c8 Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 14:18:21 +0800
> -Subject: [PATCH 05/26] src/basic/missing.h: check for missing strndupa
> +Subject: [PATCH] src/basic/missing.h: check for missing strndupa
>
>  include missing.h  for definition of strndupa
>
> @@ -17,6 +17,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
>  [rebased for systemd 244]
>  [Rebased for v247]
>  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> +
>  ---
>   meson.build                                |  1 +
>   src/backlight/backlight.c                  |  1 +
> @@ -25,6 +26,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>   src/basic/log.c                            |  1 +
>   src/basic/missing_stdlib.h                 | 12 ++++++++++++
>   src/basic/mkdir.c                          |  1 +
> + src/basic/mountpoint-util.c                |  1 +
>   src/basic/parse-util.c                     |  1 +
>   src/basic/path-lookup.c                    |  1 +
>   src/basic/proc-cmdline.c                   |  1 +
> @@ -41,12 +43,12 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>   src/coredump/coredump-vacuum.c             |  1 +
>   src/journal-remote/journal-remote-main.c   |  1 +
>   src/journal/journalctl.c                   |  1 +
> - src/journal/sd-journal.c                   |  1 +
>   src/libsystemd/sd-bus/bus-message.c        |  1 +
>   src/libsystemd/sd-bus/bus-objects.c        |  1 +
>   src/libsystemd/sd-bus/bus-socket.c         |  1 +
>   src/libsystemd/sd-bus/sd-bus.c             |  1 +
>   src/libsystemd/sd-bus/test-bus-benchmark.c |  1 +
> + src/libsystemd/sd-journal/sd-journal.c     |  1 +
>   src/locale/keymap-util.c                   |  1 +
>   src/login/pam_systemd.c                    |  1 +
>   src/network/generator/network-generator.c  |  1 +
> @@ -68,18 +70,22 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>   src/udev/udev-builtin-path_id.c            |  1 +
>   src/udev/udev-event.c                      |  1 +
>   src/udev/udev-rules.c                      |  1 +
> - 50 files changed, 61 insertions(+)
> + 51 files changed, 62 insertions(+)
>
> +diff --git a/meson.build b/meson.build
> +index 2abb7b3188..c97f09062b 100644
>  --- a/meson.build
>  +++ b/meson.build
> -@@ -535,6 +535,7 @@ foreach ident : [
> -                                  #include <sys/wait.h>'''],
> -         ['mallinfo',          '''#include <malloc.h>'''],
> +@@ -550,6 +550,7 @@ foreach ident : [
> +         ['execveat',          '''#include <unistd.h>'''],
>           ['close_range',       '''#include <unistd.h>'''],
> +         ['epoll_pwait2',      '''#include <sys/epoll.h>'''],
>  +        ['strndupa' ,         '''#include <string.h>'''],
>   ]
>
>           have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
> +diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
> +index 86927be62e..a34be158a0 100644
>  --- a/src/backlight/backlight.c
>  +++ b/src/backlight/backlight.c
>  @@ -19,6 +19,7 @@
> @@ -90,6 +96,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static int help(void) {
>           _cleanup_free_ char *link = NULL;
> +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
> +index 8dd3f8cd95..50c1ae1b2b 100644
>  --- a/src/basic/cgroup-util.c
>  +++ b/src/basic/cgroup-util.c
>  @@ -38,6 +38,7 @@
> @@ -100,9 +108,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) {
>           _cleanup_free_ char *fs = NULL;
> +diff --git a/src/basic/env-util.c b/src/basic/env-util.c
> +index c110a750a5..e1f091b01e 100644
>  --- a/src/basic/env-util.c
>  +++ b/src/basic/env-util.c
> -@@ -15,6 +15,7 @@
> +@@ -18,6 +18,7 @@
>   #include "string-util.h"
>   #include "strv.h"
>   #include "utf8.h"
> @@ -110,6 +120,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   /* We follow bash for the character set. Different shells have different rules. */
>   #define VALID_BASH_ENV_NAME_CHARS               \
> +diff --git a/src/basic/log.c b/src/basic/log.c
> +index 595db0c395..daff8eb68a 100644
>  --- a/src/basic/log.c
>  +++ b/src/basic/log.c
>  @@ -36,6 +36,7 @@
> @@ -120,6 +132,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   #define SNDBUF_SIZE (8*1024*1024)
>
> +diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
> +index 8c76f93eb2..9068bfb4f0 100644
>  --- a/src/basic/missing_stdlib.h
>  +++ b/src/basic/missing_stdlib.h
>  @@ -11,3 +11,15 @@
> @@ -138,6 +152,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>  +    (char *)memcpy(__new, __old, __len); \
>  +  })
>  +#endif
> +diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
> +index f91f8f7a08..fb31596216 100644
>  --- a/src/basic/mkdir.c
>  +++ b/src/basic/mkdir.c
>  @@ -14,6 +14,7 @@
> @@ -148,9 +164,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   int mkdir_safe_internal(
>                   const char *path,
> +diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
> +index 1d617e87b2..346f9a47d7 100644
> +--- a/src/basic/mountpoint-util.c
> ++++ b/src/basic/mountpoint-util.c
> +@@ -12,6 +12,7 @@
> + #include "missing_stat.h"
> + #include "missing_syscall.h"
> + #include "mkdir.h"
> ++#include "missing_stdlib.h"
> + #include "mountpoint-util.h"
> + #include "parse-util.h"
> + #include "path-util.h"
> +diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
> +index b79c885dfd..6dabda5691 100644
>  --- a/src/basic/parse-util.c
>  +++ b/src/basic/parse-util.c
> -@@ -22,6 +22,7 @@
> +@@ -19,6 +19,7 @@
>   #include "stat-util.h"
>   #include "string-util.h"
>   #include "strv.h"
> @@ -158,6 +188,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   int parse_boolean(const char *v) {
>           if (!v)
> +diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
> +index e53c2302b1..ca1d40ccbe 100644
>  --- a/src/basic/path-lookup.c
>  +++ b/src/basic/path-lookup.c
>  @@ -15,6 +15,7 @@
> @@ -168,6 +200,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   int xdg_user_runtime_dir(char **ret, const char *suffix) {
>           const char *e;
> +diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
> +index 410b8a3eb5..f2c4355609 100644
>  --- a/src/basic/proc-cmdline.c
>  +++ b/src/basic/proc-cmdline.c
>  @@ -15,6 +15,7 @@
> @@ -178,6 +212,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   int proc_cmdline(char **ret) {
>           const char *e;
> +diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
> +index ccab71f7d2..8f9eee8d36 100644
>  --- a/src/basic/procfs-util.c
>  +++ b/src/basic/procfs-util.c
>  @@ -11,6 +11,7 @@
> @@ -188,6 +224,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   int procfs_tasks_get_limit(uint64_t *ret) {
>           _cleanup_free_ char *value = NULL;
> +diff --git a/src/basic/selinux-util.c b/src/basic/selinux-util.c
> +index ee9e34ed47..96c1e9362d 100644
>  --- a/src/basic/selinux-util.c
>  +++ b/src/basic/selinux-util.c
>  @@ -27,6 +27,7 @@
> @@ -197,7 +235,9 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>  +#include "missing_stdlib.h"
>
>   #if HAVE_SELINUX
> - DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free);
> + DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(context_t, context_free, NULL);
> +diff --git a/src/basic/time-util.c b/src/basic/time-util.c
> +index 78d0390a00..47c38ca691 100644
>  --- a/src/basic/time-util.c
>  +++ b/src/basic/time-util.c
>  @@ -27,6 +27,7 @@
> @@ -208,6 +248,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static clockid_t map_clock_id(clockid_t c) {
>
> +diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
> +index 97ad1e0cb5..9d60f3cc79 100644
>  --- a/src/boot/bless-boot.c
>  +++ b/src/boot/bless-boot.c
>  @@ -18,6 +18,7 @@
> @@ -218,16 +260,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static char **arg_path = NULL;
>
> +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
> +index 04d2ba34f3..651ca9412e 100644
>  --- a/src/core/dbus-cgroup.c
>  +++ b/src/core/dbus-cgroup.c
> -@@ -16,6 +16,7 @@
> - #include "fileio.h"
> +@@ -17,6 +17,7 @@
>   #include "limits-util.h"
>   #include "path-util.h"
> + #include "percent-util.h"
>  +#include "missing_stdlib.h"
>
>   BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
>
> +diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
> +index 5239c41d67..0f604efe98 100644
>  --- a/src/core/dbus-execute.c
>  +++ b/src/core/dbus-execute.c
>  @@ -41,6 +41,7 @@
> @@ -238,9 +284,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
>   static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
> +diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
> +index 44a2ccfca0..3926ccfa4a 100644
>  --- a/src/core/dbus-util.c
>  +++ b/src/core/dbus-util.c
> -@@ -7,6 +7,7 @@
> +@@ -9,6 +9,7 @@
>   #include "unit-printf.h"
>   #include "user-util.h"
>   #include "unit.h"
> @@ -248,16 +296,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   int bus_property_get_triggered_unit(
>                   sd_bus *bus,
> +diff --git a/src/core/execute.c b/src/core/execute.c
> +index 922913e7af..f82fc294c0 100644
>  --- a/src/core/execute.c
>  +++ b/src/core/execute.c
>  @@ -96,6 +96,7 @@
> - #include "unit.h"
> + #include "unit-serialize.h"
>   #include "user-util.h"
>   #include "utmp-wtmp.h"
>  +#include "missing_stdlib.h"
>
>   #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
>   #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
> +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
> +index a56f12f47f..6b8729ef67 100644
>  --- a/src/core/kmod-setup.c
>  +++ b/src/core/kmod-setup.c
>  @@ -11,6 +11,7 @@
> @@ -268,6 +320,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   #if HAVE_KMOD
>   #include "module-util.h"
> +diff --git a/src/core/service.c b/src/core/service.c
> +index 4c5bfb17fb..8c05f36119 100644
>  --- a/src/core/service.c
>  +++ b/src/core/service.c
>  @@ -41,6 +41,7 @@
> @@ -278,6 +332,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
>           [SERVICE_DEAD] = UNIT_INACTIVE,
> +diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
> +index 95c3fca661..d4a9f27b08 100644
>  --- a/src/coredump/coredump-vacuum.c
>  +++ b/src/coredump/coredump-vacuum.c
>  @@ -16,6 +16,7 @@
> @@ -288,9 +344,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL)           /* 1 MiB */
>   #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL)   /* 4 GiB */
> +diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
> +index ae1d43756a..24de98c9f3 100644
>  --- a/src/journal-remote/journal-remote-main.c
>  +++ b/src/journal-remote/journal-remote-main.c
> -@@ -22,6 +22,7 @@
> +@@ -24,6 +24,7 @@
>   #include "stat-util.h"
>   #include "string-table.h"
>   #include "strv.h"
> @@ -298,9 +356,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
>   #define CERT_FILE     CERTIFICATE_ROOT "/certs/journal-remote.pem"
> +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
> +index 76d05c1eee..0beb77b2e5 100644
>  --- a/src/journal/journalctl.c
>  +++ b/src/journal/journalctl.c
> -@@ -73,6 +73,7 @@
> +@@ -72,6 +72,7 @@
>   #include "unit-name.h"
>   #include "user-util.h"
>   #include "varlink.h"
> @@ -308,19 +368,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
>   #define PROCESS_INOTIFY_INTERVAL 1024   /* Every 1,024 messages processed */
> ---- a/src/journal/sd-journal.c
> -+++ b/src/journal/sd-journal.c
> -@@ -40,6 +40,7 @@
> - #include "string-util.h"
> - #include "strv.h"
> - #include "syslog-util.h"
> -+#include "missing_stdlib.h"
> -
> - #define JOURNAL_FILES_MAX 7168
> -
> +diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
> +index b25064b672..b3bbe63a91 100644
>  --- a/src/libsystemd/sd-bus/bus-message.c
>  +++ b/src/libsystemd/sd-bus/bus-message.c
> -@@ -21,6 +21,7 @@
> +@@ -20,6 +20,7 @@
>   #include "strv.h"
>   #include "time-util.h"
>   #include "utf8.h"
> @@ -328,9 +380,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
>
> +diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
> +index bfd42aea7d..daefc56e3e 100644
>  --- a/src/libsystemd/sd-bus/bus-objects.c
>  +++ b/src/libsystemd/sd-bus/bus-objects.c
> -@@ -13,6 +13,7 @@
> +@@ -12,6 +12,7 @@
>   #include "set.h"
>   #include "string-util.h"
>   #include "strv.h"
> @@ -338,6 +392,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static int node_vtable_get_userdata(
>                   sd_bus *bus,
> +diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
> +index 832526cc1b..7bff701806 100644
>  --- a/src/libsystemd/sd-bus/bus-socket.c
>  +++ b/src/libsystemd/sd-bus/bus-socket.c
>  @@ -28,6 +28,7 @@
> @@ -348,29 +404,47 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   #define SNDBUF_SIZE (8*1024*1024)
>
> +diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
> +index e719c74370..ac2a605680 100644
>  --- a/src/libsystemd/sd-bus/sd-bus.c
>  +++ b/src/libsystemd/sd-bus/sd-bus.c
>  @@ -41,6 +41,7 @@
> - #include "process-util.h"
>   #include "string-util.h"
>   #include "strv.h"
> + #include "user-util.h"
>  +#include "missing_stdlib.h"
>
>   #define log_debug_bus_message(m)                                         \
>           do {                                                             \
> +diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
> +index 13c08fe295..9aae83486e 100644
>  --- a/src/libsystemd/sd-bus/test-bus-benchmark.c
>  +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
>  @@ -14,6 +14,7 @@
> - #include "missing_resource.h"
> + #include "string-util.h"
>   #include "time-util.h"
>   #include "util.h"
>  +#include "missing_stdlib.h"
>
>   #define MAX_SIZE (2*1024*1024)
>
> +diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
> +index c90b4c926e..0efdccff5d 100644
> +--- a/src/libsystemd/sd-journal/sd-journal.c
> ++++ b/src/libsystemd/sd-journal/sd-journal.c
> +@@ -40,6 +40,7 @@
> + #include "string-util.h"
> + #include "strv.h"
> + #include "syslog-util.h"
> ++#include "missing_stdlib.h"
> +
> + #define JOURNAL_FILES_MAX 7168
> +
> +diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
> +index d2f0566dbc..3b7746557e 100644
>  --- a/src/locale/keymap-util.c
>  +++ b/src/locale/keymap-util.c
> -@@ -21,6 +21,7 @@
> +@@ -24,6 +24,7 @@
>   #include "string-util.h"
>   #include "strv.h"
>   #include "tmpfile-util.h"
> @@ -378,6 +452,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static bool startswith_comma(const char *s, const char *prefix) {
>           s = startswith(s, prefix);
> +diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
> +index 2021c31bd5..58eb09808d 100644
>  --- a/src/login/pam_systemd.c
>  +++ b/src/login/pam_systemd.c
>  @@ -31,6 +31,7 @@
> @@ -388,6 +464,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>   #include "pam-util.h"
>   #include "parse-util.h"
>   #include "path-util.h"
> +diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
> +index ae673ddf5b..a79e5114ca 100644
>  --- a/src/network/generator/network-generator.c
>  +++ b/src/network/generator/network-generator.c
>  @@ -13,6 +13,7 @@
> @@ -398,6 +476,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   /*
>     # .network
> +diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
> +index d4619bead5..0e832fd994 100644
>  --- a/src/nspawn/nspawn-settings.c
>  +++ b/src/nspawn/nspawn-settings.c
>  @@ -16,6 +16,7 @@
> @@ -408,19 +488,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   Settings *settings_new(void) {
>           Settings *s;
> +diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
> +index 44715bb3e5..bc1e688b5e 100644
>  --- a/src/nss-mymachines/nss-mymachines.c
>  +++ b/src/nss-mymachines/nss-mymachines.c
> -@@ -19,6 +19,7 @@
> +@@ -21,6 +21,7 @@
>   #include "nss-util.h"
>   #include "signal-util.h"
>   #include "string-util.h"
>  +#include "missing_stdlib.h"
>
> - NSS_GETHOSTBYNAME_PROTOTYPES(mymachines);
> - NSS_GETPW_PROTOTYPES(mymachines);
> + static void setup_logging(void) {
> +         /* We need a dummy function because log_parse_environment is a macro. */
> +diff --git a/src/portable/portable.c b/src/portable/portable.c
> +index f201f52531..c78ad0f471 100644
>  --- a/src/portable/portable.c
>  +++ b/src/portable/portable.c
> -@@ -31,6 +31,7 @@
> +@@ -32,6 +32,7 @@
>   #include "strv.h"
>   #include "tmpfile-util.h"
>   #include "user-util.h"
> @@ -428,9 +512,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static const char profile_dirs[] = CONF_PATHS_NULSTR("systemd/portable/profile");
>
> +diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
> +index 52bbae3293..4ccbae09c4 100644
>  --- a/src/resolve/resolvectl.c
>  +++ b/src/resolve/resolvectl.c
> -@@ -37,6 +37,7 @@
> +@@ -41,6 +41,7 @@
>   #include "terminal-util.h"
>   #include "utf8.h"
>   #include "verbs.h"
> @@ -438,6 +524,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static int arg_family = AF_UNSPEC;
>   static int arg_ifindex = 0;
> +diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
> +index feb6d3807f..eb11d29e50 100644
>  --- a/src/shared/bus-get-properties.c
>  +++ b/src/shared/bus-get-properties.c
>  @@ -4,6 +4,7 @@
> @@ -448,6 +536,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   int bus_property_get_bool(
>                   sd_bus *bus,
> +diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
> +index b76125e551..2e0892242f 100644
>  --- a/src/shared/bus-unit-procs.c
>  +++ b/src/shared/bus-unit-procs.c
>  @@ -10,6 +10,7 @@
> @@ -458,9 +548,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   struct CGroupInfo {
>           char *cgroup_path;
> +diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
> +index a75178068b..3de06e2bd5 100644
>  --- a/src/shared/bus-unit-util.c
>  +++ b/src/shared/bus-unit-util.c
> -@@ -44,6 +44,7 @@
> +@@ -45,6 +45,7 @@
>   #include "unit-def.h"
>   #include "user-util.h"
>   #include "utf8.h"
> @@ -468,6 +560,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
>           assert(message);
> +diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
> +index 64ca67993c..31e3d148ea 100644
>  --- a/src/shared/bus-util.c
>  +++ b/src/shared/bus-util.c
>  @@ -21,6 +21,7 @@
> @@ -478,6 +572,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
>           sd_event *e = userdata;
> +diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
> +index e43aa12882..cec9b413c1 100644
>  --- a/src/shared/dns-domain.c
>  +++ b/src/shared/dns-domain.c
>  @@ -17,6 +17,7 @@
> @@ -488,6 +584,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
>           const char *n;
> +diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
> +index b2785f0552..5f00902882 100644
>  --- a/src/shared/journal-importer.c
>  +++ b/src/shared/journal-importer.c
>  @@ -14,6 +14,7 @@
> @@ -498,6 +596,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   enum {
>           IMPORTER_STATE_LINE = 0,    /* waiting to read, or reading line */
> +diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
> +index e63c59bd94..dd9773c009 100644
>  --- a/src/shared/logs-show.c
>  +++ b/src/shared/logs-show.c
>  @@ -41,6 +41,7 @@
> @@ -508,6 +608,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
>   #define PRINT_LINE_THRESHOLD 3
> +diff --git a/src/shared/pager.c b/src/shared/pager.c
> +index 4bbad7e37b..eefcdd068c 100644
>  --- a/src/shared/pager.c
>  +++ b/src/shared/pager.c
>  @@ -26,6 +26,7 @@
> @@ -518,6 +620,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static pid_t pager_pid = 0;
>
> +diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
> +index 5d5bf7f21d..f1002ffa6c 100644
>  --- a/src/shared/uid-range.c
>  +++ b/src/shared/uid-range.c
>  @@ -9,6 +9,7 @@
> @@ -528,6 +632,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
>           assert(range);
> +diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
> +index 6e3ee0d76b..7727e33d95 100644
>  --- a/src/socket-proxy/socket-proxyd.c
>  +++ b/src/socket-proxy/socket-proxyd.c
>  @@ -26,6 +26,7 @@
> @@ -538,6 +644,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   #define BUFFER_SIZE (256 * 1024)
>
> +diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
> +index c9d318b8d1..fcb8d40805 100644
>  --- a/src/test/test-hexdecoct.c
>  +++ b/src/test/test-hexdecoct.c
>  @@ -6,6 +6,7 @@
> @@ -548,19 +656,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   static void test_hexchar(void) {
>           assert_se(hexchar(0xa) == 'a');
> +diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
> +index 09cc1c3bd8..8a7d3152a7 100644
>  --- a/src/udev/udev-builtin-path_id.c
>  +++ b/src/udev/udev-builtin-path_id.c
>  @@ -22,6 +22,7 @@
> - #include "strv.h"
>   #include "sysexits.h"
>   #include "udev-builtin.h"
> + #include "udev-util.h"
>  +#include "missing_stdlib.h"
>
>   _printf_(2,3)
>   static void path_prepend(char **path, const char *fmt, ...) {
> +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
> +index 12597194a9..208b2458b5 100644
>  --- a/src/udev/udev-event.c
>  +++ b/src/udev/udev-event.c
> -@@ -34,6 +34,7 @@
> +@@ -33,6 +33,7 @@
>   #include "udev-util.h"
>   #include "udev-watch.h"
>   #include "user-util.h"
> @@ -568,9 +680,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   typedef struct Spawn {
>           sd_device *device;
> +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
> +index 57ede6a197..dc59857765 100644
>  --- a/src/udev/udev-rules.c
>  +++ b/src/udev/udev-rules.c
> -@@ -30,6 +30,7 @@
> +@@ -31,6 +31,7 @@
>   #include "udev-rules.h"
>   #include "user-util.h"
>   #include "virt.h"
> @@ -578,13 +692,3 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>
>   #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
>
> ---- a/src/basic/mountpoint-util.c
> -+++ b/src/basic/mountpoint-util.c
> -@@ -10,6 +10,7 @@
> - #include "fs-util.h"
> - #include "missing_stat.h"
> - #include "missing_syscall.h"
> -+#include "missing_stdlib.h"
> - #include "mountpoint-util.h"
> - #include "parse-util.h"
> - #include "path-util.h"
> diff --git a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> index a978558b42..54d714266e 100644
> --- a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> +++ b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> @@ -1,7 +1,7 @@
> -From d3ed0da271738fd0fc3d3e4d82d6f5810334b05e Mon Sep 17 00:00:00 2001
> +From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Thu, 26 Oct 2017 22:10:42 -0700
> -Subject: [PATCH 06/26] Include netinet/if_ether.h
> +Subject: [PATCH] Include netinet/if_ether.h
>
>  Fixes
>  /path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
> @@ -31,6 +31,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
>  [rebased for systemd 247]
>  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> +
>  ---
>   src/libsystemd-network/sd-dhcp6-client.c  | 1 -
>   src/libsystemd/sd-netlink/netlink-types.c | 1 +
> @@ -56,7 +57,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>   21 files changed, 26 insertions(+), 8 deletions(-)
>
>  diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
> -index 66f87c4b95..de1264ae46 100644
> +index 410bfda10e..e70ed8be92 100644
>  --- a/src/libsystemd-network/sd-dhcp6-client.c
>  +++ b/src/libsystemd-network/sd-dhcp6-client.c
>  @@ -5,7 +5,6 @@
> @@ -68,7 +69,7 @@ index 66f87c4b95..de1264ae46 100644
>
>   #include "sd-dhcp6-client.h"
>  diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
> -index 6fb6c147d9..8eda02d202 100644
> +index ed7b9a8cd1..112c0b09e4 100644
>  --- a/src/libsystemd/sd-netlink/netlink-types.c
>  +++ b/src/libsystemd/sd-netlink/netlink-types.c
>  @@ -3,6 +3,7 @@
> @@ -80,7 +81,7 @@ index 6fb6c147d9..8eda02d202 100644
>   #include <linux/netlink.h>
>   #include <linux/rtnetlink.h>
>  diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
> -index bb67beb665..f5780f1aec 100644
> +index e7c4ed3c7c..3a1e4f9072 100644
>  --- a/src/machine/machine-dbus.c
>  +++ b/src/machine/machine-dbus.c
>  @@ -3,6 +3,7 @@
> @@ -92,7 +93,7 @@ index bb67beb665..f5780f1aec 100644
>   /* When we include libgen.h because we need dirname() we immediately
>    * undefine basename() since libgen.h defines it as a macro to the POSIX
>  diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
> -index e27f36067b..8868f1da5d 100644
> +index cf7ca88d6f..34ab468191 100644
>  --- a/src/network/netdev/bond.c
>  +++ b/src/network/netdev/bond.c
>  @@ -1,5 +1,6 @@
> @@ -103,7 +104,7 @@ index e27f36067b..8868f1da5d 100644
>   #include "bond.h"
>   #include "bond-util.h"
>  diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
> -index 1f59cd8b42..5fdbae7e99 100644
> +index 38432f1578..79ccfe578e 100644
>  --- a/src/network/netdev/bridge.c
>  +++ b/src/network/netdev/bridge.c
>  @@ -1,5 +1,6 @@
> @@ -114,7 +115,7 @@ index 1f59cd8b42..5fdbae7e99 100644
>
>   #include "bridge.h"
>  diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
> -index 82e71c3920..fbae86e216 100644
> +index 77c5f8c4e7..04be1b4ab2 100644
>  --- a/src/network/netdev/macsec.c
>  +++ b/src/network/netdev/macsec.c
>  @@ -1,5 +1,6 @@
> @@ -125,19 +126,19 @@ index 82e71c3920..fbae86e216 100644
>   #include <linux/if_ether.h>
>   #include <linux/if_macsec.h>
>  diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf
> -index 4e89761f2c..91251fa6ec 100644
> +index 8abe044890..3c54c58928 100644
>  --- a/src/network/netdev/netdev-gperf.gperf
>  +++ b/src/network/netdev/netdev-gperf.gperf
> -@@ -2,6 +2,7 @@
> +@@ -3,6 +3,7 @@
>   #if __GNUC__ >= 7
>   _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
>   #endif
>  +#include <netinet/if_ether.h>
>   #include <stddef.h>
>   #include "bareudp.h"
> - #include "bond.h"
> + #include "batadv.h"
>  diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
> -index 9f390b5781..62aeafb1e4 100644
> +index b31f0fa81a..c80e1ff537 100644
>  --- a/src/network/netdev/netdev.c
>  +++ b/src/network/netdev/netdev.c
>  @@ -1,5 +1,6 @@
> @@ -148,7 +149,7 @@ index 9f390b5781..62aeafb1e4 100644
>   #include <netinet/in.h>
>   #include <unistd.h>
>  diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
> -index e53c73c30c..9bf0771b84 100644
> +index 2847b336c9..4d6af8c642 100644
>  --- a/src/network/networkd-brvlan.c
>  +++ b/src/network/networkd-brvlan.c
>  @@ -4,6 +4,7 @@
> @@ -160,7 +161,7 @@ index e53c73c30c..9bf0771b84 100644
>   #include <stdbool.h>
>
>  diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
> -index 9f58121350..554d006cb8 100644
> +index 00d055cf8d..65821c1d31 100644
>  --- a/src/network/networkd-dhcp-common.c
>  +++ b/src/network/networkd-dhcp-common.c
>  @@ -1,7 +1,8 @@
> @@ -171,9 +172,9 @@ index 9f58121350..554d006cb8 100644
>  +#include <net/if_arp.h>
>  +#include <net/if.h>
>
> + #include "bus-error.h"
>   #include "dhcp-internal.h"
> - #include "dhcp6-internal.h"
> -@@ -10,6 +11,7 @@
> +@@ -11,6 +12,7 @@
>   #include "networkd-dhcp-common.h"
>   #include "networkd-link.h"
>   #include "networkd-manager.h"
> @@ -182,7 +183,7 @@ index 9f58121350..554d006cb8 100644
>   #include "parse-util.h"
>   #include "socket-util.h"
>  diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
> -index cf279c640d..bae541029b 100644
> +index 5cdf432c27..93cffb9863 100644
>  --- a/src/network/networkd-dhcp-server.c
>  +++ b/src/network/networkd-dhcp-server.c
>  @@ -1,8 +1,8 @@
> @@ -197,7 +198,7 @@ index cf279c640d..bae541029b 100644
>   #include "sd-dhcp-server.h"
>
>  diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
> -index f3c1e5f609..e4ef6eca63 100644
> +index 23dc3a45db..7ae6c2467a 100644
>  --- a/src/network/networkd-dhcp4.c
>  +++ b/src/network/networkd-dhcp4.c
>  @@ -1,9 +1,9 @@
> @@ -212,7 +213,7 @@ index f3c1e5f609..e4ef6eca63 100644
>   #include "escape.h"
>   #include "alloc-util.h"
>  diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
> -index 5c077c1ec8..fa98042aa5 100644
> +index aa077d6219..4f6ce22059 100644
>  --- a/src/network/networkd-dhcp6.c
>  +++ b/src/network/networkd-dhcp6.c
>  @@ -3,9 +3,9 @@
> @@ -227,7 +228,7 @@ index 5c077c1ec8..fa98042aa5 100644
>   #include "sd-dhcp6-client.h"
>
>  diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
> -index 3bfe636691..e0c68c8ad3 100644
> +index 8219d95b0d..c92230453b 100644
>  --- a/src/network/networkd-link.c
>  +++ b/src/network/networkd-link.c
>  @@ -1,8 +1,8 @@
> @@ -241,7 +242,7 @@ index 3bfe636691..e0c68c8ad3 100644
>   #include <unistd.h>
>
>  diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
> -index 3254641461..f0ada419fd 100644
> +index e5ffd35b6f..871ebb32c6 100644
>  --- a/src/network/networkd-network.c
>  +++ b/src/network/networkd-network.c
>  @@ -1,5 +1,6 @@
> @@ -252,7 +253,7 @@ index 3254641461..f0ada419fd 100644
>   #include <netinet/in.h>
>   #include <linux/netdevice.h>
>  diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
> -index 0ed89584ef..e7e157c201 100644
> +index a74541a6c9..a10549b336 100644
>  --- a/src/network/networkd-route.c
>  +++ b/src/network/networkd-route.c
>  @@ -1,7 +1,10 @@
> @@ -268,7 +269,7 @@ index 0ed89584ef..e7e157c201 100644
>   #include "alloc-util.h"
>   #include "netlink-util.h"
>  diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c
> -index 475cac7527..9bae6eda16 100644
> +index ce34449554..0b5dc01182 100644
>  --- a/src/network/test-network-tables.c
>  +++ b/src/network/test-network-tables.c
>  @@ -1,5 +1,6 @@
> @@ -279,7 +280,7 @@ index 475cac7527..9bae6eda16 100644
>   #include "dhcp6-internal.h"
>   #include "dhcp6-protocol.h"
>  diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
> -index e6fab262f2..41dd3d7df7 100644
> +index 654d36a83a..f4ed42d543 100644
>  --- a/src/shared/ethtool-util.c
>  +++ b/src/shared/ethtool-util.c
>  @@ -1,5 +1,6 @@
> @@ -290,7 +291,7 @@ index e6fab262f2..41dd3d7df7 100644
>   #include <sys/ioctl.h>
>   #include <linux/ethtool.h>
>  diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
> -index f94b3e15bf..08a7e4fa09 100644
> +index 11e2906681..a171df0737 100644
>  --- a/src/shared/ethtool-util.h
>  +++ b/src/shared/ethtool-util.h
>  @@ -3,6 +3,7 @@
> @@ -302,7 +303,7 @@ index f94b3e15bf..08a7e4fa09 100644
>
>   #include "conf-parser.h"
>  diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
> -index d12fd0e299..636806dc23 100644
> +index 31e5d0cd67..f25f821364 100644
>  --- a/src/udev/net/link-config.c
>  +++ b/src/udev/net/link-config.c
>  @@ -1,5 +1,6 @@
> @@ -323,6 +324,3 @@ index 87e1fb133e..13876029d0 100644
>   #include "alloc-util.h"
>   #include "device-util.h"
>   #include "errno-util.h"
> ---
> -2.25.1
> -
> diff --git a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> index 6865421586..2ff08c7fae 100644
> --- a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> +++ b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> @@ -1,8 +1,7 @@
> -From 87a14dde13c8fa68239a4ab62914a093062b3b29 Mon Sep 17 00:00:00 2001
> +From bca73ff2fbff2dc311040a87a4f536f89af07ad6 Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 14:56:21 +0800
> -Subject: [PATCH 07/26] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
> - defined
> +Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not defined
>
>  If the standard library doesn't provide brace
>  expansion users just won't get it.
> @@ -17,6 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>  [rebased for systemd 243]
>  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> +
>  ---
>   src/basic/glob-util.c     | 12 ++++++++++++
>   src/test/test-glob-util.c | 16 ++++++++++++++++
> @@ -115,10 +115,10 @@ index df6444c433..79a692046e 100644
>
>           (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
>  diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
> -index 9906c70eef..5eb63b1d57 100644
> +index 6b73d1e6d5..26b3b74275 100644
>  --- a/src/tmpfiles/tmpfiles.c
>  +++ b/src/tmpfiles/tmpfiles.c
> -@@ -63,6 +63,12 @@
> +@@ -66,6 +66,12 @@
>   #include "umask-util.h"
>   #include "user-util.h"
>
> @@ -131,7 +131,7 @@ index 9906c70eef..5eb63b1d57 100644
>   /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
>    * them in the file system. This is intended to be used to create
>    * properly owned directories beneath /tmp, /var/tmp, /run, which are
> -@@ -1936,7 +1942,9 @@ finish:
> +@@ -1947,7 +1953,9 @@ finish:
>
>   static int glob_item(Item *i, action_t action) {
>           _cleanup_globfree_ glob_t g = {
> @@ -141,7 +141,7 @@ index 9906c70eef..5eb63b1d57 100644
>           };
>           int r = 0, k;
>           char **fn;
> -@@ -1956,7 +1964,9 @@ static int glob_item(Item *i, action_t action) {
> +@@ -1967,7 +1975,9 @@ static int glob_item(Item *i, action_t action) {
>
>   static int glob_item_recursively(Item *i, fdaction_t action) {
>           _cleanup_globfree_ glob_t g = {
> @@ -151,6 +151,3 @@ index 9906c70eef..5eb63b1d57 100644
>           };
>           int r = 0, k;
>           char **fn;
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
> index 94cdc2efde..142ca01345 100644
> --- a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
> +++ b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
> @@ -1,7 +1,7 @@
> -From 8caea3fe87d55fd16de7d1b8266239fa954cb498 Mon Sep 17 00:00:00 2001
> +From e0d1912f0246c97e5e7b4177691363d2d077e11d Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 15:00:06 +0800
> -Subject: [PATCH 08/26] add missing FTW_ macros for musl
> +Subject: [PATCH] add missing FTW_ macros for musl
>
>  This is to avoid build failures like below for musl.
>
> @@ -10,6 +10,7 @@ This is to avoid build failures like below for musl.
>  Upstream-Status: Inappropriate [musl specific]
>
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> +
>  ---
>   src/basic/missing_type.h | 20 ++++++++++++++++++++
>   1 file changed, 20 insertions(+)
> @@ -42,6 +43,3 @@ index aeaf6ad5ec..3df1084ef2 100644
>  +#ifndef FTW_SKIP_SIBLINGS
>  +#define FTW_SKIP_SIBLINGS 3
>  +#endif
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> index 76cc75cf6a..53f0a1ba62 100644
> --- a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> +++ b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> @@ -1,17 +1,18 @@
> -From d8e4f0aa1760e4c7bb8476beecd35025c9cbb95a Mon Sep 17 00:00:00 2001
> +From bb41fe773881a8f1d9615d388320b9c6fc47bfe5 Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 15:03:47 +0800
> -Subject: [PATCH 09/26] fix missing of __register_atfork for non-glibc builds
> +Subject: [PATCH] fix missing of __register_atfork for non-glibc builds
>
>  Upstream-Status: Inappropriate [musl specific]
>
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> +
>  ---
>   src/basic/process-util.c | 7 +++++++
>   1 file changed, 7 insertions(+)
>
>  diff --git a/src/basic/process-util.c b/src/basic/process-util.c
> -index 0851613fc9..4417101569 100644
> +index 7d4301eadb..caa9dfe3a3 100644
>  --- a/src/basic/process-util.c
>  +++ b/src/basic/process-util.c
>  @@ -18,6 +18,9 @@
> @@ -24,7 +25,7 @@ index 0851613fc9..4417101569 100644
>
>   #include "alloc-util.h"
>   #include "architecture.h"
> -@@ -1143,11 +1146,15 @@ void reset_cached_pid(void) {
> +@@ -1121,11 +1124,15 @@ void reset_cached_pid(void) {
>           cached_pid = CACHED_PID_UNSET;
>   }
>
> @@ -40,6 +41,3 @@ index 0851613fc9..4417101569 100644
>
>   pid_t getpid_cached(void) {
>           static bool installed = false;
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
> index aeacd865ae..af1a6bb053 100644
> --- a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
> +++ b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
> @@ -1,7 +1,7 @@
> -From e45bb02174812e4935214f42a18725be320770d5 Mon Sep 17 00:00:00 2001
> +From dc40487e0ac26e3ca317429b9c3e8f01772de60a Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 15:12:41 +0800
> -Subject: [PATCH 10/26] Use uintmax_t for handling rlim_t
> +Subject: [PATCH] Use uintmax_t for handling rlim_t
>
>  PRIu{32,64} is not right format to represent rlim_t type
>  therefore use %ju and typecast the rlim_t variables to
> @@ -20,6 +20,7 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199]
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  [Rebased for v241]
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> +
>  ---
>   src/basic/format-util.h |  8 +-------
>   src/basic/rlimit-util.c | 10 +++++-----
> @@ -46,10 +47,10 @@ index b7e18768e3..3195ab205d 100644
>   #if SIZEOF_DEV_T == 8
>   #  define DEV_FMT "%" PRIu64
>  diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
> -index 880976312c..9e1b61cd4a 100644
> +index 23d108d5df..94373c9422 100644
>  --- a/src/basic/rlimit-util.c
>  +++ b/src/basic/rlimit-util.c
> -@@ -306,13 +306,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
> +@@ -308,13 +308,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
>           if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
>                   s = strdup("infinity");
>           else if (rl->rlim_cur >= RLIM_INFINITY)
> @@ -67,7 +68,7 @@ index 880976312c..9e1b61cd4a 100644
>
>           if (!s)
>                   return -ENOMEM;
> -@@ -403,7 +403,7 @@ int rlimit_nofile_safe(void) {
> +@@ -405,7 +405,7 @@ int rlimit_nofile_safe(void) {
>
>           rl.rlim_cur = FD_SETSIZE;
>           if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
> @@ -77,10 +78,10 @@ index 880976312c..9e1b61cd4a 100644
>           return 1;
>   }
>  diff --git a/src/core/execute.c b/src/core/execute.c
> -index 89632e0582..335283776c 100644
> +index f82fc294c0..4696d055a8 100644
>  --- a/src/core/execute.c
>  +++ b/src/core/execute.c
> -@@ -5288,9 +5288,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
> +@@ -5370,9 +5370,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
>           for (unsigned i = 0; i < RLIM_NLIMITS; i++)
>                   if (c->rlimit[i]) {
>                           fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
> @@ -92,6 +93,3 @@ index 89632e0582..335283776c 100644
>                   }
>
>           if (c->ioprio_set) {
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
> index 6d7fdbcb64..b1d782719c 100644
> --- a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
> +++ b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
> @@ -1,13 +1,13 @@
> -From d1db531ddd3bbf94d5e764b7917bcc8684ff6357 Mon Sep 17 00:00:00 2001
> +From f8be7b283309e4332eedc088774daac637afef7b Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Wed, 28 Feb 2018 21:25:22 -0800
> -Subject: [PATCH 11/26] test-sizeof.c: Disable tests for missing typedefs in
> - musl
> +Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in musl
>
>  Upstream-Status: Inappropriate [musl specific]
>
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> +
>  ---
>   src/test/test-sizeof.c | 4 ++++
>   1 file changed, 4 insertions(+)
> @@ -37,6 +37,3 @@ index 3c9dc180fa..e1a59d408c 100644
>           info(pid_t);
>           info(uid_t);
>           info(gid_t);
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
> index c15b6e7d82..5f2178734d 100644
> --- a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
> +++ b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
> @@ -1,7 +1,7 @@
> -From 03e89da266edf70121a19ffc32a78cc3b97585ef Mon Sep 17 00:00:00 2001
> +From 06915b70735caa66987af758ebdc4207757ae758 Mon Sep 17 00:00:00 2001
>  From: Andre McCurdy <armccurdy@gmail.com>
>  Date: Tue, 10 Oct 2017 14:33:30 -0700
> -Subject: [PATCH 12/26] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
> +Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
>
>  Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
>  thing to do and it's not portable (not supported by musl). See:
> @@ -25,20 +25,22 @@ just historical and not actually necessary or desired behaviour?
>  Upstream-Status: Inappropriate [musl specific]
>
>  Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
> +
>  ---
> - src/basic/fs-util.h          | 22 +++++++++++++++++++++-
> + src/basic/fs-util.h          | 23 +++++++++++++++++++++--
>   src/shared/base-filesystem.c |  6 +++---
> - 2 files changed, 24 insertions(+), 4 deletions(-)
> + 2 files changed, 24 insertions(+), 5 deletions(-)
>
>  diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
> -index 5dc8853eac..0491b3dae2 100644
> +index 027037f7a7..16eb379caf 100644
>  --- a/src/basic/fs-util.h
>  +++ b/src/basic/fs-util.h
> -@@ -43,7 +43,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
> +@@ -44,8 +44,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
>   int fd_warn_permissions(const char *path, int fd);
>   int stat_warn_permissions(const char *path, const struct stat *st);
>
> --#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)
> +-#define laccess(path, mode)                                             \
> +-        (faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW) < 0 ? -errno : 0)
>  +/*
>  +   Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
>  +   do and it's not portable (not supported by musl). See:
> @@ -94,6 +96,3 @@ index 1d05409086..1ed06c31ab 100644
>                                                   continue;
>                                   }
>
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
> index 89736bcfde..51b145729d 100644
> --- a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
> +++ b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
> @@ -1,8 +1,7 @@
> -From dd134880e9a16595ab473934577e873c748e9c7a Mon Sep 17 00:00:00 2001
> +From 0c44af262cfa07c57db4b32de1f7610af47797f4 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Sun, 27 May 2018 08:36:44 -0700
> -Subject: [PATCH 13/26] Define glibc compatible basename() for non-glibc
> - systems
> +Subject: [PATCH] Define glibc compatible basename() for non-glibc systems
>
>  Fixes builds with musl, even though systemd is adamant about
>  using non-posix basename implementation, we have a way out
> @@ -10,12 +9,13 @@ using non-posix basename implementation, we have a way out
>  Upstream-Status: Inappropriate [musl specific]
>
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +
>  ---
>   src/machine/machine-dbus.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
>  diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
> -index f5780f1aec..aec5825b3e 100644
> +index 3a1e4f9072..ab87b9882c 100644
>  --- a/src/machine/machine-dbus.c
>  +++ b/src/machine/machine-dbus.c
>  @@ -11,6 +11,11 @@
> @@ -30,6 +30,3 @@ index f5780f1aec..aec5825b3e 100644
>   #include "alloc-util.h"
>   #include "bus-common-errors.h"
>   #include "bus-get-properties.h"
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> index e95d2ae078..7444d4375f 100644
> --- a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> +++ b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> @@ -1,7 +1,7 @@
> -From 55af446156da863b5b36a1109845858956a4c274 Mon Sep 17 00:00:00 2001
> +From 0f4b60e34a806055c678eb97a7ec7e21291bcf48 Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Wed, 4 Jul 2018 15:00:44 +0800
> -Subject: [PATCH 14/26] Do not disable buffering when writing to oom_score_adj
> +Subject: [PATCH] Do not disable buffering when writing to oom_score_adj
>
>  On musl, disabling buffering when writing to oom_score_adj will
>  cause the following error.
> @@ -19,15 +19,16 @@ Upstream-Status: Inappropriate [musl specific]
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>  [rebased for systemd 243]
>  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> +
>  ---
>   src/basic/process-util.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
>  diff --git a/src/basic/process-util.c b/src/basic/process-util.c
> -index 4417101569..556dab8ebf 100644
> +index caa9dfe3a3..6101f43db5 100644
>  --- a/src/basic/process-util.c
>  +++ b/src/basic/process-util.c
> -@@ -1536,7 +1536,7 @@ int set_oom_score_adjust(int value) {
> +@@ -1523,7 +1523,7 @@ int set_oom_score_adjust(int value) {
>           sprintf(t, "%i", value);
>
>           return write_string_file("/proc/self/oom_score_adj", t,
> @@ -36,6 +37,3 @@ index 4417101569..556dab8ebf 100644
>   }
>
>   int pidfd_get_pid(int fd, pid_t *ret) {
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> index 5cdcf84dc1..90cc70d216 100644
> --- a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> +++ b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> @@ -1,7 +1,7 @@
> -From e382845aed90cfe4496a8351d57d4466dd2e9a9c Mon Sep 17 00:00:00 2001
> +From c30ab62d18ce88187f5eb6c236e0977c9337f68d Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Tue, 10 Jul 2018 15:40:17 +0800
> -Subject: [PATCH 15/26] distinguish XSI-compliant strerror_r from GNU-specifi
> +Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi
>   strerror_r
>
>  XSI-compliant strerror_r and GNU-specifi strerror_r are different.
> @@ -18,28 +18,12 @@ assigned to (char *) variable, resulting in segment fault.
>  Upstream-Status: Inappropriate [musl specific]
>
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> +
>  ---
> - src/journal/journal-send.c        | 5 +++++
> - src/libsystemd/sd-bus/bus-error.c | 5 +++++
> + src/libsystemd/sd-bus/bus-error.c        | 5 +++++
> + src/libsystemd/sd-journal/journal-send.c | 5 +++++
>   2 files changed, 10 insertions(+)
>
> -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
> -index e8e6ad555b..8ca5271d02 100644
> ---- a/src/journal/journal-send.c
> -+++ b/src/journal/journal-send.c
> -@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
> -                 char* j;
> -
> -                 errno = 0;
> -+#ifndef __GLIBC__
> -+                strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
> -+                j = buffer + 8 + k;
> -+#else
> -                 j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
> -+#endif
> -                 if (errno == 0) {
> -                         char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
> -
>  diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
>  index 8da2024a50..9605a9b869 100644
>  --- a/src/libsystemd/sd-bus/bus-error.c
> @@ -57,6 +41,20 @@ index 8da2024a50..9605a9b869 100644
>                   if (errno == ERANGE || strlen(x) >= k - 1) {
>                           free(m);
>                           k *= 2;
> ---
> -2.27.0
> -
> +diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
> +index e8e6ad555b..8ca5271d02 100644
> +--- a/src/libsystemd/sd-journal/journal-send.c
> ++++ b/src/libsystemd/sd-journal/journal-send.c
> +@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
> +                 char* j;
> +
> +                 errno = 0;
> ++#ifndef __GLIBC__
> ++                strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
> ++                j = buffer + 8 + k;
> ++#else
> +                 j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
> ++#endif
> +                 if (errno == 0) {
> +                         char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
> +
> diff --git a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> index 9a125de638..de7f9ecfa2 100644
> --- a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> +++ b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> @@ -1,7 +1,7 @@
> -From 0c7af5f288231a8c0545e169e01ba5ee173cafe7 Mon Sep 17 00:00:00 2001
> +From fa86e5578256dddb296fd30128929ea7c4b792a4 Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 15:18:00 +0800
> -Subject: [PATCH 16/26] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
> +Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
>
>  for currently unknown reasons they get exported to the shared libries
>  even without being listed in the sym file
> @@ -11,6 +11,7 @@ Upstream-Status: Pending
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
>  [Rebased for v241]
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> +
>  ---
>   src/libsystemd/sd-bus/bus-error.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> @@ -30,6 +31,3 @@ index 9605a9b869..38b6cf90c3 100644
>
>   /* Additional maps registered with sd_bus_error_add_map() are in this
>    * NULL terminated array */
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
> index 31747c6b40..d9ef2b8a47 100644
> --- a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
> +++ b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
> @@ -1,7 +1,7 @@
> -From 32dd7a47b87793cd836ab4bb776d1524f24c2d58 Mon Sep 17 00:00:00 2001
> +From 11e730694706fa354a0e43c588ef66677a777d9a Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 15:27:54 +0800
> -Subject: [PATCH 17/26] missing_type.h: add __compar_d_fn_t definition
> +Subject: [PATCH] missing_type.h: add __compar_d_fn_t definition
>
>  Fix the following compile failure:
>  src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'?
> @@ -9,6 +9,7 @@ src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean
>  Upstream-Status: Inappropriate [musl specific]
>
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> +
>  ---
>   src/basic/missing_type.h | 1 +
>   1 file changed, 1 insertion(+)
> @@ -25,6 +26,3 @@ index 3df1084ef2..697aa7f58a 100644
>   #endif
>
>   #ifndef __COMPAR_FN_T
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
> index 56d361a213..3b60854233 100644
> --- a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
> +++ b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
> @@ -1,7 +1,7 @@
> -From bfc3416edeb69082ac9b9c9e844f12d7b45bb006 Mon Sep 17 00:00:00 2001
> +From 45bae28d3da6607d33d54f4b30a500f5249aadde Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 15:44:54 +0800
> -Subject: [PATCH 18/26] avoid redefinition of prctl_mm_map structure
> +Subject: [PATCH] avoid redefinition of prctl_mm_map structure
>
>  Fix the following compile failure:
>  error: redefinition of 'struct prctl_mm_map'
> @@ -9,6 +9,7 @@ error: redefinition of 'struct prctl_mm_map'
>  Upstream-Status: Inappropriate [musl specific]
>
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> +
>  ---
>   src/basic/missing_prctl.h | 2 ++
>   1 file changed, 2 insertions(+)
> @@ -27,6 +28,3 @@ index ab851306ba..5547cad875 100644
>
>   /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
>   #ifndef PR_CAP_AMBIENT
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
> index 6ca196489b..7d6433f317 100644
> --- a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
> +++ b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
> @@ -1,16 +1,17 @@
> -From e427f03de2c56e868bb0f24aa231315b2dae1b71 Mon Sep 17 00:00:00 2001
> +From 6e593ff2afbe4bfe15eee2ec34e51490a38462f5 Mon Sep 17 00:00:00 2001
>  From: Alex Kiernan <alex.kiernan@gmail.com>
>  Date: Fri, 7 Aug 2020 15:19:27 +0000
> -Subject: [PATCH 19/26] Handle missing LOCK_EX
> +Subject: [PATCH] Handle missing LOCK_EX
>
>  Upstream-Status: Inappropriate [musl specific]
>  Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> +
>  ---
>   src/partition/makefs.c | 1 +
>   1 file changed, 1 insertion(+)
>
>  diff --git a/src/partition/makefs.c b/src/partition/makefs.c
> -index fd924d2231..b97580fdcc 100644
> +index 7c94fbfedb..42f966722d 100644
>  --- a/src/partition/makefs.c
>  +++ b/src/partition/makefs.c
>  @@ -6,6 +6,7 @@
> @@ -21,6 +22,3 @@ index fd924d2231..b97580fdcc 100644
>
>   #include "alloc-util.h"
>   #include "blockdev-util.h"
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
> index f74de43849..1faee1c055 100644
> --- a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
> +++ b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
> @@ -1,7 +1,7 @@
> -From 9abbc5e69e21aef0d4d4567e69302fa660b76c53 Mon Sep 17 00:00:00 2001
> +From ac579b296aa29c2f1dad9425c6d795e154ec8f7c Mon Sep 17 00:00:00 2001
>  From: Alex Kiernan <alex.kiernan@gmail.com>
>  Date: Fri, 7 Aug 2020 15:20:17 +0000
> -Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un *
> +Subject: [PATCH] Fix incompatible pointer type struct sockaddr_un *
>
>  | ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c: In function 'cant_be_in_netns':
>  | ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c:4893:25: error: passing argument 2 of 'connect' from incompatible pointer type [-Werror=incompatible-pointer-types]
> @@ -18,15 +18,16 @@ Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un *
>
>  Upstream-Status: Inappropriate [musl specific]
>  Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> +
>  ---
>   src/nspawn/nspawn.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
>  diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
> -index 0842731c18..3528b7ff14 100644
> +index a4ac8ed2bb..0c41a48d4b 100644
>  --- a/src/nspawn/nspawn.c
>  +++ b/src/nspawn/nspawn.c
> -@@ -5084,7 +5084,7 @@ static int cant_be_in_netns(void) {
> +@@ -5125,7 +5125,7 @@ static int cant_be_in_netns(void) {
>           if (fd < 0)
>                   return log_error_errno(errno, "Failed to allocate udev control socket: %m");
>
> @@ -35,6 +36,3 @@ index 0842731c18..3528b7ff14 100644
>
>                   if (errno == ENOENT || ERRNO_IS_DISCONNECT(errno))
>                           return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
> index fa6652a5bf..14c8ff73a0 100644
> --- a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
> +++ b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
> @@ -1,7 +1,7 @@
> -From 1f5bc54bed0b365e7e448c26f6c792dbe8b3b198 Mon Sep 17 00:00:00 2001
> +From 6bc78df50adb48d24a2abfdf65b44b932cc5a571 Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Mon, 25 Feb 2019 16:53:06 +0800
> -Subject: [PATCH 21/26] test-json.c: define M_PIl
> +Subject: [PATCH] test-json.c: define M_PIl
>
>  Fix the following compile failure:
>  src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'?
> @@ -9,6 +9,7 @@ src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this functi
>  Upstream-Status: Inappropriate [musl specific]
>
>  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> +
>  ---
>   src/test/test-json.c | 4 ++++
>   1 file changed, 4 insertions(+)
> @@ -28,6 +29,3 @@ index 1d4b11945e..572c8cf9d0 100644
>   static void test_tokenizer(const char *data, ...) {
>           unsigned line = 0, column = 0;
>           void *state = NULL;
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
> index 675fd20f11..bd627c51e9 100644
> --- a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
> +++ b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
> @@ -1,7 +1,7 @@
> -From 564dba5ad0cd884e3f69fa19ca64095413578ea5 Mon Sep 17 00:00:00 2001
> +From 7cb6579572b50ef44bc0a321a4c73cce55b0c2f2 Mon Sep 17 00:00:00 2001
>  From: Chen Qi <Qi.Chen@windriver.com>
>  Date: Fri, 1 Mar 2019 15:22:15 +0800
> -Subject: [PATCH 22/26] do not disable buffer in writing files
> +Subject: [PATCH] do not disable buffer in writing files
>
>  Do not disable buffer in writing files, otherwise we get
>  failure at boot for musl like below.
> @@ -18,10 +18,12 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
>  [rebased for systemd 243]
>  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> +
>  ---
>   src/basic/cgroup-util.c                 | 10 +++++-----
>   src/basic/procfs-util.c                 |  4 ++--
>   src/basic/smack-util.c                  |  2 +-
> + src/basic/sysctl-util.c                 |  2 +-
>   src/basic/util.c                        |  2 +-
>   src/binfmt/binfmt.c                     |  6 +++---
>   src/core/main.c                         |  4 ++--
> @@ -32,18 +34,15 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
>   src/nspawn/nspawn-cgroup.c              |  2 +-
>   src/nspawn/nspawn.c                     |  6 +++---
>   src/shared/cgroup-setup.c               |  4 ++--
> - src/shared/sysctl-util.c                |  2 +-
>   src/sleep/sleep.c                       |  8 ++++----
> - src/udev/udevadm-trigger.c              |  2 +-
> - src/udev/udevd.c                        |  2 +-
>   src/vconsole/vconsole-setup.c           |  2 +-
> - 18 files changed, 35 insertions(+), 35 deletions(-)
> + 16 files changed, 33 insertions(+), 33 deletions(-)
>
>  diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
> -index bb960f183c..cb804c5f4b 100644
> +index 50c1ae1b2b..5b40e92163 100644
>  --- a/src/basic/cgroup-util.c
>  +++ b/src/basic/cgroup-util.c
> -@@ -759,7 +759,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
> +@@ -765,7 +765,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
>
>           sc = strstrip(contents);
>           if (isempty(sc)) {
> @@ -52,7 +51,7 @@ index bb960f183c..cb804c5f4b 100644
>                   if (r < 0)
>                           return r;
>           } else if (!path_equal(sc, agent))
> -@@ -777,7 +777,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
> +@@ -783,7 +783,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
>
>           sc = strstrip(contents);
>           if (streq(sc, "0")) {
> @@ -61,7 +60,7 @@ index bb960f183c..cb804c5f4b 100644
>                   if (r < 0)
>                           return r;
>
> -@@ -804,7 +804,7 @@ int cg_uninstall_release_agent(const char *controller) {
> +@@ -810,7 +810,7 @@ int cg_uninstall_release_agent(const char *controller) {
>           if (r < 0)
>                   return r;
>
> @@ -70,7 +69,7 @@ index bb960f183c..cb804c5f4b 100644
>           if (r < 0)
>                   return r;
>
> -@@ -814,7 +814,7 @@ int cg_uninstall_release_agent(const char *controller) {
> +@@ -820,7 +820,7 @@ int cg_uninstall_release_agent(const char *controller) {
>           if (r < 0)
>                   return r;
>
> @@ -79,7 +78,7 @@ index bb960f183c..cb804c5f4b 100644
>           if (r < 0)
>                   return r;
>
> -@@ -1646,7 +1646,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
> +@@ -1650,7 +1650,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
>           if (r < 0)
>                   return r;
>
> @@ -121,11 +120,24 @@ index 3362ee3924..80c0f2a52e 100644
>           if (r < 0)
>                   return r;
>
> +diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
> +index c96b5cd77f..d2476d9665 100644
> +--- a/src/basic/sysctl-util.c
> ++++ b/src/basic/sysctl-util.c
> +@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
> +
> +         log_debug("Setting '%s' to '%s'", p, value);
> +
> +-        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
> ++        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
> + }
> +
> + int sysctl_read(const char *property, char **ret) {
>  diff --git a/src/basic/util.c b/src/basic/util.c
> -index f98ecf3858..13e0f7431f 100644
> +index 955b18bd2a..6d89c90176 100644
>  --- a/src/basic/util.c
>  +++ b/src/basic/util.c
> -@@ -267,7 +267,7 @@ void disable_coredumps(void) {
> +@@ -234,7 +234,7 @@ void disable_coredumps(void) {
>           if (detect_container() > 0)
>                   return;
>
> @@ -135,7 +147,7 @@ index f98ecf3858..13e0f7431f 100644
>                   log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
>   }
>  diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
> -index 43ed2f385b..37a6f578f7 100644
> +index f6b72e0bae..e9fd4d06be 100644
>  --- a/src/binfmt/binfmt.c
>  +++ b/src/binfmt/binfmt.c
>  @@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
> @@ -156,7 +168,7 @@ index 43ed2f385b..37a6f578f7 100644
>           if (r < 0)
>                   return log_error_errno(r, "Failed to add binary format: %m");
>
> -@@ -223,7 +223,7 @@ static int run(int argc, char *argv[]) {
> +@@ -222,7 +222,7 @@ static int run(int argc, char *argv[]) {
>                   }
>
>                   /* Flush out all rules */
> @@ -166,10 +178,10 @@ index 43ed2f385b..37a6f578f7 100644
>                   STRV_FOREACH(f, files) {
>                           k = apply_file(*f, true);
>  diff --git a/src/core/main.c b/src/core/main.c
> -index a280b756ff..334532cd42 100644
> +index 3ee8d0a869..ec36e3e80f 100644
>  --- a/src/core/main.c
>  +++ b/src/core/main.c
> -@@ -1382,7 +1382,7 @@ static int bump_unix_max_dgram_qlen(void) {
> +@@ -1401,7 +1401,7 @@ static int bump_unix_max_dgram_qlen(void) {
>           if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
>                   return 0;
>
> @@ -178,7 +190,7 @@ index a280b756ff..334532cd42 100644
>           if (r < 0)
>                   return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
>                                         "Failed to bump AF_UNIX datagram queue length, ignoring: %m");
> -@@ -1666,7 +1666,7 @@ static void initialize_core_pattern(bool skip_setup) {
> +@@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) {
>           if (getpid_cached() != 1)
>                   return;
>
> @@ -188,7 +200,7 @@ index a280b756ff..334532cd42 100644
>                   log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
>   }
>  diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
> -index 1fe592af70..603942a000 100644
> +index 8cc1696a4f..ab7b4ba2c3 100644
>  --- a/src/core/smack-setup.c
>  +++ b/src/core/smack-setup.c
>  @@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) {
> @@ -214,7 +226,7 @@ index 1fe592af70..603942a000 100644
>                   log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
>   #endif
>  diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
> -index d8f91f4e66..a088e6e2d8 100644
> +index 58e35e403e..1d0beb4008 100644
>  --- a/src/hibernate-resume/hibernate-resume.c
>  +++ b/src/hibernate-resume/hibernate-resume.c
>  @@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
> @@ -227,20 +239,20 @@ index d8f91f4e66..a088e6e2d8 100644
>                   log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
>                   return EXIT_FAILURE;
>  diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
> -index d06f90ce1d..43d0a58750 100644
> +index d82f01a164..b8fd63346c 100644
>  --- a/src/libsystemd/sd-device/sd-device.c
>  +++ b/src/libsystemd/sd-device/sd-device.c
> -@@ -1976,7 +1976,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
> +@@ -1987,7 +1987,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
>           if (!value)
>                   return -ENOMEM;
>
>  -        r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
>  +        r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW);
>           if (r < 0) {
> -                 if (r == -ELOOP)
> -                         return -EINVAL;
> +                 /* On failure, clear cache entry, as we do not know how it fails. */
> +                 device_remove_cached_sysattr_value(device, sysattr);
>  diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
> -index 7d757aa286..a5d9da5b7e 100644
> +index 3bc424b83b..5f5eef0843 100644
>  --- a/src/login/logind-dbus.c
>  +++ b/src/login/logind-dbus.c
>  @@ -1330,7 +1330,7 @@ static int trigger_device(Manager *m, sd_device *d) {
> @@ -266,10 +278,10 @@ index cb01b25bc6..e92051268b 100644
>                   log_error_errno(r, "Failed to move process: %m");
>                   goto finish;
>  diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
> -index 3528b7ff14..11b0c20f95 100644
> +index 0c41a48d4b..9c893b18e4 100644
>  --- a/src/nspawn/nspawn.c
>  +++ b/src/nspawn/nspawn.c
> -@@ -2667,7 +2667,7 @@ static int reset_audit_loginuid(void) {
> +@@ -2695,7 +2695,7 @@ static int reset_audit_loginuid(void) {
>           if (streq(p, "4294967295"))
>                   return 0;
>
> @@ -278,7 +290,7 @@ index 3528b7ff14..11b0c20f95 100644
>           if (r < 0) {
>                   log_error_errno(r,
>                                   "Failed to reset audit login UID. This probably means that your kernel is too\n"
> -@@ -3920,13 +3920,13 @@ static int setup_uid_map(pid_t pid) {
> +@@ -3948,13 +3948,13 @@ static int setup_uid_map(pid_t pid) {
>
>           xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
>           xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range);
> @@ -316,21 +328,8 @@ index f197f715c7..077f893177 100644
>                           if (r < 0) {
>                                   log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
>                                                   FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
> -diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
> -index 670c33108b..7c7c3dcfb6 100644
> ---- a/src/shared/sysctl-util.c
> -+++ b/src/shared/sysctl-util.c
> -@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
> -
> -         log_debug("Setting '%s' to '%s'", p, value);
> -
> --        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
> -+        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
> - }
> -
> - int sysctl_read(const char *property, char **content) {
>  diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
> -index 39ab554290..d0e566645d 100644
> +index 262d4cea66..0523e8dc9b 100644
>  --- a/src/sleep/sleep.c
>  +++ b/src/sleep/sleep.c
>  @@ -48,7 +48,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca
> @@ -369,34 +368,8 @@ index 39ab554290..d0e566645d 100644
>                   if (k >= 0)
>                           return 0;
>                   log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
> -diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
> -index 5c74184c33..65f528314e 100644
> ---- a/src/udev/udevadm-trigger.c
> -+++ b/src/udev/udevadm-trigger.c
> -@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set **settle_s
> -                 if (!filename)
> -                         return log_oom();
> -
> --                r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER);
> -+                r = write_string_file(filename, action, 0);
> -                 if (r < 0) {
> -                         bool ignore = IN_SET(r, -ENOENT, -ENODEV);
> -
> -diff --git a/src/udev/udevd.c b/src/udev/udevd.c
> -index d24b8d4398..d123a43904 100644
> ---- a/src/udev/udevd.c
> -+++ b/src/udev/udevd.c
> -@@ -1192,7 +1192,7 @@ static int synthesize_change_one(sd_device *dev, const char *syspath) {
> -
> -         filename = strjoina(syspath, "/uevent");
> -         log_device_debug(dev, "device is closed, synthesising 'change' on %s", syspath);
> --        r = write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
> -+        r = write_string_file(filename, "change", 0);
> -         if (r < 0)
> -                 return log_device_debug_errno(dev, r, "Failed to write 'change' to %s: %m", filename);
> -         return 0;
>  diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
> -index b28e2853e1..115b7233a0 100644
> +index d1c3febdd5..1cc68694d1 100644
>  --- a/src/vconsole/vconsole-setup.c
>  +++ b/src/vconsole/vconsole-setup.c
>  @@ -116,7 +116,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
> @@ -408,6 +381,3 @@ index b28e2853e1..115b7233a0 100644
>           if (r < 0)
>                   return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
>
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
> index 1cc3985d12..7d1bd60255 100644
> --- a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
> +++ b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
> @@ -1,7 +1,7 @@
> -From bbda4a48a34662393117fc677c3a678d4ce4c2ec Mon Sep 17 00:00:00 2001
> +From d73755cc60f401f0f20f357752e45aeeeef8e83f Mon Sep 17 00:00:00 2001
>  From: Scott Murray <scott.murray@konsulko.com>
>  Date: Fri, 13 Sep 2019 19:26:27 -0400
> -Subject: [PATCH 25/26] Handle __cpu_mask usage
> +Subject: [PATCH] Handle __cpu_mask usage
>
>  Fixes errors:
>
> @@ -18,6 +18,7 @@ add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
>  Upstream-Status: Inappropriate [musl specific]
>
>  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> +
>  ---
>   src/shared/cpu-set-util.h | 2 ++
>   src/test/test-sizeof.c    | 2 +-
> @@ -55,6 +56,3 @@ index e1a59d408c..c269ea6e8c 100644
>
>   /* Print information about various types. Useful when diagnosing
>    * gcc diagnostics on an unfamiliar architecture. */
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
> index 4180afb08e..068600fa44 100644
> --- a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
> +++ b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
> @@ -1,7 +1,7 @@
> -From 47bf88f74717b417e4adbcc04256334b2335c873 Mon Sep 17 00:00:00 2001
> +From 04e94f9a15101daa8f65a9af269d26cda2a24056 Mon Sep 17 00:00:00 2001
>  From: Alex Kiernan <alex.kiernan@gmail.com>
>  Date: Tue, 10 Mar 2020 11:05:20 +0000
> -Subject: [PATCH 26/26] Handle missing gshadow
> +Subject: [PATCH] Handle missing gshadow
>
>  gshadow usage is now present in the userdb code. Mask all uses of it to
>  allow compilation on musl
> @@ -10,6 +10,7 @@ Upstream-Status: Inappropriate [musl specific]
>  Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
>  [Rebased for v247]
>  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> +
>  ---
>   src/shared/user-record-nss.c | 20 ++++++++++++++++++++
>   src/shared/user-record-nss.h |  4 ++++
> @@ -138,10 +139,10 @@ index 22ab04d6ee..4e52e7a911 100644
>   #include <shadow.h>
>
>  diff --git a/src/shared/userdb.c b/src/shared/userdb.c
> -index 2d480283d1..0d19764f2e 100644
> +index 613350bd46..5c821d28cd 100644
>  --- a/src/shared/userdb.c
>  +++ b/src/shared/userdb.c
> -@@ -929,13 +929,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
> +@@ -938,13 +938,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
>                   if (gr) {
>                           _cleanup_free_ char *buffer = NULL;
>                           bool incomplete = false;
> @@ -155,10 +156,10 @@ index 2d480283d1..0d19764f2e 100644
>                                   iterator->synthesize_nobody = false;
>
>  +#if ENABLE_GSHADOW
> -                         r = nss_sgrp_for_group(gr, &sgrp, &buffer);
> -                         if (r < 0) {
> -                                 log_debug_errno(r, "Failed to acquire shadow entry for group %s, ignoring: %m", gr->gr_name);
> -@@ -943,6 +946,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
> +                         if (!FLAGS_SET(iterator->flags, USERDB_AVOID_SHADOW)) {
> +                                 r = nss_sgrp_for_group(gr, &sgrp, &buffer);
> +                                 if (r < 0) {
> +@@ -957,6 +960,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
>                           }
>
>                           r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
> @@ -168,6 +169,3 @@ index 2d480283d1..0d19764f2e 100644
>                           if (r < 0)
>                                   return r;
>
> ---
> -2.27.0
> -
> diff --git a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch b/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> deleted file mode 100644
> index 94a4c307b5..0000000000
> --- a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> +++ /dev/null
> @@ -1,97 +0,0 @@
> -From 297aba739cd689e4dc9f43bb1422ec88d481099a Mon Sep 17 00:00:00 2001
> -From: Paul Gortmaker <paul.gortmaker@windriver.com>
> -Date: Wed, 13 Jan 2021 21:09:33 +0000
> -Subject: [PATCH] proc: dont trigger mount error with invalid options on old
> - kernels
> -
> -As of commit 4e39995371738b04d98d27b0d34ea8fe09ec9fab ("core: introduce
> -ProtectProc= and ProcSubset= to expose hidepid= and subset= procfs
> -mount options") kernels older than v5.8 generate multple warnings at
> -boot, as seen in this Yocto build from today:
> -
> -     qemux86-64 login: root
> -     [   65.829009] proc: Bad value for 'hidepid'
> -     root@qemux86-64:~# dmesg|grep proc:
> -     [   16.990706] proc: Bad value for 'hidepid'
> -     [   28.060178] proc: Bad value for 'hidepid'
> -     [   28.874229] proc: Bad value for 'hidepid'
> -     [   32.685107] proc: Bad value for 'hidepid'
> -     [   65.829009] proc: Bad value for 'hidepid'
> -     root@qemux86-64:~#
> -
> -The systemd maintainer has dismissed this as something people should
> -simply ignore[1] and has no interest in trying to avoid it by
> -proactively checking the kernel version, so people can safely assume
> -that they will never see this version check commit upstream.
> -
> -However, as can be seen above, telling people to just ignore it is not
> -an option, as we'll end up answering the same question and dealing with
> -the same bug over and over again.
> -
> -The commit that triggers this is systemd v247-rc1~378^2~3 -- so any
> -systemd 247 and above plus kernel v5.7 or older will need this.
> -
> -[1] https://github.com/systemd/systemd/issues/16896
> -
> -Upstream-Status: Denied [https://github.com/systemd/systemd/issues/16896]
> -Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> -
> -Index: git/src/core/namespace.c
> -===================================================================
> ---- git.orig/src/core/namespace.c
> -+++ git/src/core/namespace.c
> -@@ -4,7 +4,9 @@
> - #include <linux/loop.h>
> - #include <sched.h>
> - #include <stdio.h>
> -+#include <stdlib.h>
> - #include <sys/mount.h>
> -+#include <sys/utsname.h>
> - #include <unistd.h>
> - #include <linux/fs.h>
> -
> -@@ -860,13 +862,32 @@ static int mount_sysfs(const MountEntry
> -
> - static int mount_procfs(const MountEntry *m, const NamespaceInfo *ns_info) {
> -         const char *entry_path;
> --        int r;
> -+        int r, major, minor;
> -+        struct utsname uts;
> -+        bool old = false;
> -
> -         assert(m);
> -         assert(ns_info);
> -
> -         entry_path = mount_entry_path(m);
> -
> -+        /* If uname says that the system is older than v5.8, then the textual hidepid= stuff is not
> -+         * supported by the kernel, and thus the per-instance hidepid= neither, which means we
> -+         * really don't want to use it, since it would affect our host's /proc * mount. Hence let's
> -+         * gracefully fallback to a classic, unrestricted version. */
> -+
> -+        r = uname(&uts);
> -+        if (r < 0)
> -+               return errno;
> -+
> -+        major = atoi(uts.release);
> -+        minor = atoi(strchr(uts.release, '.') + 1);
> -+
> -+        if (major < 5 || (major == 5 && minor < 8)) {
> -+                log_debug("Pre v5.8 kernel detected [v%d.%d] - skipping hidepid=", major, minor);
> -+                old = true;
> -+        }
> -+
> -         /* Mount a new instance, so that we get the one that matches our user namespace, if we are running in
> -          * one. i.e we don't reuse existing mounts here under any condition, we want a new instance owned by
> -          * our user namespace and with our hidepid= settings applied. Hence, let's get rid of everything
> -@@ -875,8 +896,8 @@ static int mount_procfs(const MountEntry
> -         (void) mkdir_p_label(entry_path, 0755);
> -         (void) umount_recursive(entry_path, 0);
> -
> --        if (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
> --            ns_info->proc_subset != PROC_SUBSET_ALL) {
> -+        if (!old && (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
> -+            ns_info->proc_subset != PROC_SUBSET_ALL)) {
> -                 _cleanup_free_ char *opts = NULL;
> -
> -                 /* Starting with kernel 5.8 procfs' hidepid= logic is truly per-instance (previously it
> diff --git a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
> index bbee6e6b28..2289404d8d 100644
> --- a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
> +++ b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
> @@ -1,4 +1,4 @@
> -From 7b32582c066549fea0f7180a6c575e7fa37a867f Mon Sep 17 00:00:00 2001
> +From 366cd28f5f93ba7c861cd32a718251770d74830e Mon Sep 17 00:00:00 2001
>  From: Khem Raj <raj.khem@gmail.com>
>  Date: Mon, 12 Apr 2021 23:44:53 -0700
>  Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl
> @@ -10,15 +10,16 @@ them here in case they are undefined
>  Upstream-Status: Pending
>
>  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +
>  ---
>   src/basic/missing_syscall.h | 6 ++++++
>   1 file changed, 6 insertions(+)
>
>  diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
> -index 0594a1b930..495d161334 100644
> +index 1384324804..0202d00372 100644
>  --- a/src/basic/missing_syscall.h
>  +++ b/src/basic/missing_syscall.h
> -@@ -15,6 +15,12 @@
> +@@ -20,6 +20,12 @@
>   #include <asm/sgidefs.h>
>   #endif
>
> @@ -28,9 +29,6 @@ index 0594a1b930..495d161334 100644
>  +#define _MIPS_SIM_ABI64               3
>  +#endif
>  +
> - #if defined(__x86_64__) && defined(__ILP32__)
> - #  define systemd_SC_arch_bias(x) ((x) | /* __X32_SYSCALL_BIT */ 0x40000000)
> - #elif defined(__ia64__)
> ---
> -2.31.1
> -
> + #include "missing_keyctl.h"
> + #include "missing_stat.h"
> + #include "missing_syscall_def.h"
> diff --git a/meta/recipes-core/systemd/systemd_247.6.bb b/meta/recipes-core/systemd/systemd_248.3.bb
> similarity index 99%
> rename from meta/recipes-core/systemd/systemd_247.6.bb
> rename to meta/recipes-core/systemd/systemd_248.3.bb
> index ce6ac7ebaa..b241330d96 100644
> --- a/meta/recipes-core/systemd/systemd_247.6.bb
> +++ b/meta/recipes-core/systemd/systemd_248.3.bb
> @@ -14,7 +14,8 @@ inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu
>  # that we don't build both udev and systemd in world builds.
>  REQUIRED_DISTRO_FEATURES = "systemd"
>
> -SRC_URI += "file://touchscreen.rules \
> +SRC_URI += " \
> +           file://touchscreen.rules \
>             file://00-create-volatile.conf \
>             ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \
>             ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \
> @@ -24,9 +25,6 @@ SRC_URI += "file://touchscreen.rules \
>             file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
>             file://0003-implment-systemd-sysv-install-for-OE.patch \
>             file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
> -           file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \
> -           file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \
> -           file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \
>             "
>
>  # patches needed by musl
> @@ -474,6 +472,7 @@ FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.c
>                           ${rootlibexecdir}/systemd/systemd-machined \
>                           ${rootlibexecdir}/systemd/systemd-pull \
>                           ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
> +                         ${exec_prefix}/lib/tmpfiles.d/README \
>                           ${systemd_system_unitdir}/systemd-nspawn@.service \
>                           ${libdir}/libnss_mymachines.so.2 \
>                           ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
> @@ -605,6 +604,7 @@ FILES_${PN} = " ${base_bindir}/* \
>                  ${exec_prefix}/lib/environment.d \
>                  ${localstatedir} \
>                  ${rootlibexecdir}/modprobe.d/systemd.conf \
> +                ${rootlibexecdir}/modprobe.d/README \
>                  ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
>                  ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
>                  ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
> @@ -647,6 +647,7 @@ FILES_udev += "${base_sbindir}/udevd \
>                 ${rootlibexecdir}/udev/ata_id \
>                 ${rootlibexecdir}/udev/cdrom_id \
>                 ${rootlibexecdir}/udev/collect \
> +               ${rootlibexecdir}/udev/dmi_memory_id \
>                 ${rootlibexecdir}/udev/fido_id \
>                 ${rootlibexecdir}/udev/findkeyboards \
>                 ${rootlibexecdir}/udev/keyboard-force-release.sh \
> @@ -674,6 +675,7 @@ FILES_udev += "${base_sbindir}/udevd \
>                 ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \
>                 ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
>                 ${rootlibexecdir}/udev/rules.d/70-joystick.rules \
> +               ${rootlibexecdir}/udev/rules.d/70-memory.rules \
>                 ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
>                 ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
>                 ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
> @@ -683,6 +685,7 @@ FILES_udev += "${base_sbindir}/udevd \
>                 ${rootlibexecdir}/udev/rules.d/80-drivers.rules \
>                 ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
>                 ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
> +               ${rootlibexecdir}/udev/rules.d/README \
>                 ${sysconfdir}/udev \
>                 ${sysconfdir}/init.d/systemd-udevd \
>                 ${systemd_unitdir}/system/*udev* \
> --
> 2.31.1
>
>
> 
>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [OE-core] [PATCH 02/21] systemd: update 247.6 -> 248.3
  2021-05-25  0:18   ` [OE-core] " Khem Raj
@ 2021-05-25  1:40     ` Khem Raj
  2021-05-25  7:55       ` Alexander Kanavin
  0 siblings, 1 reply; 29+ messages in thread
From: Khem Raj @ 2021-05-25  1:40 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

since master-next broke my CI, I have sent a fix on top of this.
Please include that

On Mon, May 24, 2021 at 5:18 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> Fails to compile for musl
>
> https://errors.yoctoproject.org/Errors/Details/585507/
>
> src/basic/percent-util.c source file needs to include
>
> #include "missing_stdlib.h"
>
> like other files in 0005-src-basic-missing.h-check-for-missing-strndupa.patch
>
> On Mon, May 24, 2021 at 2:14 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Drop backports:
> > 48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > 7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > 0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > 0001-analyze-resolve-executable-path-if-it-is-relative.patch
> >
> > Drop 0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> > as difficult to rebase; please resend if you feel strongly that
> > it is needed.
> >
> > Rebase the big pile of musl patches.
> >
> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ---
> >  ...f0a2af3f62acd446ebec8081b039b72caad8.patch | 179 --------------
> >  ...d25119a495009ea62f79e5daec34cc464628.patch |  53 ----
> >  ...md-boot_247.6.bb => systemd-boot_248.3.bb} |   0
> >  meta/recipes-core/systemd/systemd.inc         |   6 +-
> >  ...ve-executable-path-if-it-is-relative.patch |  39 ---
> >  ...chvt-as-non-root-user-without-polkit.patch | 227 ------------------
> >  ...002-don-t-use-glibc-specific-qsort_r.patch |  29 ++-
> >  ...dd-__compare_fn_t-and-comparison_fn_.patch |  26 +-
> >  ...k-parse_printf_format-implementation.patch |  46 ++--
> >  ...missing.h-check-for-missing-strndupa.patch | 204 ++++++++++++----
> >  .../0006-Include-netinet-if_ether.h.patch     |  56 +++--
> >  ...OB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch |  17 +-
> >  ...008-add-missing-FTW_-macros-for-musl.patch |   8 +-
> >  ..._register_atfork-for-non-glibc-build.patch |  12 +-
> >  ...10-Use-uintmax_t-for-handling-rlim_t.patch |  18 +-
> >  ...sable-tests-for-missing-typedefs-in-.patch |   9 +-
> >  ...T_SYMLINK_NOFOLLOW-flag-to-faccessat.patch |  19 +-
> >  ...patible-basename-for-non-glibc-syste.patch |  11 +-
> >  ...uffering-when-writing-to-oom_score_a.patch |  12 +-
> >  ...compliant-strerror_r-from-GNU-specif.patch |  46 ++--
> >  ...S_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch |   8 +-
> >  ...ype.h-add-__compar_d_fn_t-definition.patch |   8 +-
> >  ...definition-of-prctl_mm_map-structure.patch |   8 +-
> >  .../systemd/0019-Handle-missing-LOCK_EX.patch |  10 +-
> >  ...ible-pointer-type-struct-sockaddr_un.patch |  12 +-
> >  .../0021-test-json.c-define-M_PIl.patch       |   8 +-
> >  ...-not-disable-buffer-in-writing-files.patch | 116 ++++-----
> >  .../0025-Handle-__cpu_mask-usage.patch        |   8 +-
> >  .../systemd/0026-Handle-missing-gshadow.patch |  20 +-
> >  ...r-mount-error-with-invalid-options-o.patch |  97 --------
> >  ...l.h-Define-MIPS-ABI-defines-for-musl.patch |  16 +-
> >  .../{systemd_247.6.bb => systemd_248.3.bb}    |  11 +-
> >  32 files changed, 388 insertions(+), 951 deletions(-)
> >  delete mode 100644 meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> >  delete mode 100644 meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> >  rename meta/recipes-core/systemd/{systemd-boot_247.6.bb => systemd-boot_248.3.bb} (100%)
> >  delete mode 100644 meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> >  delete mode 100644 meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> >  delete mode 100644 meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> >  rename meta/recipes-core/systemd/{systemd_247.6.bb => systemd_248.3.bb} (99%)
> >
> > diff --git a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch b/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > deleted file mode 100644
> > index e3ce296741..0000000000
> > --- a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > +++ /dev/null
> > @@ -1,179 +0,0 @@
> > -From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00 2001
> > -From: Daan De Meyer <daan.j.demeyer@gmail.com>
> > -Date: Fri, 12 Mar 2021 22:09:44 +0000
> > -Subject: [PATCH] boot: Move console declarations to missing_efi.h
> > -
> > -These were added to eficonex.h in gnu-efi 3.0.13. Let's move them
> > -to missing_efi.h behind an appropriate guard to fix the build with
> > -recent versions of gnu-efi.
> > -
> > -(cherry picked from commit 95ba433a5f34baf92921fb58051bc8241f908c0e)
> > -
> > -Upstream-Status: Backport
> > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ----
> > - src/boot/efi/console.c     | 57 --------------------------------
> > - src/boot/efi/console.h     |  6 +---
> > - src/boot/efi/missing_efi.h | 67 ++++++++++++++++++++++++++++++++++++++
> > - 3 files changed, 68 insertions(+), 62 deletions(-)
> > -
> > -diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
> > -index 2dd4543d51..1d6dfeeea2 100644
> > ---- a/src/boot/efi/console.c
> > -+++ b/src/boot/efi/console.c
> > -@@ -9,63 +9,6 @@
> > - #define SYSTEM_FONT_WIDTH 8
> > - #define SYSTEM_FONT_HEIGHT 19
> > -
> > --#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
> > --        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
> > --
> > --struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
> > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > --        BOOLEAN ExtendedVerification
> > --);
> > --
> > --typedef UINT8 EFI_KEY_TOGGLE_STATE;
> > --
> > --typedef struct {
> > --        UINT32 KeyShiftState;
> > --        EFI_KEY_TOGGLE_STATE KeyToggleState;
> > --} EFI_KEY_STATE;
> > --
> > --typedef struct {
> > --        EFI_INPUT_KEY Key;
> > --        EFI_KEY_STATE KeyState;
> > --} EFI_KEY_DATA;
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
> > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > --        EFI_KEY_DATA *KeyData
> > --);
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
> > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > --        EFI_KEY_TOGGLE_STATE *KeyToggleState
> > --);
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
> > --        EFI_KEY_DATA *KeyData
> > --);
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
> > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > --        EFI_KEY_DATA KeyData,
> > --        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
> > --        VOID **NotifyHandle
> > --);
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
> > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > --        VOID *NotificationHandle
> > --);
> > --
> > --typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
> > --        EFI_INPUT_RESET_EX Reset;
> > --        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
> > --        EFI_EVENT WaitForKeyEx;
> > --        EFI_SET_STATE SetState;
> > --        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
> > --        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
> > --} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > --
> > - EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
> > -         EFI_GUID EfiSimpleTextInputExProtocolGuid = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
> > -         static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
> > -diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
> > -index 41df3a406e..2c69af552a 100644
> > ---- a/src/boot/efi/console.h
> > -+++ b/src/boot/efi/console.h
> > -@@ -1,11 +1,7 @@
> > - /* SPDX-License-Identifier: LGPL-2.1-or-later */
> > - #pragma once
> > -
> > --#define EFI_SHIFT_STATE_VALID           0x80000000
> > --#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
> > --#define EFI_LEFT_CONTROL_PRESSED        0x00000008
> > --#define EFI_RIGHT_ALT_PRESSED           0x00000010
> > --#define EFI_LEFT_ALT_PRESSED            0x00000020
> > -+#include "missing_efi.h"
> > -
> > - #define EFI_CONTROL_PRESSED             (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED)
> > - #define EFI_ALT_PRESSED                 (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED)
> > -diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h
> > -index 1b838af2a4..b6aae1eb5b 100644
> > ---- a/src/boot/efi/missing_efi.h
> > -+++ b/src/boot/efi/missing_efi.h
> > -@@ -53,3 +53,70 @@ typedef struct _EFI_RNG_PROTOCOL {
> > - } EFI_RNG_PROTOCOL;
> > -
> > - #endif
> > -+
> > -+#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
> > -+
> > -+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
> > -+        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
> > -+
> > -+#define EFI_SHIFT_STATE_VALID           0x80000000
> > -+#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
> > -+#define EFI_LEFT_CONTROL_PRESSED        0x00000008
> > -+#define EFI_RIGHT_ALT_PRESSED           0x00000010
> > -+#define EFI_LEFT_ALT_PRESSED            0x00000020
> > -+
> > -+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
> > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > -+        BOOLEAN ExtendedVerification
> > -+);
> > -+
> > -+typedef UINT8 EFI_KEY_TOGGLE_STATE;
> > -+
> > -+typedef struct {
> > -+        UINT32 KeyShiftState;
> > -+        EFI_KEY_TOGGLE_STATE KeyToggleState;
> > -+} EFI_KEY_STATE;
> > -+
> > -+typedef struct {
> > -+        EFI_INPUT_KEY Key;
> > -+        EFI_KEY_STATE KeyState;
> > -+} EFI_KEY_DATA;
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
> > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > -+        EFI_KEY_DATA *KeyData
> > -+);
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
> > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > -+        EFI_KEY_TOGGLE_STATE *KeyToggleState
> > -+);
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
> > -+        EFI_KEY_DATA *KeyData
> > -+);
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
> > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > -+        EFI_KEY_DATA KeyData,
> > -+        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
> > -+        VOID **NotifyHandle
> > -+);
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
> > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > -+        VOID *NotificationHandle
> > -+);
> > -+
> > -+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
> > -+        EFI_INPUT_RESET_EX Reset;
> > -+        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
> > -+        EFI_EVENT WaitForKeyEx;
> > -+        EFI_SET_STATE SetState;
> > -+        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
> > -+        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
> > -+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > -+
> > -+#endif
> > diff --git a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch b/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > deleted file mode 100644
> > index ae449791f1..0000000000
> > --- a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > +++ /dev/null
> > @@ -1,53 +0,0 @@
> > -From 7c5fd25119a495009ea62f79e5daec34cc464628 Mon Sep 17 00:00:00 2001
> > -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
> > -Date: Mon, 12 Apr 2021 14:03:32 +0200
> > -Subject: [PATCH] meson: do not fail if rsync is not installed with meson
> > - 0.57.2
> > -
> > -https://github.com/mesonbuild/meson/issues/8641
> > -
> > -Our CI started to fail. Even if the change is reverted in meson,
> > -we need a quick workaround here.
> > -
> > -Upstream-Status: Backport
> > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ----
> > - man/meson.build | 25 ++++++++++++++-----------
> > - 1 file changed, 14 insertions(+), 11 deletions(-)
> > -
> > -diff --git a/man/meson.build b/man/meson.build
> > -index 3cae8446cda..f9c4b83dc81 100644
> > ---- a/man/meson.build
> > -+++ b/man/meson.build
> > -@@ -184,17 +184,20 @@ html = custom_target(
> > -         depends : html_pages,
> > -         command : ['echo'])
> > -
> > --run_target(
> > --        'doc-sync',
> > --        depends : man_pages + html_pages,
> > --        command : ['rsync', '-rlv',
> > --                   '--delete-excluded',
> > --                   '--include=man',
> > --                   '--include=*.html',
> > --                   '--exclude=*',
> > --                   '--omit-dir-times',
> > --                   meson.current_build_dir(),
> > --                   get_option('www-target')])
> > -+rsync = find_program('rsync', required : false)
> > -+if rsync.found()
> > -+        run_target(
> > -+                'doc-sync',
> > -+                depends : man_pages + html_pages,
> > -+                command : [rsync, '-rlv',
> > -+                           '--delete-excluded',
> > -+                           '--include=man',
> > -+                           '--include=*.html',
> > -+                           '--exclude=*',
> > -+                           '--omit-dir-times',
> > -+                           meson.current_build_dir(),
> > -+                           get_option('www-target')])
> > -+endif
> > -
> > - ############################################################
> > -
> > diff --git a/meta/recipes-core/systemd/systemd-boot_247.6.bb b/meta/recipes-core/systemd/systemd-boot_248.3.bb
> > similarity index 100%
> > rename from meta/recipes-core/systemd/systemd-boot_247.6.bb
> > rename to meta/recipes-core/systemd/systemd-boot_248.3.bb
> > diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
> > index 88dddb309c..0524a25008 100644
> > --- a/meta/recipes-core/systemd/systemd.inc
> > +++ b/meta/recipes-core/systemd/systemd.inc
> > @@ -14,11 +14,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
> >  LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
> >                      file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
> >
> > -SRCREV = "17472dca0160cbe7b807ca648475fd70d0d62fe5"
> > -SRCBRANCH = "v247-stable"
> > +SRCREV = "37c4cfde0ce613f0f00544d3f4e2e72bf93d9c76"
> > +SRCBRANCH = "v248-stable"
> >  SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \
> > -           file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \
> > -           file://48fff0a2af3f62acd446ebec8081b039b72caad8.patch \
> >  "
> >
> >  S = "${WORKDIR}/git"
> > diff --git a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch b/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > deleted file mode 100644
> > index fd7f94a61d..0000000000
> > --- a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > +++ /dev/null
> > @@ -1,39 +0,0 @@
> > -From b9b7a8e3825f0433e120f7a6d7d5d635a839cab9 Mon Sep 17 00:00:00 2001
> > -From: Mingli Yu <mingli.yu@windriver.com>
> > -Date: Thu, 21 Jan 2021 06:19:44 +0000
> > -Subject: [PATCH] analyze: resolve executable path if it is relative
> > -
> > -Upstream-Status: Backport [https://github.com/systemd/systemd/commit/f1fb046a985521f7d4a662f02546686ff20b7e5d]
> > -
> > -Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> > ----
> > - src/analyze/analyze-verify.c | 7 +++++--
> > - 1 file changed, 5 insertions(+), 2 deletions(-)
> > -
> > -diff --git a/src/analyze/analyze-verify.c b/src/analyze/analyze-verify.c
> > -index a9c89173bf..969523df18 100644
> > ---- a/src/analyze/analyze-verify.c
> > -+++ b/src/analyze/analyze-verify.c
> > -@@ -115,14 +115,17 @@ static int verify_socket(Unit *u) {
> > - }
> > -
> > - int verify_executable(Unit *u, const ExecCommand *exec) {
> > -+        int r;
> > -+
> > -         if (!exec)
> > -                 return 0;
> > -
> > -         if (exec->flags & EXEC_COMMAND_IGNORE_FAILURE)
> > -                 return 0;
> > -
> > --        if (access(exec->path, X_OK) < 0)
> > --                return log_unit_error_errno(u, errno, "Command %s is not executable: %m", exec->path);
> > -+        r = find_executable_full(exec->path, false, NULL);
> > -+        if (r < 0)
> > -+                return log_unit_error_errno(u, r, "Command %s is not executable: %m", exec->path);
> > -
> > -         return 0;
> > - }
> > ---
> > -2.26.2
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch b/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> > deleted file mode 100644
> > index 89ef39bc3e..0000000000
> > --- a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> > +++ /dev/null
> > @@ -1,227 +0,0 @@
> > -From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00 2001
> > -From: Joshua Watt <JPEWhacker@gmail.com>
> > -Date: Fri, 30 Oct 2020 08:15:43 -0500
> > -Subject: [PATCH] logind: Restore chvt as non-root user without polkit
> > -
> > -4acf0cfd2f ("logind: check PolicyKit before allowing VT switch") broke
> > -the ability to write user sessions that run graphical sessions (e.g.
> > -weston/X11). This was partially amended in 19bb87fbfa ("login: allow
> > -non-console sessions to change vt") by changing the default PolicyKit
> > -policy so that non-root users are again allowed to switch the VT. This
> > -makes the policy when PolKit is not enabled (as on many embedded
> > -systems) match the default PolKit policy and allows launching graphical
> > -sessions as a non-root user.
> > -
> > -Closes #17473
> > ----
> > - src/login/logind-dbus.c         | 11 ++-------
> > - src/login/logind-polkit.c       | 26 +++++++++++++++++++++
> > - src/login/logind-polkit.h       | 10 ++++++++
> > - src/login/logind-seat-dbus.c    | 41 ++++-----------------------------
> > - src/login/logind-session-dbus.c | 11 ++-------
> > - src/login/meson.build           |  1 +
> > - 6 files changed, 46 insertions(+), 54 deletions(-)
> > - create mode 100644 src/login/logind-polkit.c
> > - create mode 100644 src/login/logind-polkit.h
> > -
> > -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
> > -index 0f83ed99bc..a3765d88ba 100644
> > ---- a/src/login/logind-dbus.c
> > -+++ b/src/login/logind-dbus.c
> > -@@ -30,6 +30,7 @@
> > - #include "format-util.h"
> > - #include "fs-util.h"
> > - #include "logind-dbus.h"
> > -+#include "logind-polkit.h"
> > - #include "logind-seat-dbus.h"
> > - #include "logind-session-dbus.h"
> > - #include "logind-user-dbus.h"
> > -@@ -1047,15 +1048,7 @@ static int method_activate_session_on_seat(sd_bus_message *message, void *userda
> > -                 return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT,
> > -                                          "Session %s not on seat %s", session_name, seat_name);
> > -
> > --        r = bus_verify_polkit_async(
> > --                        message,
> > --                        CAP_SYS_ADMIN,
> > --                        "org.freedesktop.login1.chvt",
> > --                        NULL,
> > --                        false,
> > --                        UID_INVALID,
> > --                        &m->polkit_registry,
> > --                        error);
> > -+        r = check_polkit_chvt(message, m, error);
> > -         if (r < 0)
> > -                 return r;
> > -         if (r == 0)
> > -diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c
> > -new file mode 100644
> > -index 0000000000..9072570cc6
> > ---- /dev/null
> > -+++ b/src/login/logind-polkit.c
> > -@@ -0,0 +1,26 @@
> > -+/* SPDX-License-Identifier: LGPL-2.1+ */
> > -+
> > -+#include "bus-polkit.h"
> > -+#include "logind-polkit.h"
> > -+#include "missing_capability.h"
> > -+#include "user-util.h"
> > -+
> > -+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error) {
> > -+#if ENABLE_POLKIT
> > -+        return bus_verify_polkit_async(
> > -+                        message,
> > -+                        CAP_SYS_ADMIN,
> > -+                        "org.freedesktop.login1.chvt",
> > -+                        NULL,
> > -+                        false,
> > -+                        UID_INVALID,
> > -+                        &manager->polkit_registry,
> > -+                        error);
> > -+#else
> > -+        /* Allow chvt when polkit is not present. This allows a service to start a graphical session as a
> > -+         * non-root user when polkit is not compiled in, matching the default polkit policy */
> > -+        return 1;
> > -+#endif
> > -+}
> > -+
> > -+
> > -diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h
> > -new file mode 100644
> > -index 0000000000..476c077a8a
> > ---- /dev/null
> > -+++ b/src/login/logind-polkit.h
> > -@@ -0,0 +1,10 @@
> > -+/* SPDX-License-Identifier: LGPL-2.1+ */
> > -+#pragma once
> > -+
> > -+#include "sd-bus.h"
> > -+
> > -+#include "bus-object.h"
> > -+#include "logind.h"
> > -+
> > -+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error);
> > -+
> > -diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c
> > -index a945132284..f22e9e2734 100644
> > ---- a/src/login/logind-seat-dbus.c
> > -+++ b/src/login/logind-seat-dbus.c
> > -@@ -9,6 +9,7 @@
> > - #include "bus-polkit.h"
> > - #include "bus-util.h"
> > - #include "logind-dbus.h"
> > -+#include "logind-polkit.h"
> > - #include "logind-seat-dbus.h"
> > - #include "logind-seat.h"
> > - #include "logind-session-dbus.h"
> > -@@ -179,15 +180,7 @@ static int method_activate_session(sd_bus_message *message, void *userdata, sd_b
> > -         if (session->seat != s)
> > -                 return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id);
> > -
> > --        r = bus_verify_polkit_async(
> > --                        message,
> > --                        CAP_SYS_ADMIN,
> > --                        "org.freedesktop.login1.chvt",
> > --                        NULL,
> > --                        false,
> > --                        UID_INVALID,
> > --                        &s->manager->polkit_registry,
> > --                        error);
> > -+        r = check_polkit_chvt(message, s->manager, error);
> > -         if (r < 0)
> > -                 return r;
> > -         if (r == 0)
> > -@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message *message, void *userdata, sd_bus_erro
> > -         if (to <= 0)
> > -                 return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal");
> > -
> > --        r = bus_verify_polkit_async(
> > --                        message,
> > --                        CAP_SYS_ADMIN,
> > --                        "org.freedesktop.login1.chvt",
> > --                        NULL,
> > --                        false,
> > --                        UID_INVALID,
> > --                        &s->manager->polkit_registry,
> > --                        error);
> > -+        r = check_polkit_chvt(message, s->manager, error);
> > -         if (r < 0)
> > -                 return r;
> > -         if (r == 0)
> > -@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message *message, void *userdata, sd_bus
> > -         assert(message);
> > -         assert(s);
> > -
> > --        r = bus_verify_polkit_async(
> > --                        message,
> > --                        CAP_SYS_ADMIN,
> > --                        "org.freedesktop.login1.chvt",
> > --                        NULL,
> > --                        false,
> > --                        UID_INVALID,
> > --                        &s->manager->polkit_registry,
> > --                        error);
> > -+        r = check_polkit_chvt(message, s->manager, error);
> > -         if (r < 0)
> > -                 return r;
> > -         if (r == 0)
> > -@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_message *message, void *userdata, sd
> > -         assert(message);
> > -         assert(s);
> > -
> > --        r = bus_verify_polkit_async(
> > --                        message,
> > --                        CAP_SYS_ADMIN,
> > --                        "org.freedesktop.login1.chvt",
> > --                        NULL,
> > --                        false,
> > --                        UID_INVALID,
> > --                        &s->manager->polkit_registry,
> > --                        error);
> > -+        r = check_polkit_chvt(message, s->manager, error);
> > -         if (r < 0)
> > -                 return r;
> > -         if (r == 0)
> > -diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
> > -index ccc5ac8df2..57c8a4e900 100644
> > ---- a/src/login/logind-session-dbus.c
> > -+++ b/src/login/logind-session-dbus.c
> > -@@ -11,6 +11,7 @@
> > - #include "fd-util.h"
> > - #include "logind-brightness.h"
> > - #include "logind-dbus.h"
> > -+#include "logind-polkit.h"
> > - #include "logind-seat-dbus.h"
> > - #include "logind-session-dbus.h"
> > - #include "logind-session-device.h"
> > -@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message *message, void *userdata, sd_bus_
> > -         assert(message);
> > -         assert(s);
> > -
> > --        r = bus_verify_polkit_async(
> > --                        message,
> > --                        CAP_SYS_ADMIN,
> > --                        "org.freedesktop.login1.chvt",
> > --                        NULL,
> > --                        false,
> > --                        UID_INVALID,
> > --                        &s->manager->polkit_registry,
> > --                        error);
> > -+        r = check_polkit_chvt(message, s->manager, error);
> > -         if (r < 0)
> > -                 return r;
> > -         if (r == 0)
> > -diff --git a/src/login/meson.build b/src/login/meson.build
> > -index 0a7d3d5440..7e46be2add 100644
> > ---- a/src/login/meson.build
> > -+++ b/src/login/meson.build
> > -@@ -26,6 +26,7 @@ liblogind_core_sources = files('''
> > -         logind-device.h
> > -         logind-inhibit.c
> > -         logind-inhibit.h
> > -+        logind-polkit.c
> > -         logind-seat-dbus.c
> > -         logind-seat-dbus.h
> > -         logind-seat.c
> > ---
> > -2.28.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> > index d856bcb583..4cdf66e767 100644
> > --- a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> > +++ b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> > @@ -1,7 +1,7 @@
> > -From 66ece0b870b3a34fdabc48b88437e6cc354e9fce Mon Sep 17 00:00:00 2001
> > +From 159c53612444ec1df492bae528a5a88a275b93bf Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 13:41:41 +0800
> > -Subject: [PATCH 02/26] don't use glibc-specific qsort_r
> > +Subject: [PATCH] don't use glibc-specific qsort_r
> >
> >  Upstream-Status: Inappropriate [musl specific]
> >
> > @@ -12,6 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> >  [Rebased for v247]
> >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > +
> >  ---
> >   src/basic/sort-util.h              | 14 ------------
> >   src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++-----
> > @@ -19,14 +20,13 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >   3 files changed, 38 insertions(+), 31 deletions(-)
> >
> >  diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
> > -index 1d194a1f04..3394c9eb72 100644
> > +index 49586a4a24..d92a5ab0ed 100644
> >  --- a/src/basic/sort-util.h
> >  +++ b/src/basic/sort-util.h
> > -@@ -54,17 +54,3 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
> > -                 int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
> > +@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
> >                   _qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
> >           })
> > --
> > +
> >  -static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
> >  -        if (nmemb <= 1)
> >  -                return;
> > @@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644
> >  -                int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
> >  -                qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
> >  -        })
> > +-
> > + int cmp_int(const int *a, const int *b);
> >  diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
> > -index 4c94ba9c88..95495dba6d 100644
> > +index fd45ff0f54..ac4b63c49b 100644
> >  --- a/src/libsystemd/sd-hwdb/hwdb-util.c
> >  +++ b/src/libsystemd/sd-hwdb/hwdb-util.c
> > -@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) {
> > +@@ -126,9 +126,13 @@ static struct trie* trie_free(struct trie *trie) {
> >
> >   DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
> >
> > @@ -85,10 +87,10 @@ index 4c94ba9c88..95495dba6d 100644
> >   }
> >
> >  diff --git a/src/shared/format-table.c b/src/shared/format-table.c
> > -index a13a198b7a..bce10bc607 100644
> > +index dccb796b26..c3ab8ac296 100644
> >  --- a/src/shared/format-table.c
> >  +++ b/src/shared/format-table.c
> > -@@ -1243,30 +1243,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
> > +@@ -1290,30 +1290,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
> >           return CMP(index_a, index_b);
> >   }
> >
> > @@ -131,7 +133,7 @@ index a13a198b7a..bce10bc607 100644
> >           }
> >
> >           /* Order identical lines by the order there were originally added in */
> > -@@ -1844,7 +1846,12 @@ int table_print(Table *t, FILE *f) {
> > +@@ -1952,7 +1954,12 @@ int table_print(Table *t, FILE *f) {
> >                   for (size_t i = 0; i < n_rows; i++)
> >                           sorted[i] = i * t->n_columns;
> >
> > @@ -145,7 +147,7 @@ index a13a198b7a..bce10bc607 100644
> >           }
> >
> >           if (t->display_map)
> > -@@ -2440,7 +2447,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
> > +@@ -2580,7 +2587,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
> >                   for (size_t i = 0; i < n_rows; i++)
> >                           sorted[i] = i * t->n_columns;
> >
> > @@ -159,6 +161,3 @@ index a13a198b7a..bce10bc607 100644
> >           }
> >
> >           if (t->display_map)
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> > index f43a22aa8b..9b1768d9ca 100644
> > --- a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> > +++ b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> > @@ -1,7 +1,7 @@
> > -From 9f0d5996bbb2db3679a4075fa8301750b786c03b Mon Sep 17 00:00:00 2001
> > +From 4afb8adc83348bf75964fc10af7902e04dd62637 Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 13:55:12 +0800
> > -Subject: [PATCH 03/26] missing_type.h: add __compare_fn_t and comparison_fn_t
> > +Subject: [PATCH] missing_type.h: add __compare_fn_t and comparison_fn_t
> >
> >  Make it work with musl where comparison_fn_t and __compare_fn_t
> >  is not provided.
> > @@ -13,11 +13,12 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >  [Rebased for v242]
> >  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> > +
> >  ---
> > - src/basic/missing_type.h | 9 +++++++++
> > - src/basic/sort-util.h    | 1 +
> > - src/core/kmod-setup.c    | 1 +
> > - src/journal/catalog.c    | 1 +
> > + src/basic/missing_type.h            | 9 +++++++++
> > + src/basic/sort-util.h               | 1 +
> > + src/core/kmod-setup.c               | 1 +
> > + src/libsystemd/sd-journal/catalog.c | 1 +
> >   4 files changed, 12 insertions(+)
> >
> >  diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
> > @@ -38,7 +39,7 @@ index f6233090a9..aeaf6ad5ec 100644
> >  +typedef int (*__compar_fn_t)(const void *, const void *);
> >  +#endif
> >  diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
> > -index 3394c9eb72..d9cb2aecb6 100644
> > +index d92a5ab0ed..a63867c716 100644
> >  --- a/src/basic/sort-util.h
> >  +++ b/src/basic/sort-util.h
> >  @@ -4,6 +4,7 @@
> > @@ -61,10 +62,10 @@ index 8a7f82812a..a56f12f47f 100644
> >
> >   #if HAVE_KMOD
> >   #include "module-util.h"
> > -diff --git a/src/journal/catalog.c b/src/journal/catalog.c
> > -index 0f6ad8a29e..4e1077ade4 100644
> > ---- a/src/journal/catalog.c
> > -+++ b/src/journal/catalog.c
> > +diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
> > +index aea3241d18..75e6c56a28 100644
> > +--- a/src/libsystemd/sd-journal/catalog.c
> > ++++ b/src/libsystemd/sd-journal/catalog.c
> >  @@ -28,6 +28,7 @@
> >   #include "string-util.h"
> >   #include "strv.h"
> > @@ -73,6 +74,3 @@ index 0f6ad8a29e..4e1077ade4 100644
> >
> >   const char * const catalog_file_dirs[] = {
> >           "/usr/local/lib/systemd/catalog/",
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> > index bdd64a0252..dc40a2fe8d 100644
> > --- a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> > +++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> > @@ -1,7 +1,7 @@
> > -From f3dbe29f7620a063af4d8eb3ea7c48ecd410200d Mon Sep 17 00:00:00 2001
> > -From: Chen Qi <Qi.Chen@windriver.com>
> > -Date: Mon, 25 Feb 2019 14:04:21 +0800
> > -Subject: [PATCH 04/26] add fallback parse_printf_format implementation
> > +From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00:00:00 2001
> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
> > +Date: Sat, 22 May 2021 20:26:24 +0200
> > +Subject: [PATCH] [PATCH] add fallback parse_printf_format implementation
> >
> >  Upstream-Status: Inappropriate [musl specific]
> >
> > @@ -11,21 +11,21 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >  [rebased for systemd 243]
> >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> >  ---
> > - meson.build                     |   1 +
> > - src/basic/meson.build           |   5 +
> > - src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++
> > - src/basic/parse-printf-format.h |  57 +++++++
> > - src/basic/stdio-util.h          |   2 +-
> > - src/journal/journal-send.c      |   2 +-
> > + meson.build                              |   1 +
> > + src/basic/meson.build                    |   5 +
> > + src/basic/parse-printf-format.c          | 273 +++++++++++++++++++++++
> > + src/basic/parse-printf-format.h          |  57 +++++
> > + src/basic/stdio-util.h                   |   2 +-
> > + src/libsystemd/sd-journal/journal-send.c |   2 +-
> >   6 files changed, 338 insertions(+), 2 deletions(-)
> >   create mode 100644 src/basic/parse-printf-format.c
> >   create mode 100644 src/basic/parse-printf-format.h
> >
> >  diff --git a/meson.build b/meson.build
> > -index f406d595e6..6aa47fc755 100644
> > +index 27186d63a3..2abb7b3188 100644
> >  --- a/meson.build
> >  +++ b/meson.build
> > -@@ -646,6 +646,7 @@ endif
> > +@@ -675,6 +675,7 @@ endif
> >   foreach header : ['crypt.h',
> >                     'linux/memfd.h',
> >                     'linux/vm_sockets.h',
> > @@ -34,21 +34,21 @@ index f406d595e6..6aa47fc755 100644
> >                     'valgrind/memcheck.h',
> >                     'valgrind/valgrind.h',
> >  diff --git a/src/basic/meson.build b/src/basic/meson.build
> > -index 1183ea83ad..aa5c958850 100644
> > +index 60ef801a25..aba2172edd 100644
> >  --- a/src/basic/meson.build
> >  +++ b/src/basic/meson.build
> > -@@ -322,6 +322,11 @@ foreach item : [['af',     af_list_txt,     'af',         ''],
> > - endforeach
> > +@@ -341,6 +341,11 @@ endforeach
> >
> >   basic_sources += generated_gperf_headers
> > -+
> > +
> >  +if conf.get('HAVE_PRINTF_H') != 1
> >  +        basic_sources += [files('parse-printf-format.c')]
> >  +endif
> >  +
> > - basic_gcrypt_sources = files(
> > -         'gcrypt-util.c',
> > -         'gcrypt-util.h')
> > ++
> > + ############################################################
> > +
> > + arch_list = [
> >  diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
> >  new file mode 100644
> >  index 0000000000..49437e5445
> > @@ -410,10 +410,10 @@ index 6dc1e72312..cea76b36cf 100644
> >
> >   #define snprintf_ok(buf, len, fmt, ...) \
> >           ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
> > -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
> > +diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
> >  index fd3fd7ef9c..e8e6ad555b 100644
> > ---- a/src/journal/journal-send.c
> > -+++ b/src/journal/journal-send.c
> > +--- a/src/libsystemd/sd-journal/journal-send.c
> > ++++ b/src/libsystemd/sd-journal/journal-send.c
> >  @@ -2,7 +2,6 @@
> >
> >   #include <errno.h>
> > @@ -431,5 +431,5 @@ index fd3fd7ef9c..e8e6ad555b 100644
> >   #define SNDBUF_SIZE (8*1024*1024)
> >
> >  --
> > -2.27.0
> > +2.24.0
> >
> > diff --git a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> > index d63e3c0d09..a0d757b3f3 100644
> > --- a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> > +++ b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> > @@ -1,7 +1,7 @@
> > -From 5aeae0ea89f5af74ed5d95bed1d87a03b3801ff0 Mon Sep 17 00:00:00 2001
> > +From 6b0732ac7164914ce16e231e35980b849bdfc4c8 Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 14:18:21 +0800
> > -Subject: [PATCH 05/26] src/basic/missing.h: check for missing strndupa
> > +Subject: [PATCH] src/basic/missing.h: check for missing strndupa
> >
> >  include missing.h  for definition of strndupa
> >
> > @@ -17,6 +17,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> >  [rebased for systemd 244]
> >  [Rebased for v247]
> >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > +
> >  ---
> >   meson.build                                |  1 +
> >   src/backlight/backlight.c                  |  1 +
> > @@ -25,6 +26,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >   src/basic/log.c                            |  1 +
> >   src/basic/missing_stdlib.h                 | 12 ++++++++++++
> >   src/basic/mkdir.c                          |  1 +
> > + src/basic/mountpoint-util.c                |  1 +
> >   src/basic/parse-util.c                     |  1 +
> >   src/basic/path-lookup.c                    |  1 +
> >   src/basic/proc-cmdline.c                   |  1 +
> > @@ -41,12 +43,12 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >   src/coredump/coredump-vacuum.c             |  1 +
> >   src/journal-remote/journal-remote-main.c   |  1 +
> >   src/journal/journalctl.c                   |  1 +
> > - src/journal/sd-journal.c                   |  1 +
> >   src/libsystemd/sd-bus/bus-message.c        |  1 +
> >   src/libsystemd/sd-bus/bus-objects.c        |  1 +
> >   src/libsystemd/sd-bus/bus-socket.c         |  1 +
> >   src/libsystemd/sd-bus/sd-bus.c             |  1 +
> >   src/libsystemd/sd-bus/test-bus-benchmark.c |  1 +
> > + src/libsystemd/sd-journal/sd-journal.c     |  1 +
> >   src/locale/keymap-util.c                   |  1 +
> >   src/login/pam_systemd.c                    |  1 +
> >   src/network/generator/network-generator.c  |  1 +
> > @@ -68,18 +70,22 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >   src/udev/udev-builtin-path_id.c            |  1 +
> >   src/udev/udev-event.c                      |  1 +
> >   src/udev/udev-rules.c                      |  1 +
> > - 50 files changed, 61 insertions(+)
> > + 51 files changed, 62 insertions(+)
> >
> > +diff --git a/meson.build b/meson.build
> > +index 2abb7b3188..c97f09062b 100644
> >  --- a/meson.build
> >  +++ b/meson.build
> > -@@ -535,6 +535,7 @@ foreach ident : [
> > -                                  #include <sys/wait.h>'''],
> > -         ['mallinfo',          '''#include <malloc.h>'''],
> > +@@ -550,6 +550,7 @@ foreach ident : [
> > +         ['execveat',          '''#include <unistd.h>'''],
> >           ['close_range',       '''#include <unistd.h>'''],
> > +         ['epoll_pwait2',      '''#include <sys/epoll.h>'''],
> >  +        ['strndupa' ,         '''#include <string.h>'''],
> >   ]
> >
> >           have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
> > +diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
> > +index 86927be62e..a34be158a0 100644
> >  --- a/src/backlight/backlight.c
> >  +++ b/src/backlight/backlight.c
> >  @@ -19,6 +19,7 @@
> > @@ -90,6 +96,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static int help(void) {
> >           _cleanup_free_ char *link = NULL;
> > +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
> > +index 8dd3f8cd95..50c1ae1b2b 100644
> >  --- a/src/basic/cgroup-util.c
> >  +++ b/src/basic/cgroup-util.c
> >  @@ -38,6 +38,7 @@
> > @@ -100,9 +108,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) {
> >           _cleanup_free_ char *fs = NULL;
> > +diff --git a/src/basic/env-util.c b/src/basic/env-util.c
> > +index c110a750a5..e1f091b01e 100644
> >  --- a/src/basic/env-util.c
> >  +++ b/src/basic/env-util.c
> > -@@ -15,6 +15,7 @@
> > +@@ -18,6 +18,7 @@
> >   #include "string-util.h"
> >   #include "strv.h"
> >   #include "utf8.h"
> > @@ -110,6 +120,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   /* We follow bash for the character set. Different shells have different rules. */
> >   #define VALID_BASH_ENV_NAME_CHARS               \
> > +diff --git a/src/basic/log.c b/src/basic/log.c
> > +index 595db0c395..daff8eb68a 100644
> >  --- a/src/basic/log.c
> >  +++ b/src/basic/log.c
> >  @@ -36,6 +36,7 @@
> > @@ -120,6 +132,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   #define SNDBUF_SIZE (8*1024*1024)
> >
> > +diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
> > +index 8c76f93eb2..9068bfb4f0 100644
> >  --- a/src/basic/missing_stdlib.h
> >  +++ b/src/basic/missing_stdlib.h
> >  @@ -11,3 +11,15 @@
> > @@ -138,6 +152,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >  +    (char *)memcpy(__new, __old, __len); \
> >  +  })
> >  +#endif
> > +diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
> > +index f91f8f7a08..fb31596216 100644
> >  --- a/src/basic/mkdir.c
> >  +++ b/src/basic/mkdir.c
> >  @@ -14,6 +14,7 @@
> > @@ -148,9 +164,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   int mkdir_safe_internal(
> >                   const char *path,
> > +diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
> > +index 1d617e87b2..346f9a47d7 100644
> > +--- a/src/basic/mountpoint-util.c
> > ++++ b/src/basic/mountpoint-util.c
> > +@@ -12,6 +12,7 @@
> > + #include "missing_stat.h"
> > + #include "missing_syscall.h"
> > + #include "mkdir.h"
> > ++#include "missing_stdlib.h"
> > + #include "mountpoint-util.h"
> > + #include "parse-util.h"
> > + #include "path-util.h"
> > +diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
> > +index b79c885dfd..6dabda5691 100644
> >  --- a/src/basic/parse-util.c
> >  +++ b/src/basic/parse-util.c
> > -@@ -22,6 +22,7 @@
> > +@@ -19,6 +19,7 @@
> >   #include "stat-util.h"
> >   #include "string-util.h"
> >   #include "strv.h"
> > @@ -158,6 +188,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   int parse_boolean(const char *v) {
> >           if (!v)
> > +diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
> > +index e53c2302b1..ca1d40ccbe 100644
> >  --- a/src/basic/path-lookup.c
> >  +++ b/src/basic/path-lookup.c
> >  @@ -15,6 +15,7 @@
> > @@ -168,6 +200,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   int xdg_user_runtime_dir(char **ret, const char *suffix) {
> >           const char *e;
> > +diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
> > +index 410b8a3eb5..f2c4355609 100644
> >  --- a/src/basic/proc-cmdline.c
> >  +++ b/src/basic/proc-cmdline.c
> >  @@ -15,6 +15,7 @@
> > @@ -178,6 +212,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   int proc_cmdline(char **ret) {
> >           const char *e;
> > +diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
> > +index ccab71f7d2..8f9eee8d36 100644
> >  --- a/src/basic/procfs-util.c
> >  +++ b/src/basic/procfs-util.c
> >  @@ -11,6 +11,7 @@
> > @@ -188,6 +224,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   int procfs_tasks_get_limit(uint64_t *ret) {
> >           _cleanup_free_ char *value = NULL;
> > +diff --git a/src/basic/selinux-util.c b/src/basic/selinux-util.c
> > +index ee9e34ed47..96c1e9362d 100644
> >  --- a/src/basic/selinux-util.c
> >  +++ b/src/basic/selinux-util.c
> >  @@ -27,6 +27,7 @@
> > @@ -197,7 +235,9 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >  +#include "missing_stdlib.h"
> >
> >   #if HAVE_SELINUX
> > - DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free);
> > + DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(context_t, context_free, NULL);
> > +diff --git a/src/basic/time-util.c b/src/basic/time-util.c
> > +index 78d0390a00..47c38ca691 100644
> >  --- a/src/basic/time-util.c
> >  +++ b/src/basic/time-util.c
> >  @@ -27,6 +27,7 @@
> > @@ -208,6 +248,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static clockid_t map_clock_id(clockid_t c) {
> >
> > +diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
> > +index 97ad1e0cb5..9d60f3cc79 100644
> >  --- a/src/boot/bless-boot.c
> >  +++ b/src/boot/bless-boot.c
> >  @@ -18,6 +18,7 @@
> > @@ -218,16 +260,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static char **arg_path = NULL;
> >
> > +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
> > +index 04d2ba34f3..651ca9412e 100644
> >  --- a/src/core/dbus-cgroup.c
> >  +++ b/src/core/dbus-cgroup.c
> > -@@ -16,6 +16,7 @@
> > - #include "fileio.h"
> > +@@ -17,6 +17,7 @@
> >   #include "limits-util.h"
> >   #include "path-util.h"
> > + #include "percent-util.h"
> >  +#include "missing_stdlib.h"
> >
> >   BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
> >
> > +diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
> > +index 5239c41d67..0f604efe98 100644
> >  --- a/src/core/dbus-execute.c
> >  +++ b/src/core/dbus-execute.c
> >  @@ -41,6 +41,7 @@
> > @@ -238,9 +284,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
> >   static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
> > +diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
> > +index 44a2ccfca0..3926ccfa4a 100644
> >  --- a/src/core/dbus-util.c
> >  +++ b/src/core/dbus-util.c
> > -@@ -7,6 +7,7 @@
> > +@@ -9,6 +9,7 @@
> >   #include "unit-printf.h"
> >   #include "user-util.h"
> >   #include "unit.h"
> > @@ -248,16 +296,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   int bus_property_get_triggered_unit(
> >                   sd_bus *bus,
> > +diff --git a/src/core/execute.c b/src/core/execute.c
> > +index 922913e7af..f82fc294c0 100644
> >  --- a/src/core/execute.c
> >  +++ b/src/core/execute.c
> >  @@ -96,6 +96,7 @@
> > - #include "unit.h"
> > + #include "unit-serialize.h"
> >   #include "user-util.h"
> >   #include "utmp-wtmp.h"
> >  +#include "missing_stdlib.h"
> >
> >   #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
> >   #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
> > +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
> > +index a56f12f47f..6b8729ef67 100644
> >  --- a/src/core/kmod-setup.c
> >  +++ b/src/core/kmod-setup.c
> >  @@ -11,6 +11,7 @@
> > @@ -268,6 +320,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   #if HAVE_KMOD
> >   #include "module-util.h"
> > +diff --git a/src/core/service.c b/src/core/service.c
> > +index 4c5bfb17fb..8c05f36119 100644
> >  --- a/src/core/service.c
> >  +++ b/src/core/service.c
> >  @@ -41,6 +41,7 @@
> > @@ -278,6 +332,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
> >           [SERVICE_DEAD] = UNIT_INACTIVE,
> > +diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
> > +index 95c3fca661..d4a9f27b08 100644
> >  --- a/src/coredump/coredump-vacuum.c
> >  +++ b/src/coredump/coredump-vacuum.c
> >  @@ -16,6 +16,7 @@
> > @@ -288,9 +344,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL)           /* 1 MiB */
> >   #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL)   /* 4 GiB */
> > +diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
> > +index ae1d43756a..24de98c9f3 100644
> >  --- a/src/journal-remote/journal-remote-main.c
> >  +++ b/src/journal-remote/journal-remote-main.c
> > -@@ -22,6 +22,7 @@
> > +@@ -24,6 +24,7 @@
> >   #include "stat-util.h"
> >   #include "string-table.h"
> >   #include "strv.h"
> > @@ -298,9 +356,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
> >   #define CERT_FILE     CERTIFICATE_ROOT "/certs/journal-remote.pem"
> > +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
> > +index 76d05c1eee..0beb77b2e5 100644
> >  --- a/src/journal/journalctl.c
> >  +++ b/src/journal/journalctl.c
> > -@@ -73,6 +73,7 @@
> > +@@ -72,6 +72,7 @@
> >   #include "unit-name.h"
> >   #include "user-util.h"
> >   #include "varlink.h"
> > @@ -308,19 +368,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
> >   #define PROCESS_INOTIFY_INTERVAL 1024   /* Every 1,024 messages processed */
> > ---- a/src/journal/sd-journal.c
> > -+++ b/src/journal/sd-journal.c
> > -@@ -40,6 +40,7 @@
> > - #include "string-util.h"
> > - #include "strv.h"
> > - #include "syslog-util.h"
> > -+#include "missing_stdlib.h"
> > -
> > - #define JOURNAL_FILES_MAX 7168
> > -
> > +diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
> > +index b25064b672..b3bbe63a91 100644
> >  --- a/src/libsystemd/sd-bus/bus-message.c
> >  +++ b/src/libsystemd/sd-bus/bus-message.c
> > -@@ -21,6 +21,7 @@
> > +@@ -20,6 +20,7 @@
> >   #include "strv.h"
> >   #include "time-util.h"
> >   #include "utf8.h"
> > @@ -328,9 +380,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
> >
> > +diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
> > +index bfd42aea7d..daefc56e3e 100644
> >  --- a/src/libsystemd/sd-bus/bus-objects.c
> >  +++ b/src/libsystemd/sd-bus/bus-objects.c
> > -@@ -13,6 +13,7 @@
> > +@@ -12,6 +12,7 @@
> >   #include "set.h"
> >   #include "string-util.h"
> >   #include "strv.h"
> > @@ -338,6 +392,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static int node_vtable_get_userdata(
> >                   sd_bus *bus,
> > +diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
> > +index 832526cc1b..7bff701806 100644
> >  --- a/src/libsystemd/sd-bus/bus-socket.c
> >  +++ b/src/libsystemd/sd-bus/bus-socket.c
> >  @@ -28,6 +28,7 @@
> > @@ -348,29 +404,47 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   #define SNDBUF_SIZE (8*1024*1024)
> >
> > +diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
> > +index e719c74370..ac2a605680 100644
> >  --- a/src/libsystemd/sd-bus/sd-bus.c
> >  +++ b/src/libsystemd/sd-bus/sd-bus.c
> >  @@ -41,6 +41,7 @@
> > - #include "process-util.h"
> >   #include "string-util.h"
> >   #include "strv.h"
> > + #include "user-util.h"
> >  +#include "missing_stdlib.h"
> >
> >   #define log_debug_bus_message(m)                                         \
> >           do {                                                             \
> > +diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
> > +index 13c08fe295..9aae83486e 100644
> >  --- a/src/libsystemd/sd-bus/test-bus-benchmark.c
> >  +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
> >  @@ -14,6 +14,7 @@
> > - #include "missing_resource.h"
> > + #include "string-util.h"
> >   #include "time-util.h"
> >   #include "util.h"
> >  +#include "missing_stdlib.h"
> >
> >   #define MAX_SIZE (2*1024*1024)
> >
> > +diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
> > +index c90b4c926e..0efdccff5d 100644
> > +--- a/src/libsystemd/sd-journal/sd-journal.c
> > ++++ b/src/libsystemd/sd-journal/sd-journal.c
> > +@@ -40,6 +40,7 @@
> > + #include "string-util.h"
> > + #include "strv.h"
> > + #include "syslog-util.h"
> > ++#include "missing_stdlib.h"
> > +
> > + #define JOURNAL_FILES_MAX 7168
> > +
> > +diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
> > +index d2f0566dbc..3b7746557e 100644
> >  --- a/src/locale/keymap-util.c
> >  +++ b/src/locale/keymap-util.c
> > -@@ -21,6 +21,7 @@
> > +@@ -24,6 +24,7 @@
> >   #include "string-util.h"
> >   #include "strv.h"
> >   #include "tmpfile-util.h"
> > @@ -378,6 +452,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static bool startswith_comma(const char *s, const char *prefix) {
> >           s = startswith(s, prefix);
> > +diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
> > +index 2021c31bd5..58eb09808d 100644
> >  --- a/src/login/pam_systemd.c
> >  +++ b/src/login/pam_systemd.c
> >  @@ -31,6 +31,7 @@
> > @@ -388,6 +464,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >   #include "pam-util.h"
> >   #include "parse-util.h"
> >   #include "path-util.h"
> > +diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
> > +index ae673ddf5b..a79e5114ca 100644
> >  --- a/src/network/generator/network-generator.c
> >  +++ b/src/network/generator/network-generator.c
> >  @@ -13,6 +13,7 @@
> > @@ -398,6 +476,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   /*
> >     # .network
> > +diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
> > +index d4619bead5..0e832fd994 100644
> >  --- a/src/nspawn/nspawn-settings.c
> >  +++ b/src/nspawn/nspawn-settings.c
> >  @@ -16,6 +16,7 @@
> > @@ -408,19 +488,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   Settings *settings_new(void) {
> >           Settings *s;
> > +diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
> > +index 44715bb3e5..bc1e688b5e 100644
> >  --- a/src/nss-mymachines/nss-mymachines.c
> >  +++ b/src/nss-mymachines/nss-mymachines.c
> > -@@ -19,6 +19,7 @@
> > +@@ -21,6 +21,7 @@
> >   #include "nss-util.h"
> >   #include "signal-util.h"
> >   #include "string-util.h"
> >  +#include "missing_stdlib.h"
> >
> > - NSS_GETHOSTBYNAME_PROTOTYPES(mymachines);
> > - NSS_GETPW_PROTOTYPES(mymachines);
> > + static void setup_logging(void) {
> > +         /* We need a dummy function because log_parse_environment is a macro. */
> > +diff --git a/src/portable/portable.c b/src/portable/portable.c
> > +index f201f52531..c78ad0f471 100644
> >  --- a/src/portable/portable.c
> >  +++ b/src/portable/portable.c
> > -@@ -31,6 +31,7 @@
> > +@@ -32,6 +32,7 @@
> >   #include "strv.h"
> >   #include "tmpfile-util.h"
> >   #include "user-util.h"
> > @@ -428,9 +512,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static const char profile_dirs[] = CONF_PATHS_NULSTR("systemd/portable/profile");
> >
> > +diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
> > +index 52bbae3293..4ccbae09c4 100644
> >  --- a/src/resolve/resolvectl.c
> >  +++ b/src/resolve/resolvectl.c
> > -@@ -37,6 +37,7 @@
> > +@@ -41,6 +41,7 @@
> >   #include "terminal-util.h"
> >   #include "utf8.h"
> >   #include "verbs.h"
> > @@ -438,6 +524,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static int arg_family = AF_UNSPEC;
> >   static int arg_ifindex = 0;
> > +diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
> > +index feb6d3807f..eb11d29e50 100644
> >  --- a/src/shared/bus-get-properties.c
> >  +++ b/src/shared/bus-get-properties.c
> >  @@ -4,6 +4,7 @@
> > @@ -448,6 +536,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   int bus_property_get_bool(
> >                   sd_bus *bus,
> > +diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
> > +index b76125e551..2e0892242f 100644
> >  --- a/src/shared/bus-unit-procs.c
> >  +++ b/src/shared/bus-unit-procs.c
> >  @@ -10,6 +10,7 @@
> > @@ -458,9 +548,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   struct CGroupInfo {
> >           char *cgroup_path;
> > +diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
> > +index a75178068b..3de06e2bd5 100644
> >  --- a/src/shared/bus-unit-util.c
> >  +++ b/src/shared/bus-unit-util.c
> > -@@ -44,6 +44,7 @@
> > +@@ -45,6 +45,7 @@
> >   #include "unit-def.h"
> >   #include "user-util.h"
> >   #include "utf8.h"
> > @@ -468,6 +560,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
> >           assert(message);
> > +diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
> > +index 64ca67993c..31e3d148ea 100644
> >  --- a/src/shared/bus-util.c
> >  +++ b/src/shared/bus-util.c
> >  @@ -21,6 +21,7 @@
> > @@ -478,6 +572,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
> >           sd_event *e = userdata;
> > +diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
> > +index e43aa12882..cec9b413c1 100644
> >  --- a/src/shared/dns-domain.c
> >  +++ b/src/shared/dns-domain.c
> >  @@ -17,6 +17,7 @@
> > @@ -488,6 +584,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
> >           const char *n;
> > +diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
> > +index b2785f0552..5f00902882 100644
> >  --- a/src/shared/journal-importer.c
> >  +++ b/src/shared/journal-importer.c
> >  @@ -14,6 +14,7 @@
> > @@ -498,6 +596,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   enum {
> >           IMPORTER_STATE_LINE = 0,    /* waiting to read, or reading line */
> > +diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
> > +index e63c59bd94..dd9773c009 100644
> >  --- a/src/shared/logs-show.c
> >  +++ b/src/shared/logs-show.c
> >  @@ -41,6 +41,7 @@
> > @@ -508,6 +608,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
> >   #define PRINT_LINE_THRESHOLD 3
> > +diff --git a/src/shared/pager.c b/src/shared/pager.c
> > +index 4bbad7e37b..eefcdd068c 100644
> >  --- a/src/shared/pager.c
> >  +++ b/src/shared/pager.c
> >  @@ -26,6 +26,7 @@
> > @@ -518,6 +620,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static pid_t pager_pid = 0;
> >
> > +diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
> > +index 5d5bf7f21d..f1002ffa6c 100644
> >  --- a/src/shared/uid-range.c
> >  +++ b/src/shared/uid-range.c
> >  @@ -9,6 +9,7 @@
> > @@ -528,6 +632,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
> >           assert(range);
> > +diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
> > +index 6e3ee0d76b..7727e33d95 100644
> >  --- a/src/socket-proxy/socket-proxyd.c
> >  +++ b/src/socket-proxy/socket-proxyd.c
> >  @@ -26,6 +26,7 @@
> > @@ -538,6 +644,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   #define BUFFER_SIZE (256 * 1024)
> >
> > +diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
> > +index c9d318b8d1..fcb8d40805 100644
> >  --- a/src/test/test-hexdecoct.c
> >  +++ b/src/test/test-hexdecoct.c
> >  @@ -6,6 +6,7 @@
> > @@ -548,19 +656,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   static void test_hexchar(void) {
> >           assert_se(hexchar(0xa) == 'a');
> > +diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
> > +index 09cc1c3bd8..8a7d3152a7 100644
> >  --- a/src/udev/udev-builtin-path_id.c
> >  +++ b/src/udev/udev-builtin-path_id.c
> >  @@ -22,6 +22,7 @@
> > - #include "strv.h"
> >   #include "sysexits.h"
> >   #include "udev-builtin.h"
> > + #include "udev-util.h"
> >  +#include "missing_stdlib.h"
> >
> >   _printf_(2,3)
> >   static void path_prepend(char **path, const char *fmt, ...) {
> > +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
> > +index 12597194a9..208b2458b5 100644
> >  --- a/src/udev/udev-event.c
> >  +++ b/src/udev/udev-event.c
> > -@@ -34,6 +34,7 @@
> > +@@ -33,6 +33,7 @@
> >   #include "udev-util.h"
> >   #include "udev-watch.h"
> >   #include "user-util.h"
> > @@ -568,9 +680,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   typedef struct Spawn {
> >           sd_device *device;
> > +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
> > +index 57ede6a197..dc59857765 100644
> >  --- a/src/udev/udev-rules.c
> >  +++ b/src/udev/udev-rules.c
> > -@@ -30,6 +30,7 @@
> > +@@ -31,6 +31,7 @@
> >   #include "udev-rules.h"
> >   #include "user-util.h"
> >   #include "virt.h"
> > @@ -578,13 +692,3 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >
> >   #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
> >
> > ---- a/src/basic/mountpoint-util.c
> > -+++ b/src/basic/mountpoint-util.c
> > -@@ -10,6 +10,7 @@
> > - #include "fs-util.h"
> > - #include "missing_stat.h"
> > - #include "missing_syscall.h"
> > -+#include "missing_stdlib.h"
> > - #include "mountpoint-util.h"
> > - #include "parse-util.h"
> > - #include "path-util.h"
> > diff --git a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> > index a978558b42..54d714266e 100644
> > --- a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> > +++ b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> > @@ -1,7 +1,7 @@
> > -From d3ed0da271738fd0fc3d3e4d82d6f5810334b05e Mon Sep 17 00:00:00 2001
> > +From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 Mon Sep 17 00:00:00 2001
> >  From: Khem Raj <raj.khem@gmail.com>
> >  Date: Thu, 26 Oct 2017 22:10:42 -0700
> > -Subject: [PATCH 06/26] Include netinet/if_ether.h
> > +Subject: [PATCH] Include netinet/if_ether.h
> >
> >  Fixes
> >  /path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
> > @@ -31,6 +31,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> >  [rebased for systemd 247]
> >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > +
> >  ---
> >   src/libsystemd-network/sd-dhcp6-client.c  | 1 -
> >   src/libsystemd/sd-netlink/netlink-types.c | 1 +
> > @@ -56,7 +57,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> >   21 files changed, 26 insertions(+), 8 deletions(-)
> >
> >  diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
> > -index 66f87c4b95..de1264ae46 100644
> > +index 410bfda10e..e70ed8be92 100644
> >  --- a/src/libsystemd-network/sd-dhcp6-client.c
> >  +++ b/src/libsystemd-network/sd-dhcp6-client.c
> >  @@ -5,7 +5,6 @@
> > @@ -68,7 +69,7 @@ index 66f87c4b95..de1264ae46 100644
> >
> >   #include "sd-dhcp6-client.h"
> >  diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
> > -index 6fb6c147d9..8eda02d202 100644
> > +index ed7b9a8cd1..112c0b09e4 100644
> >  --- a/src/libsystemd/sd-netlink/netlink-types.c
> >  +++ b/src/libsystemd/sd-netlink/netlink-types.c
> >  @@ -3,6 +3,7 @@
> > @@ -80,7 +81,7 @@ index 6fb6c147d9..8eda02d202 100644
> >   #include <linux/netlink.h>
> >   #include <linux/rtnetlink.h>
> >  diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
> > -index bb67beb665..f5780f1aec 100644
> > +index e7c4ed3c7c..3a1e4f9072 100644
> >  --- a/src/machine/machine-dbus.c
> >  +++ b/src/machine/machine-dbus.c
> >  @@ -3,6 +3,7 @@
> > @@ -92,7 +93,7 @@ index bb67beb665..f5780f1aec 100644
> >   /* When we include libgen.h because we need dirname() we immediately
> >    * undefine basename() since libgen.h defines it as a macro to the POSIX
> >  diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
> > -index e27f36067b..8868f1da5d 100644
> > +index cf7ca88d6f..34ab468191 100644
> >  --- a/src/network/netdev/bond.c
> >  +++ b/src/network/netdev/bond.c
> >  @@ -1,5 +1,6 @@
> > @@ -103,7 +104,7 @@ index e27f36067b..8868f1da5d 100644
> >   #include "bond.h"
> >   #include "bond-util.h"
> >  diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
> > -index 1f59cd8b42..5fdbae7e99 100644
> > +index 38432f1578..79ccfe578e 100644
> >  --- a/src/network/netdev/bridge.c
> >  +++ b/src/network/netdev/bridge.c
> >  @@ -1,5 +1,6 @@
> > @@ -114,7 +115,7 @@ index 1f59cd8b42..5fdbae7e99 100644
> >
> >   #include "bridge.h"
> >  diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
> > -index 82e71c3920..fbae86e216 100644
> > +index 77c5f8c4e7..04be1b4ab2 100644
> >  --- a/src/network/netdev/macsec.c
> >  +++ b/src/network/netdev/macsec.c
> >  @@ -1,5 +1,6 @@
> > @@ -125,19 +126,19 @@ index 82e71c3920..fbae86e216 100644
> >   #include <linux/if_ether.h>
> >   #include <linux/if_macsec.h>
> >  diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf
> > -index 4e89761f2c..91251fa6ec 100644
> > +index 8abe044890..3c54c58928 100644
> >  --- a/src/network/netdev/netdev-gperf.gperf
> >  +++ b/src/network/netdev/netdev-gperf.gperf
> > -@@ -2,6 +2,7 @@
> > +@@ -3,6 +3,7 @@
> >   #if __GNUC__ >= 7
> >   _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
> >   #endif
> >  +#include <netinet/if_ether.h>
> >   #include <stddef.h>
> >   #include "bareudp.h"
> > - #include "bond.h"
> > + #include "batadv.h"
> >  diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
> > -index 9f390b5781..62aeafb1e4 100644
> > +index b31f0fa81a..c80e1ff537 100644
> >  --- a/src/network/netdev/netdev.c
> >  +++ b/src/network/netdev/netdev.c
> >  @@ -1,5 +1,6 @@
> > @@ -148,7 +149,7 @@ index 9f390b5781..62aeafb1e4 100644
> >   #include <netinet/in.h>
> >   #include <unistd.h>
> >  diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
> > -index e53c73c30c..9bf0771b84 100644
> > +index 2847b336c9..4d6af8c642 100644
> >  --- a/src/network/networkd-brvlan.c
> >  +++ b/src/network/networkd-brvlan.c
> >  @@ -4,6 +4,7 @@
> > @@ -160,7 +161,7 @@ index e53c73c30c..9bf0771b84 100644
> >   #include <stdbool.h>
> >
> >  diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
> > -index 9f58121350..554d006cb8 100644
> > +index 00d055cf8d..65821c1d31 100644
> >  --- a/src/network/networkd-dhcp-common.c
> >  +++ b/src/network/networkd-dhcp-common.c
> >  @@ -1,7 +1,8 @@
> > @@ -171,9 +172,9 @@ index 9f58121350..554d006cb8 100644
> >  +#include <net/if_arp.h>
> >  +#include <net/if.h>
> >
> > + #include "bus-error.h"
> >   #include "dhcp-internal.h"
> > - #include "dhcp6-internal.h"
> > -@@ -10,6 +11,7 @@
> > +@@ -11,6 +12,7 @@
> >   #include "networkd-dhcp-common.h"
> >   #include "networkd-link.h"
> >   #include "networkd-manager.h"
> > @@ -182,7 +183,7 @@ index 9f58121350..554d006cb8 100644
> >   #include "parse-util.h"
> >   #include "socket-util.h"
> >  diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
> > -index cf279c640d..bae541029b 100644
> > +index 5cdf432c27..93cffb9863 100644
> >  --- a/src/network/networkd-dhcp-server.c
> >  +++ b/src/network/networkd-dhcp-server.c
> >  @@ -1,8 +1,8 @@
> > @@ -197,7 +198,7 @@ index cf279c640d..bae541029b 100644
> >   #include "sd-dhcp-server.h"
> >
> >  diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
> > -index f3c1e5f609..e4ef6eca63 100644
> > +index 23dc3a45db..7ae6c2467a 100644
> >  --- a/src/network/networkd-dhcp4.c
> >  +++ b/src/network/networkd-dhcp4.c
> >  @@ -1,9 +1,9 @@
> > @@ -212,7 +213,7 @@ index f3c1e5f609..e4ef6eca63 100644
> >   #include "escape.h"
> >   #include "alloc-util.h"
> >  diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
> > -index 5c077c1ec8..fa98042aa5 100644
> > +index aa077d6219..4f6ce22059 100644
> >  --- a/src/network/networkd-dhcp6.c
> >  +++ b/src/network/networkd-dhcp6.c
> >  @@ -3,9 +3,9 @@
> > @@ -227,7 +228,7 @@ index 5c077c1ec8..fa98042aa5 100644
> >   #include "sd-dhcp6-client.h"
> >
> >  diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
> > -index 3bfe636691..e0c68c8ad3 100644
> > +index 8219d95b0d..c92230453b 100644
> >  --- a/src/network/networkd-link.c
> >  +++ b/src/network/networkd-link.c
> >  @@ -1,8 +1,8 @@
> > @@ -241,7 +242,7 @@ index 3bfe636691..e0c68c8ad3 100644
> >   #include <unistd.h>
> >
> >  diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
> > -index 3254641461..f0ada419fd 100644
> > +index e5ffd35b6f..871ebb32c6 100644
> >  --- a/src/network/networkd-network.c
> >  +++ b/src/network/networkd-network.c
> >  @@ -1,5 +1,6 @@
> > @@ -252,7 +253,7 @@ index 3254641461..f0ada419fd 100644
> >   #include <netinet/in.h>
> >   #include <linux/netdevice.h>
> >  diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
> > -index 0ed89584ef..e7e157c201 100644
> > +index a74541a6c9..a10549b336 100644
> >  --- a/src/network/networkd-route.c
> >  +++ b/src/network/networkd-route.c
> >  @@ -1,7 +1,10 @@
> > @@ -268,7 +269,7 @@ index 0ed89584ef..e7e157c201 100644
> >   #include "alloc-util.h"
> >   #include "netlink-util.h"
> >  diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c
> > -index 475cac7527..9bae6eda16 100644
> > +index ce34449554..0b5dc01182 100644
> >  --- a/src/network/test-network-tables.c
> >  +++ b/src/network/test-network-tables.c
> >  @@ -1,5 +1,6 @@
> > @@ -279,7 +280,7 @@ index 475cac7527..9bae6eda16 100644
> >   #include "dhcp6-internal.h"
> >   #include "dhcp6-protocol.h"
> >  diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
> > -index e6fab262f2..41dd3d7df7 100644
> > +index 654d36a83a..f4ed42d543 100644
> >  --- a/src/shared/ethtool-util.c
> >  +++ b/src/shared/ethtool-util.c
> >  @@ -1,5 +1,6 @@
> > @@ -290,7 +291,7 @@ index e6fab262f2..41dd3d7df7 100644
> >   #include <sys/ioctl.h>
> >   #include <linux/ethtool.h>
> >  diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
> > -index f94b3e15bf..08a7e4fa09 100644
> > +index 11e2906681..a171df0737 100644
> >  --- a/src/shared/ethtool-util.h
> >  +++ b/src/shared/ethtool-util.h
> >  @@ -3,6 +3,7 @@
> > @@ -302,7 +303,7 @@ index f94b3e15bf..08a7e4fa09 100644
> >
> >   #include "conf-parser.h"
> >  diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
> > -index d12fd0e299..636806dc23 100644
> > +index 31e5d0cd67..f25f821364 100644
> >  --- a/src/udev/net/link-config.c
> >  +++ b/src/udev/net/link-config.c
> >  @@ -1,5 +1,6 @@
> > @@ -323,6 +324,3 @@ index 87e1fb133e..13876029d0 100644
> >   #include "alloc-util.h"
> >   #include "device-util.h"
> >   #include "errno-util.h"
> > ---
> > -2.25.1
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> > index 6865421586..2ff08c7fae 100644
> > --- a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> > +++ b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> > @@ -1,8 +1,7 @@
> > -From 87a14dde13c8fa68239a4ab62914a093062b3b29 Mon Sep 17 00:00:00 2001
> > +From bca73ff2fbff2dc311040a87a4f536f89af07ad6 Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 14:56:21 +0800
> > -Subject: [PATCH 07/26] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
> > - defined
> > +Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not defined
> >
> >  If the standard library doesn't provide brace
> >  expansion users just won't get it.
> > @@ -17,6 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >  [rebased for systemd 243]
> >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > +
> >  ---
> >   src/basic/glob-util.c     | 12 ++++++++++++
> >   src/test/test-glob-util.c | 16 ++++++++++++++++
> > @@ -115,10 +115,10 @@ index df6444c433..79a692046e 100644
> >
> >           (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
> >  diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
> > -index 9906c70eef..5eb63b1d57 100644
> > +index 6b73d1e6d5..26b3b74275 100644
> >  --- a/src/tmpfiles/tmpfiles.c
> >  +++ b/src/tmpfiles/tmpfiles.c
> > -@@ -63,6 +63,12 @@
> > +@@ -66,6 +66,12 @@
> >   #include "umask-util.h"
> >   #include "user-util.h"
> >
> > @@ -131,7 +131,7 @@ index 9906c70eef..5eb63b1d57 100644
> >   /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
> >    * them in the file system. This is intended to be used to create
> >    * properly owned directories beneath /tmp, /var/tmp, /run, which are
> > -@@ -1936,7 +1942,9 @@ finish:
> > +@@ -1947,7 +1953,9 @@ finish:
> >
> >   static int glob_item(Item *i, action_t action) {
> >           _cleanup_globfree_ glob_t g = {
> > @@ -141,7 +141,7 @@ index 9906c70eef..5eb63b1d57 100644
> >           };
> >           int r = 0, k;
> >           char **fn;
> > -@@ -1956,7 +1964,9 @@ static int glob_item(Item *i, action_t action) {
> > +@@ -1967,7 +1975,9 @@ static int glob_item(Item *i, action_t action) {
> >
> >   static int glob_item_recursively(Item *i, fdaction_t action) {
> >           _cleanup_globfree_ glob_t g = {
> > @@ -151,6 +151,3 @@ index 9906c70eef..5eb63b1d57 100644
> >           };
> >           int r = 0, k;
> >           char **fn;
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
> > index 94cdc2efde..142ca01345 100644
> > --- a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
> > +++ b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
> > @@ -1,7 +1,7 @@
> > -From 8caea3fe87d55fd16de7d1b8266239fa954cb498 Mon Sep 17 00:00:00 2001
> > +From e0d1912f0246c97e5e7b4177691363d2d077e11d Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 15:00:06 +0800
> > -Subject: [PATCH 08/26] add missing FTW_ macros for musl
> > +Subject: [PATCH] add missing FTW_ macros for musl
> >
> >  This is to avoid build failures like below for musl.
> >
> > @@ -10,6 +10,7 @@ This is to avoid build failures like below for musl.
> >  Upstream-Status: Inappropriate [musl specific]
> >
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > +
> >  ---
> >   src/basic/missing_type.h | 20 ++++++++++++++++++++
> >   1 file changed, 20 insertions(+)
> > @@ -42,6 +43,3 @@ index aeaf6ad5ec..3df1084ef2 100644
> >  +#ifndef FTW_SKIP_SIBLINGS
> >  +#define FTW_SKIP_SIBLINGS 3
> >  +#endif
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> > index 76cc75cf6a..53f0a1ba62 100644
> > --- a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> > +++ b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> > @@ -1,17 +1,18 @@
> > -From d8e4f0aa1760e4c7bb8476beecd35025c9cbb95a Mon Sep 17 00:00:00 2001
> > +From bb41fe773881a8f1d9615d388320b9c6fc47bfe5 Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 15:03:47 +0800
> > -Subject: [PATCH 09/26] fix missing of __register_atfork for non-glibc builds
> > +Subject: [PATCH] fix missing of __register_atfork for non-glibc builds
> >
> >  Upstream-Status: Inappropriate [musl specific]
> >
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > +
> >  ---
> >   src/basic/process-util.c | 7 +++++++
> >   1 file changed, 7 insertions(+)
> >
> >  diff --git a/src/basic/process-util.c b/src/basic/process-util.c
> > -index 0851613fc9..4417101569 100644
> > +index 7d4301eadb..caa9dfe3a3 100644
> >  --- a/src/basic/process-util.c
> >  +++ b/src/basic/process-util.c
> >  @@ -18,6 +18,9 @@
> > @@ -24,7 +25,7 @@ index 0851613fc9..4417101569 100644
> >
> >   #include "alloc-util.h"
> >   #include "architecture.h"
> > -@@ -1143,11 +1146,15 @@ void reset_cached_pid(void) {
> > +@@ -1121,11 +1124,15 @@ void reset_cached_pid(void) {
> >           cached_pid = CACHED_PID_UNSET;
> >   }
> >
> > @@ -40,6 +41,3 @@ index 0851613fc9..4417101569 100644
> >
> >   pid_t getpid_cached(void) {
> >           static bool installed = false;
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
> > index aeacd865ae..af1a6bb053 100644
> > --- a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
> > +++ b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
> > @@ -1,7 +1,7 @@
> > -From e45bb02174812e4935214f42a18725be320770d5 Mon Sep 17 00:00:00 2001
> > +From dc40487e0ac26e3ca317429b9c3e8f01772de60a Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 15:12:41 +0800
> > -Subject: [PATCH 10/26] Use uintmax_t for handling rlim_t
> > +Subject: [PATCH] Use uintmax_t for handling rlim_t
> >
> >  PRIu{32,64} is not right format to represent rlim_t type
> >  therefore use %ju and typecast the rlim_t variables to
> > @@ -20,6 +20,7 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199]
> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >  [Rebased for v241]
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > +
> >  ---
> >   src/basic/format-util.h |  8 +-------
> >   src/basic/rlimit-util.c | 10 +++++-----
> > @@ -46,10 +47,10 @@ index b7e18768e3..3195ab205d 100644
> >   #if SIZEOF_DEV_T == 8
> >   #  define DEV_FMT "%" PRIu64
> >  diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
> > -index 880976312c..9e1b61cd4a 100644
> > +index 23d108d5df..94373c9422 100644
> >  --- a/src/basic/rlimit-util.c
> >  +++ b/src/basic/rlimit-util.c
> > -@@ -306,13 +306,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
> > +@@ -308,13 +308,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
> >           if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
> >                   s = strdup("infinity");
> >           else if (rl->rlim_cur >= RLIM_INFINITY)
> > @@ -67,7 +68,7 @@ index 880976312c..9e1b61cd4a 100644
> >
> >           if (!s)
> >                   return -ENOMEM;
> > -@@ -403,7 +403,7 @@ int rlimit_nofile_safe(void) {
> > +@@ -405,7 +405,7 @@ int rlimit_nofile_safe(void) {
> >
> >           rl.rlim_cur = FD_SETSIZE;
> >           if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
> > @@ -77,10 +78,10 @@ index 880976312c..9e1b61cd4a 100644
> >           return 1;
> >   }
> >  diff --git a/src/core/execute.c b/src/core/execute.c
> > -index 89632e0582..335283776c 100644
> > +index f82fc294c0..4696d055a8 100644
> >  --- a/src/core/execute.c
> >  +++ b/src/core/execute.c
> > -@@ -5288,9 +5288,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
> > +@@ -5370,9 +5370,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
> >           for (unsigned i = 0; i < RLIM_NLIMITS; i++)
> >                   if (c->rlimit[i]) {
> >                           fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
> > @@ -92,6 +93,3 @@ index 89632e0582..335283776c 100644
> >                   }
> >
> >           if (c->ioprio_set) {
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
> > index 6d7fdbcb64..b1d782719c 100644
> > --- a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
> > +++ b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
> > @@ -1,13 +1,13 @@
> > -From d1db531ddd3bbf94d5e764b7917bcc8684ff6357 Mon Sep 17 00:00:00 2001
> > +From f8be7b283309e4332eedc088774daac637afef7b Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Wed, 28 Feb 2018 21:25:22 -0800
> > -Subject: [PATCH 11/26] test-sizeof.c: Disable tests for missing typedefs in
> > - musl
> > +Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in musl
> >
> >  Upstream-Status: Inappropriate [musl specific]
> >
> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > +
> >  ---
> >   src/test/test-sizeof.c | 4 ++++
> >   1 file changed, 4 insertions(+)
> > @@ -37,6 +37,3 @@ index 3c9dc180fa..e1a59d408c 100644
> >           info(pid_t);
> >           info(uid_t);
> >           info(gid_t);
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
> > index c15b6e7d82..5f2178734d 100644
> > --- a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
> > +++ b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
> > @@ -1,7 +1,7 @@
> > -From 03e89da266edf70121a19ffc32a78cc3b97585ef Mon Sep 17 00:00:00 2001
> > +From 06915b70735caa66987af758ebdc4207757ae758 Mon Sep 17 00:00:00 2001
> >  From: Andre McCurdy <armccurdy@gmail.com>
> >  Date: Tue, 10 Oct 2017 14:33:30 -0700
> > -Subject: [PATCH 12/26] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
> > +Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
> >
> >  Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
> >  thing to do and it's not portable (not supported by musl). See:
> > @@ -25,20 +25,22 @@ just historical and not actually necessary or desired behaviour?
> >  Upstream-Status: Inappropriate [musl specific]
> >
> >  Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
> > +
> >  ---
> > - src/basic/fs-util.h          | 22 +++++++++++++++++++++-
> > + src/basic/fs-util.h          | 23 +++++++++++++++++++++--
> >   src/shared/base-filesystem.c |  6 +++---
> > - 2 files changed, 24 insertions(+), 4 deletions(-)
> > + 2 files changed, 24 insertions(+), 5 deletions(-)
> >
> >  diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
> > -index 5dc8853eac..0491b3dae2 100644
> > +index 027037f7a7..16eb379caf 100644
> >  --- a/src/basic/fs-util.h
> >  +++ b/src/basic/fs-util.h
> > -@@ -43,7 +43,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
> > +@@ -44,8 +44,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
> >   int fd_warn_permissions(const char *path, int fd);
> >   int stat_warn_permissions(const char *path, const struct stat *st);
> >
> > --#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)
> > +-#define laccess(path, mode)                                             \
> > +-        (faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW) < 0 ? -errno : 0)
> >  +/*
> >  +   Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
> >  +   do and it's not portable (not supported by musl). See:
> > @@ -94,6 +96,3 @@ index 1d05409086..1ed06c31ab 100644
> >                                                   continue;
> >                                   }
> >
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
> > index 89736bcfde..51b145729d 100644
> > --- a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
> > +++ b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
> > @@ -1,8 +1,7 @@
> > -From dd134880e9a16595ab473934577e873c748e9c7a Mon Sep 17 00:00:00 2001
> > +From 0c44af262cfa07c57db4b32de1f7610af47797f4 Mon Sep 17 00:00:00 2001
> >  From: Khem Raj <raj.khem@gmail.com>
> >  Date: Sun, 27 May 2018 08:36:44 -0700
> > -Subject: [PATCH 13/26] Define glibc compatible basename() for non-glibc
> > - systems
> > +Subject: [PATCH] Define glibc compatible basename() for non-glibc systems
> >
> >  Fixes builds with musl, even though systemd is adamant about
> >  using non-posix basename implementation, we have a way out
> > @@ -10,12 +9,13 @@ using non-posix basename implementation, we have a way out
> >  Upstream-Status: Inappropriate [musl specific]
> >
> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > +
> >  ---
> >   src/machine/machine-dbus.c | 5 +++++
> >   1 file changed, 5 insertions(+)
> >
> >  diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
> > -index f5780f1aec..aec5825b3e 100644
> > +index 3a1e4f9072..ab87b9882c 100644
> >  --- a/src/machine/machine-dbus.c
> >  +++ b/src/machine/machine-dbus.c
> >  @@ -11,6 +11,11 @@
> > @@ -30,6 +30,3 @@ index f5780f1aec..aec5825b3e 100644
> >   #include "alloc-util.h"
> >   #include "bus-common-errors.h"
> >   #include "bus-get-properties.h"
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> > index e95d2ae078..7444d4375f 100644
> > --- a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> > +++ b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> > @@ -1,7 +1,7 @@
> > -From 55af446156da863b5b36a1109845858956a4c274 Mon Sep 17 00:00:00 2001
> > +From 0f4b60e34a806055c678eb97a7ec7e21291bcf48 Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Wed, 4 Jul 2018 15:00:44 +0800
> > -Subject: [PATCH 14/26] Do not disable buffering when writing to oom_score_adj
> > +Subject: [PATCH] Do not disable buffering when writing to oom_score_adj
> >
> >  On musl, disabling buffering when writing to oom_score_adj will
> >  cause the following error.
> > @@ -19,15 +19,16 @@ Upstream-Status: Inappropriate [musl specific]
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >  [rebased for systemd 243]
> >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > +
> >  ---
> >   src/basic/process-util.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >  diff --git a/src/basic/process-util.c b/src/basic/process-util.c
> > -index 4417101569..556dab8ebf 100644
> > +index caa9dfe3a3..6101f43db5 100644
> >  --- a/src/basic/process-util.c
> >  +++ b/src/basic/process-util.c
> > -@@ -1536,7 +1536,7 @@ int set_oom_score_adjust(int value) {
> > +@@ -1523,7 +1523,7 @@ int set_oom_score_adjust(int value) {
> >           sprintf(t, "%i", value);
> >
> >           return write_string_file("/proc/self/oom_score_adj", t,
> > @@ -36,6 +37,3 @@ index 4417101569..556dab8ebf 100644
> >   }
> >
> >   int pidfd_get_pid(int fd, pid_t *ret) {
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> > index 5cdcf84dc1..90cc70d216 100644
> > --- a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> > +++ b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> > @@ -1,7 +1,7 @@
> > -From e382845aed90cfe4496a8351d57d4466dd2e9a9c Mon Sep 17 00:00:00 2001
> > +From c30ab62d18ce88187f5eb6c236e0977c9337f68d Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Tue, 10 Jul 2018 15:40:17 +0800
> > -Subject: [PATCH 15/26] distinguish XSI-compliant strerror_r from GNU-specifi
> > +Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi
> >   strerror_r
> >
> >  XSI-compliant strerror_r and GNU-specifi strerror_r are different.
> > @@ -18,28 +18,12 @@ assigned to (char *) variable, resulting in segment fault.
> >  Upstream-Status: Inappropriate [musl specific]
> >
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > +
> >  ---
> > - src/journal/journal-send.c        | 5 +++++
> > - src/libsystemd/sd-bus/bus-error.c | 5 +++++
> > + src/libsystemd/sd-bus/bus-error.c        | 5 +++++
> > + src/libsystemd/sd-journal/journal-send.c | 5 +++++
> >   2 files changed, 10 insertions(+)
> >
> > -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
> > -index e8e6ad555b..8ca5271d02 100644
> > ---- a/src/journal/journal-send.c
> > -+++ b/src/journal/journal-send.c
> > -@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
> > -                 char* j;
> > -
> > -                 errno = 0;
> > -+#ifndef __GLIBC__
> > -+                strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
> > -+                j = buffer + 8 + k;
> > -+#else
> > -                 j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
> > -+#endif
> > -                 if (errno == 0) {
> > -                         char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
> > -
> >  diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
> >  index 8da2024a50..9605a9b869 100644
> >  --- a/src/libsystemd/sd-bus/bus-error.c
> > @@ -57,6 +41,20 @@ index 8da2024a50..9605a9b869 100644
> >                   if (errno == ERANGE || strlen(x) >= k - 1) {
> >                           free(m);
> >                           k *= 2;
> > ---
> > -2.27.0
> > -
> > +diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
> > +index e8e6ad555b..8ca5271d02 100644
> > +--- a/src/libsystemd/sd-journal/journal-send.c
> > ++++ b/src/libsystemd/sd-journal/journal-send.c
> > +@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
> > +                 char* j;
> > +
> > +                 errno = 0;
> > ++#ifndef __GLIBC__
> > ++                strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
> > ++                j = buffer + 8 + k;
> > ++#else
> > +                 j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
> > ++#endif
> > +                 if (errno == 0) {
> > +                         char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
> > +
> > diff --git a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> > index 9a125de638..de7f9ecfa2 100644
> > --- a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> > +++ b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> > @@ -1,7 +1,7 @@
> > -From 0c7af5f288231a8c0545e169e01ba5ee173cafe7 Mon Sep 17 00:00:00 2001
> > +From fa86e5578256dddb296fd30128929ea7c4b792a4 Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 15:18:00 +0800
> > -Subject: [PATCH 16/26] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
> > +Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
> >
> >  for currently unknown reasons they get exported to the shared libries
> >  even without being listed in the sym file
> > @@ -11,6 +11,7 @@ Upstream-Status: Pending
> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >  [Rebased for v241]
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > +
> >  ---
> >   src/libsystemd/sd-bus/bus-error.c | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> > @@ -30,6 +31,3 @@ index 9605a9b869..38b6cf90c3 100644
> >
> >   /* Additional maps registered with sd_bus_error_add_map() are in this
> >    * NULL terminated array */
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
> > index 31747c6b40..d9ef2b8a47 100644
> > --- a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
> > +++ b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
> > @@ -1,7 +1,7 @@
> > -From 32dd7a47b87793cd836ab4bb776d1524f24c2d58 Mon Sep 17 00:00:00 2001
> > +From 11e730694706fa354a0e43c588ef66677a777d9a Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 15:27:54 +0800
> > -Subject: [PATCH 17/26] missing_type.h: add __compar_d_fn_t definition
> > +Subject: [PATCH] missing_type.h: add __compar_d_fn_t definition
> >
> >  Fix the following compile failure:
> >  src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'?
> > @@ -9,6 +9,7 @@ src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean
> >  Upstream-Status: Inappropriate [musl specific]
> >
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > +
> >  ---
> >   src/basic/missing_type.h | 1 +
> >   1 file changed, 1 insertion(+)
> > @@ -25,6 +26,3 @@ index 3df1084ef2..697aa7f58a 100644
> >   #endif
> >
> >   #ifndef __COMPAR_FN_T
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
> > index 56d361a213..3b60854233 100644
> > --- a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
> > +++ b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
> > @@ -1,7 +1,7 @@
> > -From bfc3416edeb69082ac9b9c9e844f12d7b45bb006 Mon Sep 17 00:00:00 2001
> > +From 45bae28d3da6607d33d54f4b30a500f5249aadde Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 15:44:54 +0800
> > -Subject: [PATCH 18/26] avoid redefinition of prctl_mm_map structure
> > +Subject: [PATCH] avoid redefinition of prctl_mm_map structure
> >
> >  Fix the following compile failure:
> >  error: redefinition of 'struct prctl_mm_map'
> > @@ -9,6 +9,7 @@ error: redefinition of 'struct prctl_mm_map'
> >  Upstream-Status: Inappropriate [musl specific]
> >
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > +
> >  ---
> >   src/basic/missing_prctl.h | 2 ++
> >   1 file changed, 2 insertions(+)
> > @@ -27,6 +28,3 @@ index ab851306ba..5547cad875 100644
> >
> >   /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
> >   #ifndef PR_CAP_AMBIENT
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
> > index 6ca196489b..7d6433f317 100644
> > --- a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
> > +++ b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
> > @@ -1,16 +1,17 @@
> > -From e427f03de2c56e868bb0f24aa231315b2dae1b71 Mon Sep 17 00:00:00 2001
> > +From 6e593ff2afbe4bfe15eee2ec34e51490a38462f5 Mon Sep 17 00:00:00 2001
> >  From: Alex Kiernan <alex.kiernan@gmail.com>
> >  Date: Fri, 7 Aug 2020 15:19:27 +0000
> > -Subject: [PATCH 19/26] Handle missing LOCK_EX
> > +Subject: [PATCH] Handle missing LOCK_EX
> >
> >  Upstream-Status: Inappropriate [musl specific]
> >  Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > +
> >  ---
> >   src/partition/makefs.c | 1 +
> >   1 file changed, 1 insertion(+)
> >
> >  diff --git a/src/partition/makefs.c b/src/partition/makefs.c
> > -index fd924d2231..b97580fdcc 100644
> > +index 7c94fbfedb..42f966722d 100644
> >  --- a/src/partition/makefs.c
> >  +++ b/src/partition/makefs.c
> >  @@ -6,6 +6,7 @@
> > @@ -21,6 +22,3 @@ index fd924d2231..b97580fdcc 100644
> >
> >   #include "alloc-util.h"
> >   #include "blockdev-util.h"
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
> > index f74de43849..1faee1c055 100644
> > --- a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
> > +++ b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
> > @@ -1,7 +1,7 @@
> > -From 9abbc5e69e21aef0d4d4567e69302fa660b76c53 Mon Sep 17 00:00:00 2001
> > +From ac579b296aa29c2f1dad9425c6d795e154ec8f7c Mon Sep 17 00:00:00 2001
> >  From: Alex Kiernan <alex.kiernan@gmail.com>
> >  Date: Fri, 7 Aug 2020 15:20:17 +0000
> > -Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un *
> > +Subject: [PATCH] Fix incompatible pointer type struct sockaddr_un *
> >
> >  | ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c: In function 'cant_be_in_netns':
> >  | ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c:4893:25: error: passing argument 2 of 'connect' from incompatible pointer type [-Werror=incompatible-pointer-types]
> > @@ -18,15 +18,16 @@ Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un *
> >
> >  Upstream-Status: Inappropriate [musl specific]
> >  Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > +
> >  ---
> >   src/nspawn/nspawn.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >  diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
> > -index 0842731c18..3528b7ff14 100644
> > +index a4ac8ed2bb..0c41a48d4b 100644
> >  --- a/src/nspawn/nspawn.c
> >  +++ b/src/nspawn/nspawn.c
> > -@@ -5084,7 +5084,7 @@ static int cant_be_in_netns(void) {
> > +@@ -5125,7 +5125,7 @@ static int cant_be_in_netns(void) {
> >           if (fd < 0)
> >                   return log_error_errno(errno, "Failed to allocate udev control socket: %m");
> >
> > @@ -35,6 +36,3 @@ index 0842731c18..3528b7ff14 100644
> >
> >                   if (errno == ENOENT || ERRNO_IS_DISCONNECT(errno))
> >                           return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
> > index fa6652a5bf..14c8ff73a0 100644
> > --- a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
> > +++ b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
> > @@ -1,7 +1,7 @@
> > -From 1f5bc54bed0b365e7e448c26f6c792dbe8b3b198 Mon Sep 17 00:00:00 2001
> > +From 6bc78df50adb48d24a2abfdf65b44b932cc5a571 Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Mon, 25 Feb 2019 16:53:06 +0800
> > -Subject: [PATCH 21/26] test-json.c: define M_PIl
> > +Subject: [PATCH] test-json.c: define M_PIl
> >
> >  Fix the following compile failure:
> >  src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'?
> > @@ -9,6 +9,7 @@ src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this functi
> >  Upstream-Status: Inappropriate [musl specific]
> >
> >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > +
> >  ---
> >   src/test/test-json.c | 4 ++++
> >   1 file changed, 4 insertions(+)
> > @@ -28,6 +29,3 @@ index 1d4b11945e..572c8cf9d0 100644
> >   static void test_tokenizer(const char *data, ...) {
> >           unsigned line = 0, column = 0;
> >           void *state = NULL;
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
> > index 675fd20f11..bd627c51e9 100644
> > --- a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
> > +++ b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
> > @@ -1,7 +1,7 @@
> > -From 564dba5ad0cd884e3f69fa19ca64095413578ea5 Mon Sep 17 00:00:00 2001
> > +From 7cb6579572b50ef44bc0a321a4c73cce55b0c2f2 Mon Sep 17 00:00:00 2001
> >  From: Chen Qi <Qi.Chen@windriver.com>
> >  Date: Fri, 1 Mar 2019 15:22:15 +0800
> > -Subject: [PATCH 22/26] do not disable buffer in writing files
> > +Subject: [PATCH] do not disable buffer in writing files
> >
> >  Do not disable buffer in writing files, otherwise we get
> >  failure at boot for musl like below.
> > @@ -18,10 +18,12 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> >  [rebased for systemd 243]
> >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > +
> >  ---
> >   src/basic/cgroup-util.c                 | 10 +++++-----
> >   src/basic/procfs-util.c                 |  4 ++--
> >   src/basic/smack-util.c                  |  2 +-
> > + src/basic/sysctl-util.c                 |  2 +-
> >   src/basic/util.c                        |  2 +-
> >   src/binfmt/binfmt.c                     |  6 +++---
> >   src/core/main.c                         |  4 ++--
> > @@ -32,18 +34,15 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> >   src/nspawn/nspawn-cgroup.c              |  2 +-
> >   src/nspawn/nspawn.c                     |  6 +++---
> >   src/shared/cgroup-setup.c               |  4 ++--
> > - src/shared/sysctl-util.c                |  2 +-
> >   src/sleep/sleep.c                       |  8 ++++----
> > - src/udev/udevadm-trigger.c              |  2 +-
> > - src/udev/udevd.c                        |  2 +-
> >   src/vconsole/vconsole-setup.c           |  2 +-
> > - 18 files changed, 35 insertions(+), 35 deletions(-)
> > + 16 files changed, 33 insertions(+), 33 deletions(-)
> >
> >  diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
> > -index bb960f183c..cb804c5f4b 100644
> > +index 50c1ae1b2b..5b40e92163 100644
> >  --- a/src/basic/cgroup-util.c
> >  +++ b/src/basic/cgroup-util.c
> > -@@ -759,7 +759,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
> > +@@ -765,7 +765,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
> >
> >           sc = strstrip(contents);
> >           if (isempty(sc)) {
> > @@ -52,7 +51,7 @@ index bb960f183c..cb804c5f4b 100644
> >                   if (r < 0)
> >                           return r;
> >           } else if (!path_equal(sc, agent))
> > -@@ -777,7 +777,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
> > +@@ -783,7 +783,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
> >
> >           sc = strstrip(contents);
> >           if (streq(sc, "0")) {
> > @@ -61,7 +60,7 @@ index bb960f183c..cb804c5f4b 100644
> >                   if (r < 0)
> >                           return r;
> >
> > -@@ -804,7 +804,7 @@ int cg_uninstall_release_agent(const char *controller) {
> > +@@ -810,7 +810,7 @@ int cg_uninstall_release_agent(const char *controller) {
> >           if (r < 0)
> >                   return r;
> >
> > @@ -70,7 +69,7 @@ index bb960f183c..cb804c5f4b 100644
> >           if (r < 0)
> >                   return r;
> >
> > -@@ -814,7 +814,7 @@ int cg_uninstall_release_agent(const char *controller) {
> > +@@ -820,7 +820,7 @@ int cg_uninstall_release_agent(const char *controller) {
> >           if (r < 0)
> >                   return r;
> >
> > @@ -79,7 +78,7 @@ index bb960f183c..cb804c5f4b 100644
> >           if (r < 0)
> >                   return r;
> >
> > -@@ -1646,7 +1646,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
> > +@@ -1650,7 +1650,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
> >           if (r < 0)
> >                   return r;
> >
> > @@ -121,11 +120,24 @@ index 3362ee3924..80c0f2a52e 100644
> >           if (r < 0)
> >                   return r;
> >
> > +diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
> > +index c96b5cd77f..d2476d9665 100644
> > +--- a/src/basic/sysctl-util.c
> > ++++ b/src/basic/sysctl-util.c
> > +@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
> > +
> > +         log_debug("Setting '%s' to '%s'", p, value);
> > +
> > +-        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
> > ++        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
> > + }
> > +
> > + int sysctl_read(const char *property, char **ret) {
> >  diff --git a/src/basic/util.c b/src/basic/util.c
> > -index f98ecf3858..13e0f7431f 100644
> > +index 955b18bd2a..6d89c90176 100644
> >  --- a/src/basic/util.c
> >  +++ b/src/basic/util.c
> > -@@ -267,7 +267,7 @@ void disable_coredumps(void) {
> > +@@ -234,7 +234,7 @@ void disable_coredumps(void) {
> >           if (detect_container() > 0)
> >                   return;
> >
> > @@ -135,7 +147,7 @@ index f98ecf3858..13e0f7431f 100644
> >                   log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
> >   }
> >  diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
> > -index 43ed2f385b..37a6f578f7 100644
> > +index f6b72e0bae..e9fd4d06be 100644
> >  --- a/src/binfmt/binfmt.c
> >  +++ b/src/binfmt/binfmt.c
> >  @@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
> > @@ -156,7 +168,7 @@ index 43ed2f385b..37a6f578f7 100644
> >           if (r < 0)
> >                   return log_error_errno(r, "Failed to add binary format: %m");
> >
> > -@@ -223,7 +223,7 @@ static int run(int argc, char *argv[]) {
> > +@@ -222,7 +222,7 @@ static int run(int argc, char *argv[]) {
> >                   }
> >
> >                   /* Flush out all rules */
> > @@ -166,10 +178,10 @@ index 43ed2f385b..37a6f578f7 100644
> >                   STRV_FOREACH(f, files) {
> >                           k = apply_file(*f, true);
> >  diff --git a/src/core/main.c b/src/core/main.c
> > -index a280b756ff..334532cd42 100644
> > +index 3ee8d0a869..ec36e3e80f 100644
> >  --- a/src/core/main.c
> >  +++ b/src/core/main.c
> > -@@ -1382,7 +1382,7 @@ static int bump_unix_max_dgram_qlen(void) {
> > +@@ -1401,7 +1401,7 @@ static int bump_unix_max_dgram_qlen(void) {
> >           if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
> >                   return 0;
> >
> > @@ -178,7 +190,7 @@ index a280b756ff..334532cd42 100644
> >           if (r < 0)
> >                   return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
> >                                         "Failed to bump AF_UNIX datagram queue length, ignoring: %m");
> > -@@ -1666,7 +1666,7 @@ static void initialize_core_pattern(bool skip_setup) {
> > +@@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) {
> >           if (getpid_cached() != 1)
> >                   return;
> >
> > @@ -188,7 +200,7 @@ index a280b756ff..334532cd42 100644
> >                   log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
> >   }
> >  diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
> > -index 1fe592af70..603942a000 100644
> > +index 8cc1696a4f..ab7b4ba2c3 100644
> >  --- a/src/core/smack-setup.c
> >  +++ b/src/core/smack-setup.c
> >  @@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) {
> > @@ -214,7 +226,7 @@ index 1fe592af70..603942a000 100644
> >                   log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
> >   #endif
> >  diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
> > -index d8f91f4e66..a088e6e2d8 100644
> > +index 58e35e403e..1d0beb4008 100644
> >  --- a/src/hibernate-resume/hibernate-resume.c
> >  +++ b/src/hibernate-resume/hibernate-resume.c
> >  @@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
> > @@ -227,20 +239,20 @@ index d8f91f4e66..a088e6e2d8 100644
> >                   log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
> >                   return EXIT_FAILURE;
> >  diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
> > -index d06f90ce1d..43d0a58750 100644
> > +index d82f01a164..b8fd63346c 100644
> >  --- a/src/libsystemd/sd-device/sd-device.c
> >  +++ b/src/libsystemd/sd-device/sd-device.c
> > -@@ -1976,7 +1976,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
> > +@@ -1987,7 +1987,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
> >           if (!value)
> >                   return -ENOMEM;
> >
> >  -        r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
> >  +        r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW);
> >           if (r < 0) {
> > -                 if (r == -ELOOP)
> > -                         return -EINVAL;
> > +                 /* On failure, clear cache entry, as we do not know how it fails. */
> > +                 device_remove_cached_sysattr_value(device, sysattr);
> >  diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
> > -index 7d757aa286..a5d9da5b7e 100644
> > +index 3bc424b83b..5f5eef0843 100644
> >  --- a/src/login/logind-dbus.c
> >  +++ b/src/login/logind-dbus.c
> >  @@ -1330,7 +1330,7 @@ static int trigger_device(Manager *m, sd_device *d) {
> > @@ -266,10 +278,10 @@ index cb01b25bc6..e92051268b 100644
> >                   log_error_errno(r, "Failed to move process: %m");
> >                   goto finish;
> >  diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
> > -index 3528b7ff14..11b0c20f95 100644
> > +index 0c41a48d4b..9c893b18e4 100644
> >  --- a/src/nspawn/nspawn.c
> >  +++ b/src/nspawn/nspawn.c
> > -@@ -2667,7 +2667,7 @@ static int reset_audit_loginuid(void) {
> > +@@ -2695,7 +2695,7 @@ static int reset_audit_loginuid(void) {
> >           if (streq(p, "4294967295"))
> >                   return 0;
> >
> > @@ -278,7 +290,7 @@ index 3528b7ff14..11b0c20f95 100644
> >           if (r < 0) {
> >                   log_error_errno(r,
> >                                   "Failed to reset audit login UID. This probably means that your kernel is too\n"
> > -@@ -3920,13 +3920,13 @@ static int setup_uid_map(pid_t pid) {
> > +@@ -3948,13 +3948,13 @@ static int setup_uid_map(pid_t pid) {
> >
> >           xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
> >           xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range);
> > @@ -316,21 +328,8 @@ index f197f715c7..077f893177 100644
> >                           if (r < 0) {
> >                                   log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
> >                                                   FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
> > -diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
> > -index 670c33108b..7c7c3dcfb6 100644
> > ---- a/src/shared/sysctl-util.c
> > -+++ b/src/shared/sysctl-util.c
> > -@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
> > -
> > -         log_debug("Setting '%s' to '%s'", p, value);
> > -
> > --        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
> > -+        return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
> > - }
> > -
> > - int sysctl_read(const char *property, char **content) {
> >  diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
> > -index 39ab554290..d0e566645d 100644
> > +index 262d4cea66..0523e8dc9b 100644
> >  --- a/src/sleep/sleep.c
> >  +++ b/src/sleep/sleep.c
> >  @@ -48,7 +48,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca
> > @@ -369,34 +368,8 @@ index 39ab554290..d0e566645d 100644
> >                   if (k >= 0)
> >                           return 0;
> >                   log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
> > -diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
> > -index 5c74184c33..65f528314e 100644
> > ---- a/src/udev/udevadm-trigger.c
> > -+++ b/src/udev/udevadm-trigger.c
> > -@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set **settle_s
> > -                 if (!filename)
> > -                         return log_oom();
> > -
> > --                r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER);
> > -+                r = write_string_file(filename, action, 0);
> > -                 if (r < 0) {
> > -                         bool ignore = IN_SET(r, -ENOENT, -ENODEV);
> > -
> > -diff --git a/src/udev/udevd.c b/src/udev/udevd.c
> > -index d24b8d4398..d123a43904 100644
> > ---- a/src/udev/udevd.c
> > -+++ b/src/udev/udevd.c
> > -@@ -1192,7 +1192,7 @@ static int synthesize_change_one(sd_device *dev, const char *syspath) {
> > -
> > -         filename = strjoina(syspath, "/uevent");
> > -         log_device_debug(dev, "device is closed, synthesising 'change' on %s", syspath);
> > --        r = write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
> > -+        r = write_string_file(filename, "change", 0);
> > -         if (r < 0)
> > -                 return log_device_debug_errno(dev, r, "Failed to write 'change' to %s: %m", filename);
> > -         return 0;
> >  diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
> > -index b28e2853e1..115b7233a0 100644
> > +index d1c3febdd5..1cc68694d1 100644
> >  --- a/src/vconsole/vconsole-setup.c
> >  +++ b/src/vconsole/vconsole-setup.c
> >  @@ -116,7 +116,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
> > @@ -408,6 +381,3 @@ index b28e2853e1..115b7233a0 100644
> >           if (r < 0)
> >                   return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
> >
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
> > index 1cc3985d12..7d1bd60255 100644
> > --- a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
> > +++ b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
> > @@ -1,7 +1,7 @@
> > -From bbda4a48a34662393117fc677c3a678d4ce4c2ec Mon Sep 17 00:00:00 2001
> > +From d73755cc60f401f0f20f357752e45aeeeef8e83f Mon Sep 17 00:00:00 2001
> >  From: Scott Murray <scott.murray@konsulko.com>
> >  Date: Fri, 13 Sep 2019 19:26:27 -0400
> > -Subject: [PATCH 25/26] Handle __cpu_mask usage
> > +Subject: [PATCH] Handle __cpu_mask usage
> >
> >  Fixes errors:
> >
> > @@ -18,6 +18,7 @@ add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
> >  Upstream-Status: Inappropriate [musl specific]
> >
> >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > +
> >  ---
> >   src/shared/cpu-set-util.h | 2 ++
> >   src/test/test-sizeof.c    | 2 +-
> > @@ -55,6 +56,3 @@ index e1a59d408c..c269ea6e8c 100644
> >
> >   /* Print information about various types. Useful when diagnosing
> >    * gcc diagnostics on an unfamiliar architecture. */
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
> > index 4180afb08e..068600fa44 100644
> > --- a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
> > +++ b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
> > @@ -1,7 +1,7 @@
> > -From 47bf88f74717b417e4adbcc04256334b2335c873 Mon Sep 17 00:00:00 2001
> > +From 04e94f9a15101daa8f65a9af269d26cda2a24056 Mon Sep 17 00:00:00 2001
> >  From: Alex Kiernan <alex.kiernan@gmail.com>
> >  Date: Tue, 10 Mar 2020 11:05:20 +0000
> > -Subject: [PATCH 26/26] Handle missing gshadow
> > +Subject: [PATCH] Handle missing gshadow
> >
> >  gshadow usage is now present in the userdb code. Mask all uses of it to
> >  allow compilation on musl
> > @@ -10,6 +10,7 @@ Upstream-Status: Inappropriate [musl specific]
> >  Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> >  [Rebased for v247]
> >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > +
> >  ---
> >   src/shared/user-record-nss.c | 20 ++++++++++++++++++++
> >   src/shared/user-record-nss.h |  4 ++++
> > @@ -138,10 +139,10 @@ index 22ab04d6ee..4e52e7a911 100644
> >   #include <shadow.h>
> >
> >  diff --git a/src/shared/userdb.c b/src/shared/userdb.c
> > -index 2d480283d1..0d19764f2e 100644
> > +index 613350bd46..5c821d28cd 100644
> >  --- a/src/shared/userdb.c
> >  +++ b/src/shared/userdb.c
> > -@@ -929,13 +929,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
> > +@@ -938,13 +938,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
> >                   if (gr) {
> >                           _cleanup_free_ char *buffer = NULL;
> >                           bool incomplete = false;
> > @@ -155,10 +156,10 @@ index 2d480283d1..0d19764f2e 100644
> >                                   iterator->synthesize_nobody = false;
> >
> >  +#if ENABLE_GSHADOW
> > -                         r = nss_sgrp_for_group(gr, &sgrp, &buffer);
> > -                         if (r < 0) {
> > -                                 log_debug_errno(r, "Failed to acquire shadow entry for group %s, ignoring: %m", gr->gr_name);
> > -@@ -943,6 +946,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
> > +                         if (!FLAGS_SET(iterator->flags, USERDB_AVOID_SHADOW)) {
> > +                                 r = nss_sgrp_for_group(gr, &sgrp, &buffer);
> > +                                 if (r < 0) {
> > +@@ -957,6 +960,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
> >                           }
> >
> >                           r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
> > @@ -168,6 +169,3 @@ index 2d480283d1..0d19764f2e 100644
> >                           if (r < 0)
> >                                   return r;
> >
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch b/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> > deleted file mode 100644
> > index 94a4c307b5..0000000000
> > --- a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> > +++ /dev/null
> > @@ -1,97 +0,0 @@
> > -From 297aba739cd689e4dc9f43bb1422ec88d481099a Mon Sep 17 00:00:00 2001
> > -From: Paul Gortmaker <paul.gortmaker@windriver.com>
> > -Date: Wed, 13 Jan 2021 21:09:33 +0000
> > -Subject: [PATCH] proc: dont trigger mount error with invalid options on old
> > - kernels
> > -
> > -As of commit 4e39995371738b04d98d27b0d34ea8fe09ec9fab ("core: introduce
> > -ProtectProc= and ProcSubset= to expose hidepid= and subset= procfs
> > -mount options") kernels older than v5.8 generate multple warnings at
> > -boot, as seen in this Yocto build from today:
> > -
> > -     qemux86-64 login: root
> > -     [   65.829009] proc: Bad value for 'hidepid'
> > -     root@qemux86-64:~# dmesg|grep proc:
> > -     [   16.990706] proc: Bad value for 'hidepid'
> > -     [   28.060178] proc: Bad value for 'hidepid'
> > -     [   28.874229] proc: Bad value for 'hidepid'
> > -     [   32.685107] proc: Bad value for 'hidepid'
> > -     [   65.829009] proc: Bad value for 'hidepid'
> > -     root@qemux86-64:~#
> > -
> > -The systemd maintainer has dismissed this as something people should
> > -simply ignore[1] and has no interest in trying to avoid it by
> > -proactively checking the kernel version, so people can safely assume
> > -that they will never see this version check commit upstream.
> > -
> > -However, as can be seen above, telling people to just ignore it is not
> > -an option, as we'll end up answering the same question and dealing with
> > -the same bug over and over again.
> > -
> > -The commit that triggers this is systemd v247-rc1~378^2~3 -- so any
> > -systemd 247 and above plus kernel v5.7 or older will need this.
> > -
> > -[1] https://github.com/systemd/systemd/issues/16896
> > -
> > -Upstream-Status: Denied [https://github.com/systemd/systemd/issues/16896]
> > -Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> > -
> > -Index: git/src/core/namespace.c
> > -===================================================================
> > ---- git.orig/src/core/namespace.c
> > -+++ git/src/core/namespace.c
> > -@@ -4,7 +4,9 @@
> > - #include <linux/loop.h>
> > - #include <sched.h>
> > - #include <stdio.h>
> > -+#include <stdlib.h>
> > - #include <sys/mount.h>
> > -+#include <sys/utsname.h>
> > - #include <unistd.h>
> > - #include <linux/fs.h>
> > -
> > -@@ -860,13 +862,32 @@ static int mount_sysfs(const MountEntry
> > -
> > - static int mount_procfs(const MountEntry *m, const NamespaceInfo *ns_info) {
> > -         const char *entry_path;
> > --        int r;
> > -+        int r, major, minor;
> > -+        struct utsname uts;
> > -+        bool old = false;
> > -
> > -         assert(m);
> > -         assert(ns_info);
> > -
> > -         entry_path = mount_entry_path(m);
> > -
> > -+        /* If uname says that the system is older than v5.8, then the textual hidepid= stuff is not
> > -+         * supported by the kernel, and thus the per-instance hidepid= neither, which means we
> > -+         * really don't want to use it, since it would affect our host's /proc * mount. Hence let's
> > -+         * gracefully fallback to a classic, unrestricted version. */
> > -+
> > -+        r = uname(&uts);
> > -+        if (r < 0)
> > -+               return errno;
> > -+
> > -+        major = atoi(uts.release);
> > -+        minor = atoi(strchr(uts.release, '.') + 1);
> > -+
> > -+        if (major < 5 || (major == 5 && minor < 8)) {
> > -+                log_debug("Pre v5.8 kernel detected [v%d.%d] - skipping hidepid=", major, minor);
> > -+                old = true;
> > -+        }
> > -+
> > -         /* Mount a new instance, so that we get the one that matches our user namespace, if we are running in
> > -          * one. i.e we don't reuse existing mounts here under any condition, we want a new instance owned by
> > -          * our user namespace and with our hidepid= settings applied. Hence, let's get rid of everything
> > -@@ -875,8 +896,8 @@ static int mount_procfs(const MountEntry
> > -         (void) mkdir_p_label(entry_path, 0755);
> > -         (void) umount_recursive(entry_path, 0);
> > -
> > --        if (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
> > --            ns_info->proc_subset != PROC_SUBSET_ALL) {
> > -+        if (!old && (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
> > -+            ns_info->proc_subset != PROC_SUBSET_ALL)) {
> > -                 _cleanup_free_ char *opts = NULL;
> > -
> > -                 /* Starting with kernel 5.8 procfs' hidepid= logic is truly per-instance (previously it
> > diff --git a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
> > index bbee6e6b28..2289404d8d 100644
> > --- a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
> > +++ b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
> > @@ -1,4 +1,4 @@
> > -From 7b32582c066549fea0f7180a6c575e7fa37a867f Mon Sep 17 00:00:00 2001
> > +From 366cd28f5f93ba7c861cd32a718251770d74830e Mon Sep 17 00:00:00 2001
> >  From: Khem Raj <raj.khem@gmail.com>
> >  Date: Mon, 12 Apr 2021 23:44:53 -0700
> >  Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl
> > @@ -10,15 +10,16 @@ them here in case they are undefined
> >  Upstream-Status: Pending
> >
> >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > +
> >  ---
> >   src/basic/missing_syscall.h | 6 ++++++
> >   1 file changed, 6 insertions(+)
> >
> >  diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
> > -index 0594a1b930..495d161334 100644
> > +index 1384324804..0202d00372 100644
> >  --- a/src/basic/missing_syscall.h
> >  +++ b/src/basic/missing_syscall.h
> > -@@ -15,6 +15,12 @@
> > +@@ -20,6 +20,12 @@
> >   #include <asm/sgidefs.h>
> >   #endif
> >
> > @@ -28,9 +29,6 @@ index 0594a1b930..495d161334 100644
> >  +#define _MIPS_SIM_ABI64               3
> >  +#endif
> >  +
> > - #if defined(__x86_64__) && defined(__ILP32__)
> > - #  define systemd_SC_arch_bias(x) ((x) | /* __X32_SYSCALL_BIT */ 0x40000000)
> > - #elif defined(__ia64__)
> > ---
> > -2.31.1
> > -
> > + #include "missing_keyctl.h"
> > + #include "missing_stat.h"
> > + #include "missing_syscall_def.h"
> > diff --git a/meta/recipes-core/systemd/systemd_247.6.bb b/meta/recipes-core/systemd/systemd_248.3.bb
> > similarity index 99%
> > rename from meta/recipes-core/systemd/systemd_247.6.bb
> > rename to meta/recipes-core/systemd/systemd_248.3.bb
> > index ce6ac7ebaa..b241330d96 100644
> > --- a/meta/recipes-core/systemd/systemd_247.6.bb
> > +++ b/meta/recipes-core/systemd/systemd_248.3.bb
> > @@ -14,7 +14,8 @@ inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu
> >  # that we don't build both udev and systemd in world builds.
> >  REQUIRED_DISTRO_FEATURES = "systemd"
> >
> > -SRC_URI += "file://touchscreen.rules \
> > +SRC_URI += " \
> > +           file://touchscreen.rules \
> >             file://00-create-volatile.conf \
> >             ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \
> >             ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \
> > @@ -24,9 +25,6 @@ SRC_URI += "file://touchscreen.rules \
> >             file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
> >             file://0003-implment-systemd-sysv-install-for-OE.patch \
> >             file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
> > -           file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \
> > -           file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \
> > -           file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \
> >             "
> >
> >  # patches needed by musl
> > @@ -474,6 +472,7 @@ FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.c
> >                           ${rootlibexecdir}/systemd/systemd-machined \
> >                           ${rootlibexecdir}/systemd/systemd-pull \
> >                           ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
> > +                         ${exec_prefix}/lib/tmpfiles.d/README \
> >                           ${systemd_system_unitdir}/systemd-nspawn@.service \
> >                           ${libdir}/libnss_mymachines.so.2 \
> >                           ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
> > @@ -605,6 +604,7 @@ FILES_${PN} = " ${base_bindir}/* \
> >                  ${exec_prefix}/lib/environment.d \
> >                  ${localstatedir} \
> >                  ${rootlibexecdir}/modprobe.d/systemd.conf \
> > +                ${rootlibexecdir}/modprobe.d/README \
> >                  ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
> >                  ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
> >                  ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
> > @@ -647,6 +647,7 @@ FILES_udev += "${base_sbindir}/udevd \
> >                 ${rootlibexecdir}/udev/ata_id \
> >                 ${rootlibexecdir}/udev/cdrom_id \
> >                 ${rootlibexecdir}/udev/collect \
> > +               ${rootlibexecdir}/udev/dmi_memory_id \
> >                 ${rootlibexecdir}/udev/fido_id \
> >                 ${rootlibexecdir}/udev/findkeyboards \
> >                 ${rootlibexecdir}/udev/keyboard-force-release.sh \
> > @@ -674,6 +675,7 @@ FILES_udev += "${base_sbindir}/udevd \
> >                 ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \
> >                 ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
> >                 ${rootlibexecdir}/udev/rules.d/70-joystick.rules \
> > +               ${rootlibexecdir}/udev/rules.d/70-memory.rules \
> >                 ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
> >                 ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
> >                 ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
> > @@ -683,6 +685,7 @@ FILES_udev += "${base_sbindir}/udevd \
> >                 ${rootlibexecdir}/udev/rules.d/80-drivers.rules \
> >                 ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
> >                 ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
> > +               ${rootlibexecdir}/udev/rules.d/README \
> >                 ${sysconfdir}/udev \
> >                 ${sysconfdir}/init.d/systemd-udevd \
> >                 ${systemd_unitdir}/system/*udev* \
> > --
> > 2.31.1
> >
> >
> > 
> >

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [OE-core] [PATCH 02/21] systemd: update 247.6 -> 248.3
  2021-05-25  1:40     ` Khem Raj
@ 2021-05-25  7:55       ` Alexander Kanavin
  2021-05-25 13:52         ` Khem Raj
  0 siblings, 1 reply; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-25  7:55 UTC (permalink / raw)
  To: Khem Raj, Richard Purdie; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 142673 bytes --]

I have to ask: should musl patches for systemd be maintained separately?
It's a big pile, they aren't accepted by upstream, they aren't tested on
the AB (hence I didn't even notice the breakage), and they cause rebase
problems at every version upgrade.

I would propose that a separate recipe is made that takes the sources from
a repo, rather than carry the patches in oe-core.

Alex

On Tue, 25 May 2021 at 03:41, Khem Raj <raj.khem@gmail.com> wrote:

> since master-next broke my CI, I have sent a fix on top of this.
> Please include that
>
> On Mon, May 24, 2021 at 5:18 PM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > Fails to compile for musl
> >
> > https://errors.yoctoproject.org/Errors/Details/585507/
> >
> > src/basic/percent-util.c source file needs to include
> >
> > #include "missing_stdlib.h"
> >
> > like other files in
> 0005-src-basic-missing.h-check-for-missing-strndupa.patch
> >
> > On Mon, May 24, 2021 at 2:14 AM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > Drop backports:
> > > 48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > > 7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > > 0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > > 0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > >
> > > Drop 0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> > > as difficult to rebase; please resend if you feel strongly that
> > > it is needed.
> > >
> > > Rebase the big pile of musl patches.
> > >
> > > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > > ---
> > >  ...f0a2af3f62acd446ebec8081b039b72caad8.patch | 179 --------------
> > >  ...d25119a495009ea62f79e5daec34cc464628.patch |  53 ----
> > >  ...md-boot_247.6.bb => systemd-boot_248.3.bb} |   0
> > >  meta/recipes-core/systemd/systemd.inc         |   6 +-
> > >  ...ve-executable-path-if-it-is-relative.patch |  39 ---
> > >  ...chvt-as-non-root-user-without-polkit.patch | 227 ------------------
> > >  ...002-don-t-use-glibc-specific-qsort_r.patch |  29 ++-
> > >  ...dd-__compare_fn_t-and-comparison_fn_.patch |  26 +-
> > >  ...k-parse_printf_format-implementation.patch |  46 ++--
> > >  ...missing.h-check-for-missing-strndupa.patch | 204 ++++++++++++----
> > >  .../0006-Include-netinet-if_ether.h.patch     |  56 +++--
> > >  ...OB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch |  17 +-
> > >  ...008-add-missing-FTW_-macros-for-musl.patch |   8 +-
> > >  ..._register_atfork-for-non-glibc-build.patch |  12 +-
> > >  ...10-Use-uintmax_t-for-handling-rlim_t.patch |  18 +-
> > >  ...sable-tests-for-missing-typedefs-in-.patch |   9 +-
> > >  ...T_SYMLINK_NOFOLLOW-flag-to-faccessat.patch |  19 +-
> > >  ...patible-basename-for-non-glibc-syste.patch |  11 +-
> > >  ...uffering-when-writing-to-oom_score_a.patch |  12 +-
> > >  ...compliant-strerror_r-from-GNU-specif.patch |  46 ++--
> > >  ...S_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch |   8 +-
> > >  ...ype.h-add-__compar_d_fn_t-definition.patch |   8 +-
> > >  ...definition-of-prctl_mm_map-structure.patch |   8 +-
> > >  .../systemd/0019-Handle-missing-LOCK_EX.patch |  10 +-
> > >  ...ible-pointer-type-struct-sockaddr_un.patch |  12 +-
> > >  .../0021-test-json.c-define-M_PIl.patch       |   8 +-
> > >  ...-not-disable-buffer-in-writing-files.patch | 116 ++++-----
> > >  .../0025-Handle-__cpu_mask-usage.patch        |   8 +-
> > >  .../systemd/0026-Handle-missing-gshadow.patch |  20 +-
> > >  ...r-mount-error-with-invalid-options-o.patch |  97 --------
> > >  ...l.h-Define-MIPS-ABI-defines-for-musl.patch |  16 +-
> > >  .../{systemd_247.6.bb => systemd_248.3.bb}    |  11 +-
> > >  32 files changed, 388 insertions(+), 951 deletions(-)
> > >  delete mode 100644
> meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > >  delete mode 100644
> meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > >  rename meta/recipes-core/systemd/{systemd-boot_247.6.bb =>
> systemd-boot_248.3.bb} (100%)
> > >  delete mode 100644
> meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > >  delete mode 100644
> meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> > >  delete mode 100644
> meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> > >  rename meta/recipes-core/systemd/{systemd_247.6.bb =>
> systemd_248.3.bb} (99%)
> > >
> > > diff --git
> a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> b/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > > deleted file mode 100644
> > > index e3ce296741..0000000000
> > > ---
> a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > > +++ /dev/null
> > > @@ -1,179 +0,0 @@
> > > -From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00 2001
> > > -From: Daan De Meyer <daan.j.demeyer@gmail.com>
> > > -Date: Fri, 12 Mar 2021 22:09:44 +0000
> > > -Subject: [PATCH] boot: Move console declarations to missing_efi.h
> > > -
> > > -These were added to eficonex.h in gnu-efi 3.0.13. Let's move them
> > > -to missing_efi.h behind an appropriate guard to fix the build with
> > > -recent versions of gnu-efi.
> > > -
> > > -(cherry picked from commit 95ba433a5f34baf92921fb58051bc8241f908c0e)
> > > -
> > > -Upstream-Status: Backport
> > > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > > ----
> > > - src/boot/efi/console.c     | 57 --------------------------------
> > > - src/boot/efi/console.h     |  6 +---
> > > - src/boot/efi/missing_efi.h | 67
> ++++++++++++++++++++++++++++++++++++++
> > > - 3 files changed, 68 insertions(+), 62 deletions(-)
> > > -
> > > -diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
> > > -index 2dd4543d51..1d6dfeeea2 100644
> > > ---- a/src/boot/efi/console.c
> > > -+++ b/src/boot/efi/console.c
> > > -@@ -9,63 +9,6 @@
> > > - #define SYSTEM_FONT_WIDTH 8
> > > - #define SYSTEM_FONT_HEIGHT 19
> > > -
> > > --#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
> > > --        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85,
> 0x17, 0xa6, 0x25, 0xaa } }
> > > --
> > > --struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > --        BOOLEAN ExtendedVerification
> > > --);
> > > --
> > > --typedef UINT8 EFI_KEY_TOGGLE_STATE;
> > > --
> > > --typedef struct {
> > > --        UINT32 KeyShiftState;
> > > --        EFI_KEY_TOGGLE_STATE KeyToggleState;
> > > --} EFI_KEY_STATE;
> > > --
> > > --typedef struct {
> > > --        EFI_INPUT_KEY Key;
> > > --        EFI_KEY_STATE KeyState;
> > > --} EFI_KEY_DATA;
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > --        EFI_KEY_DATA *KeyData
> > > --);
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > --        EFI_KEY_TOGGLE_STATE *KeyToggleState
> > > --);
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
> > > --        EFI_KEY_DATA *KeyData
> > > --);
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > --        EFI_KEY_DATA KeyData,
> > > --        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
> > > --        VOID **NotifyHandle
> > > --);
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > --        VOID *NotificationHandle
> > > --);
> > > --
> > > --typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
> > > --        EFI_INPUT_RESET_EX Reset;
> > > --        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
> > > --        EFI_EVENT WaitForKeyEx;
> > > --        EFI_SET_STATE SetState;
> > > --        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
> > > --        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
> > > --} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > > --
> > > - EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
> > > -         EFI_GUID EfiSimpleTextInputExProtocolGuid =
> EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
> > > -         static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
> > > -diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
> > > -index 41df3a406e..2c69af552a 100644
> > > ---- a/src/boot/efi/console.h
> > > -+++ b/src/boot/efi/console.h
> > > -@@ -1,11 +1,7 @@
> > > - /* SPDX-License-Identifier: LGPL-2.1-or-later */
> > > - #pragma once
> > > -
> > > --#define EFI_SHIFT_STATE_VALID           0x80000000
> > > --#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
> > > --#define EFI_LEFT_CONTROL_PRESSED        0x00000008
> > > --#define EFI_RIGHT_ALT_PRESSED           0x00000010
> > > --#define EFI_LEFT_ALT_PRESSED            0x00000020
> > > -+#include "missing_efi.h"
> > > -
> > > - #define EFI_CONTROL_PRESSED
>  (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED)
> > > - #define EFI_ALT_PRESSED
>  (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED)
> > > -diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h
> > > -index 1b838af2a4..b6aae1eb5b 100644
> > > ---- a/src/boot/efi/missing_efi.h
> > > -+++ b/src/boot/efi/missing_efi.h
> > > -@@ -53,3 +53,70 @@ typedef struct _EFI_RNG_PROTOCOL {
> > > - } EFI_RNG_PROTOCOL;
> > > -
> > > - #endif
> > > -+
> > > -+#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
> > > -+
> > > -+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
> > > -+        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85,
> 0x17, 0xa6, 0x25, 0xaa } }
> > > -+
> > > -+#define EFI_SHIFT_STATE_VALID           0x80000000
> > > -+#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
> > > -+#define EFI_LEFT_CONTROL_PRESSED        0x00000008
> > > -+#define EFI_RIGHT_ALT_PRESSED           0x00000010
> > > -+#define EFI_LEFT_ALT_PRESSED            0x00000020
> > > -+
> > > -+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > -+        BOOLEAN ExtendedVerification
> > > -+);
> > > -+
> > > -+typedef UINT8 EFI_KEY_TOGGLE_STATE;
> > > -+
> > > -+typedef struct {
> > > -+        UINT32 KeyShiftState;
> > > -+        EFI_KEY_TOGGLE_STATE KeyToggleState;
> > > -+} EFI_KEY_STATE;
> > > -+
> > > -+typedef struct {
> > > -+        EFI_INPUT_KEY Key;
> > > -+        EFI_KEY_STATE KeyState;
> > > -+} EFI_KEY_DATA;
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > -+        EFI_KEY_DATA *KeyData
> > > -+);
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > -+        EFI_KEY_TOGGLE_STATE *KeyToggleState
> > > -+);
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
> > > -+        EFI_KEY_DATA *KeyData
> > > -+);
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > -+        EFI_KEY_DATA KeyData,
> > > -+        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
> > > -+        VOID **NotifyHandle
> > > -+);
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > -+        VOID *NotificationHandle
> > > -+);
> > > -+
> > > -+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
> > > -+        EFI_INPUT_RESET_EX Reset;
> > > -+        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
> > > -+        EFI_EVENT WaitForKeyEx;
> > > -+        EFI_SET_STATE SetState;
> > > -+        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
> > > -+        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
> > > -+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > > -+
> > > -+#endif
> > > diff --git
> a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> b/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > > deleted file mode 100644
> > > index ae449791f1..0000000000
> > > ---
> a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > > +++ /dev/null
> > > @@ -1,53 +0,0 @@
> > > -From 7c5fd25119a495009ea62f79e5daec34cc464628 Mon Sep 17 00:00:00 2001
> > > -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <
> zbyszek@in.waw.pl>
> > > -Date: Mon, 12 Apr 2021 14:03:32 +0200
> > > -Subject: [PATCH] meson: do not fail if rsync is not installed with
> meson
> > > - 0.57.2
> > > -
> > > -https://github.com/mesonbuild/meson/issues/8641
> > > -
> > > -Our CI started to fail. Even if the change is reverted in meson,
> > > -we need a quick workaround here.
> > > -
> > > -Upstream-Status: Backport
> > > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > > ----
> > > - man/meson.build | 25 ++++++++++++++-----------
> > > - 1 file changed, 14 insertions(+), 11 deletions(-)
> > > -
> > > -diff --git a/man/meson.build b/man/meson.build
> > > -index 3cae8446cda..f9c4b83dc81 100644
> > > ---- a/man/meson.build
> > > -+++ b/man/meson.build
> > > -@@ -184,17 +184,20 @@ html = custom_target(
> > > -         depends : html_pages,
> > > -         command : ['echo'])
> > > -
> > > --run_target(
> > > --        'doc-sync',
> > > --        depends : man_pages + html_pages,
> > > --        command : ['rsync', '-rlv',
> > > --                   '--delete-excluded',
> > > --                   '--include=man',
> > > --                   '--include=*.html',
> > > --                   '--exclude=*',
> > > --                   '--omit-dir-times',
> > > --                   meson.current_build_dir(),
> > > --                   get_option('www-target')])
> > > -+rsync = find_program('rsync', required : false)
> > > -+if rsync.found()
> > > -+        run_target(
> > > -+                'doc-sync',
> > > -+                depends : man_pages + html_pages,
> > > -+                command : [rsync, '-rlv',
> > > -+                           '--delete-excluded',
> > > -+                           '--include=man',
> > > -+                           '--include=*.html',
> > > -+                           '--exclude=*',
> > > -+                           '--omit-dir-times',
> > > -+                           meson.current_build_dir(),
> > > -+                           get_option('www-target')])
> > > -+endif
> > > -
> > > - ############################################################
> > > -
> > > diff --git a/meta/recipes-core/systemd/systemd-boot_247.6.bb
> b/meta/recipes-core/systemd/systemd-boot_248.3.bb
> > > similarity index 100%
> > > rename from meta/recipes-core/systemd/systemd-boot_247.6.bb
> > > rename to meta/recipes-core/systemd/systemd-boot_248.3.bb
> > > diff --git a/meta/recipes-core/systemd/systemd.inc
> b/meta/recipes-core/systemd/systemd.inc
> > > index 88dddb309c..0524a25008 100644
> > > --- a/meta/recipes-core/systemd/systemd.inc
> > > +++ b/meta/recipes-core/systemd/systemd.inc
> > > @@ -14,11 +14,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
> > >  LIC_FILES_CHKSUM =
> "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
> > >
> file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
> > >
> > > -SRCREV = "17472dca0160cbe7b807ca648475fd70d0d62fe5"
> > > -SRCBRANCH = "v247-stable"
> > > +SRCREV = "37c4cfde0ce613f0f00544d3f4e2e72bf93d9c76"
> > > +SRCBRANCH = "v248-stable"
> > >  SRC_URI = "git://
> github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}
> <http://github.com/systemd/systemd-stable.git;protocol=git;branch=$%7BSRCBRANCH%7D>
> \
> > > -           file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \
> > > -           file://48fff0a2af3f62acd446ebec8081b039b72caad8.patch \
> > >  "
> > >
> > >  S = "${WORKDIR}/git"
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> b/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > > deleted file mode 100644
> > > index fd7f94a61d..0000000000
> > > ---
> a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > > +++ /dev/null
> > > @@ -1,39 +0,0 @@
> > > -From b9b7a8e3825f0433e120f7a6d7d5d635a839cab9 Mon Sep 17 00:00:00 2001
> > > -From: Mingli Yu <mingli.yu@windriver.com>
> > > -Date: Thu, 21 Jan 2021 06:19:44 +0000
> > > -Subject: [PATCH] analyze: resolve executable path if it is relative
> > > -
> > > -Upstream-Status: Backport [
> https://github.com/systemd/systemd/commit/f1fb046a985521f7d4a662f02546686ff20b7e5d
> ]
> > > -
> > > -Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> > > ----
> > > - src/analyze/analyze-verify.c | 7 +++++--
> > > - 1 file changed, 5 insertions(+), 2 deletions(-)
> > > -
> > > -diff --git a/src/analyze/analyze-verify.c
> b/src/analyze/analyze-verify.c
> > > -index a9c89173bf..969523df18 100644
> > > ---- a/src/analyze/analyze-verify.c
> > > -+++ b/src/analyze/analyze-verify.c
> > > -@@ -115,14 +115,17 @@ static int verify_socket(Unit *u) {
> > > - }
> > > -
> > > - int verify_executable(Unit *u, const ExecCommand *exec) {
> > > -+        int r;
> > > -+
> > > -         if (!exec)
> > > -                 return 0;
> > > -
> > > -         if (exec->flags & EXEC_COMMAND_IGNORE_FAILURE)
> > > -                 return 0;
> > > -
> > > --        if (access(exec->path, X_OK) < 0)
> > > --                return log_unit_error_errno(u, errno, "Command %s is
> not executable: %m", exec->path);
> > > -+        r = find_executable_full(exec->path, false, NULL);
> > > -+        if (r < 0)
> > > -+                return log_unit_error_errno(u, r, "Command %s is not
> executable: %m", exec->path);
> > > -
> > > -         return 0;
> > > - }
> > > ---
> > > -2.26.2
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> b/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> > > deleted file mode 100644
> > > index 89ef39bc3e..0000000000
> > > ---
> a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> > > +++ /dev/null
> > > @@ -1,227 +0,0 @@
> > > -From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00 2001
> > > -From: Joshua Watt <JPEWhacker@gmail.com>
> > > -Date: Fri, 30 Oct 2020 08:15:43 -0500
> > > -Subject: [PATCH] logind: Restore chvt as non-root user without polkit
> > > -
> > > -4acf0cfd2f ("logind: check PolicyKit before allowing VT switch") broke
> > > -the ability to write user sessions that run graphical sessions (e.g.
> > > -weston/X11). This was partially amended in 19bb87fbfa ("login: allow
> > > -non-console sessions to change vt") by changing the default PolicyKit
> > > -policy so that non-root users are again allowed to switch the VT. This
> > > -makes the policy when PolKit is not enabled (as on many embedded
> > > -systems) match the default PolKit policy and allows launching
> graphical
> > > -sessions as a non-root user.
> > > -
> > > -Closes #17473
> > > ----
> > > - src/login/logind-dbus.c         | 11 ++-------
> > > - src/login/logind-polkit.c       | 26 +++++++++++++++++++++
> > > - src/login/logind-polkit.h       | 10 ++++++++
> > > - src/login/logind-seat-dbus.c    | 41
> ++++-----------------------------
> > > - src/login/logind-session-dbus.c | 11 ++-------
> > > - src/login/meson.build           |  1 +
> > > - 6 files changed, 46 insertions(+), 54 deletions(-)
> > > - create mode 100644 src/login/logind-polkit.c
> > > - create mode 100644 src/login/logind-polkit.h
> > > -
> > > -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
> > > -index 0f83ed99bc..a3765d88ba 100644
> > > ---- a/src/login/logind-dbus.c
> > > -+++ b/src/login/logind-dbus.c
> > > -@@ -30,6 +30,7 @@
> > > - #include "format-util.h"
> > > - #include "fs-util.h"
> > > - #include "logind-dbus.h"
> > > -+#include "logind-polkit.h"
> > > - #include "logind-seat-dbus.h"
> > > - #include "logind-session-dbus.h"
> > > - #include "logind-user-dbus.h"
> > > -@@ -1047,15 +1048,7 @@ static int
> method_activate_session_on_seat(sd_bus_message *message, void *userda
> > > -                 return sd_bus_error_setf(error,
> BUS_ERROR_SESSION_NOT_ON_SEAT,
> > > -                                          "Session %s not on seat
> %s", session_name, seat_name);
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &m->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, m, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c
> > > -new file mode 100644
> > > -index 0000000000..9072570cc6
> > > ---- /dev/null
> > > -+++ b/src/login/logind-polkit.c
> > > -@@ -0,0 +1,26 @@
> > > -+/* SPDX-License-Identifier: LGPL-2.1+ */
> > > -+
> > > -+#include "bus-polkit.h"
> > > -+#include "logind-polkit.h"
> > > -+#include "missing_capability.h"
> > > -+#include "user-util.h"
> > > -+
> > > -+int check_polkit_chvt(sd_bus_message *message, Manager *manager,
> sd_bus_error *error) {
> > > -+#if ENABLE_POLKIT
> > > -+        return bus_verify_polkit_async(
> > > -+                        message,
> > > -+                        CAP_SYS_ADMIN,
> > > -+                        "org.freedesktop.login1.chvt",
> > > -+                        NULL,
> > > -+                        false,
> > > -+                        UID_INVALID,
> > > -+                        &manager->polkit_registry,
> > > -+                        error);
> > > -+#else
> > > -+        /* Allow chvt when polkit is not present. This allows a
> service to start a graphical session as a
> > > -+         * non-root user when polkit is not compiled in, matching
> the default polkit policy */
> > > -+        return 1;
> > > -+#endif
> > > -+}
> > > -+
> > > -+
> > > -diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h
> > > -new file mode 100644
> > > -index 0000000000..476c077a8a
> > > ---- /dev/null
> > > -+++ b/src/login/logind-polkit.h
> > > -@@ -0,0 +1,10 @@
> > > -+/* SPDX-License-Identifier: LGPL-2.1+ */
> > > -+#pragma once
> > > -+
> > > -+#include "sd-bus.h"
> > > -+
> > > -+#include "bus-object.h"
> > > -+#include "logind.h"
> > > -+
> > > -+int check_polkit_chvt(sd_bus_message *message, Manager *manager,
> sd_bus_error *error);
> > > -+
> > > -diff --git a/src/login/logind-seat-dbus.c
> b/src/login/logind-seat-dbus.c
> > > -index a945132284..f22e9e2734 100644
> > > ---- a/src/login/logind-seat-dbus.c
> > > -+++ b/src/login/logind-seat-dbus.c
> > > -@@ -9,6 +9,7 @@
> > > - #include "bus-polkit.h"
> > > - #include "bus-util.h"
> > > - #include "logind-dbus.h"
> > > -+#include "logind-polkit.h"
> > > - #include "logind-seat-dbus.h"
> > > - #include "logind-seat.h"
> > > - #include "logind-session-dbus.h"
> > > -@@ -179,15 +180,7 @@ static int
> method_activate_session(sd_bus_message *message, void *userdata, sd_b
> > > -         if (session->seat != s)
> > > -                 return sd_bus_error_setf(error,
> BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id);
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &s->manager->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, s->manager, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message
> *message, void *userdata, sd_bus_erro
> > > -         if (to <= 0)
> > > -                 return sd_bus_error_setf(error,
> SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal");
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &s->manager->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, s->manager, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message
> *message, void *userdata, sd_bus
> > > -         assert(message);
> > > -         assert(s);
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &s->manager->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, s->manager, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -@@ -271,15 +248,7 @@ static int
> method_switch_to_previous(sd_bus_message *message, void *userdata, sd
> > > -         assert(message);
> > > -         assert(s);
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &s->manager->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, s->manager, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -diff --git a/src/login/logind-session-dbus.c
> b/src/login/logind-session-dbus.c
> > > -index ccc5ac8df2..57c8a4e900 100644
> > > ---- a/src/login/logind-session-dbus.c
> > > -+++ b/src/login/logind-session-dbus.c
> > > -@@ -11,6 +11,7 @@
> > > - #include "fd-util.h"
> > > - #include "logind-brightness.h"
> > > - #include "logind-dbus.h"
> > > -+#include "logind-polkit.h"
> > > - #include "logind-seat-dbus.h"
> > > - #include "logind-session-dbus.h"
> > > - #include "logind-session-device.h"
> > > -@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message
> *message, void *userdata, sd_bus_
> > > -         assert(message);
> > > -         assert(s);
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &s->manager->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, s->manager, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -diff --git a/src/login/meson.build b/src/login/meson.build
> > > -index 0a7d3d5440..7e46be2add 100644
> > > ---- a/src/login/meson.build
> > > -+++ b/src/login/meson.build
> > > -@@ -26,6 +26,7 @@ liblogind_core_sources = files('''
> > > -         logind-device.h
> > > -         logind-inhibit.c
> > > -         logind-inhibit.h
> > > -+        logind-polkit.c
> > > -         logind-seat-dbus.c
> > > -         logind-seat-dbus.h
> > > -         logind-seat.c
> > > ---
> > > -2.28.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> > > index d856bcb583..4cdf66e767 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> > > @@ -1,7 +1,7 @@
> > > -From 66ece0b870b3a34fdabc48b88437e6cc354e9fce Mon Sep 17 00:00:00 2001
> > > +From 159c53612444ec1df492bae528a5a88a275b93bf Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 13:41:41 +0800
> > > -Subject: [PATCH 02/26] don't use glibc-specific qsort_r
> > > +Subject: [PATCH] don't use glibc-specific qsort_r
> > >
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > > @@ -12,6 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> > >  [Rebased for v247]
> > >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > > +
> > >  ---
> > >   src/basic/sort-util.h              | 14 ------------
> > >   src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++-----
> > > @@ -19,14 +20,13 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   3 files changed, 38 insertions(+), 31 deletions(-)
> > >
> > >  diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
> > > -index 1d194a1f04..3394c9eb72 100644
> > > +index 49586a4a24..d92a5ab0ed 100644
> > >  --- a/src/basic/sort-util.h
> > >  +++ b/src/basic/sort-util.h
> > > -@@ -54,17 +54,3 @@ static inline void _qsort_safe(void *base, size_t
> nmemb, size_t size, __compar_f
> > > -                 int (*_func_)(const typeof(p[0])*, const
> typeof(p[0])*) = func; \
> > > +@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, size_t
> nmemb, size_t size, __compar_f
> > >                   _qsort_safe((p), (n), sizeof((p)[0]),
> (__compar_fn_t) _func_); \
> > >           })
> > > --
> > > +
> > >  -static inline void qsort_r_safe(void *base, size_t nmemb, size_t
> size, __compar_d_fn_t compar, void *userdata) {
> > >  -        if (nmemb <= 1)
> > >  -                return;
> > > @@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644
> > >  -                int (*_func_)(const typeof(p[0])*, const
> typeof(p[0])*, typeof(userdata)) = func; \
> > >  -                qsort_r_safe((p), (n), sizeof((p)[0]),
> (__compar_d_fn_t) _func_, userdata); \
> > >  -        })
> > > +-
> > > + int cmp_int(const int *a, const int *b);
> > >  diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c
> b/src/libsystemd/sd-hwdb/hwdb-util.c
> > > -index 4c94ba9c88..95495dba6d 100644
> > > +index fd45ff0f54..ac4b63c49b 100644
> > >  --- a/src/libsystemd/sd-hwdb/hwdb-util.c
> > >  +++ b/src/libsystemd/sd-hwdb/hwdb-util.c
> > > -@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) {
> > > +@@ -126,9 +126,13 @@ static struct trie* trie_free(struct trie *trie)
> {
> > >
> > >   DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
> > >
> > > @@ -85,10 +87,10 @@ index 4c94ba9c88..95495dba6d 100644
> > >   }
> > >
> > >  diff --git a/src/shared/format-table.c b/src/shared/format-table.c
> > > -index a13a198b7a..bce10bc607 100644
> > > +index dccb796b26..c3ab8ac296 100644
> > >  --- a/src/shared/format-table.c
> > >  +++ b/src/shared/format-table.c
> > > -@@ -1243,30 +1243,32 @@ static int cell_data_compare(TableData *a,
> size_t index_a, TableData *b, size_t
> > > +@@ -1290,30 +1290,32 @@ static int cell_data_compare(TableData *a,
> size_t index_a, TableData *b, size_t
> > >           return CMP(index_a, index_b);
> > >   }
> > >
> > > @@ -131,7 +133,7 @@ index a13a198b7a..bce10bc607 100644
> > >           }
> > >
> > >           /* Order identical lines by the order there were originally
> added in */
> > > -@@ -1844,7 +1846,12 @@ int table_print(Table *t, FILE *f) {
> > > +@@ -1952,7 +1954,12 @@ int table_print(Table *t, FILE *f) {
> > >                   for (size_t i = 0; i < n_rows; i++)
> > >                           sorted[i] = i * t->n_columns;
> > >
> > > @@ -145,7 +147,7 @@ index a13a198b7a..bce10bc607 100644
> > >           }
> > >
> > >           if (t->display_map)
> > > -@@ -2440,7 +2447,12 @@ int table_to_json(Table *t, JsonVariant **ret)
> {
> > > +@@ -2580,7 +2587,12 @@ int table_to_json(Table *t, JsonVariant **ret)
> {
> > >                   for (size_t i = 0; i < n_rows; i++)
> > >                           sorted[i] = i * t->n_columns;
> > >
> > > @@ -159,6 +161,3 @@ index a13a198b7a..bce10bc607 100644
> > >           }
> > >
> > >           if (t->display_map)
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> > > index f43a22aa8b..9b1768d9ca 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> > > @@ -1,7 +1,7 @@
> > > -From 9f0d5996bbb2db3679a4075fa8301750b786c03b Mon Sep 17 00:00:00 2001
> > > +From 4afb8adc83348bf75964fc10af7902e04dd62637 Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 13:55:12 +0800
> > > -Subject: [PATCH 03/26] missing_type.h: add __compare_fn_t and
> comparison_fn_t
> > > +Subject: [PATCH] missing_type.h: add __compare_fn_t and
> comparison_fn_t
> > >
> > >  Make it work with musl where comparison_fn_t and __compare_fn_t
> > >  is not provided.
> > > @@ -13,11 +13,12 @@ Signed-off-by: Alex Kiernan <
> alex.kiernan@gmail.com>
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  [Rebased for v242]
> > >  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> > > +
> > >  ---
> > > - src/basic/missing_type.h | 9 +++++++++
> > > - src/basic/sort-util.h    | 1 +
> > > - src/core/kmod-setup.c    | 1 +
> > > - src/journal/catalog.c    | 1 +
> > > + src/basic/missing_type.h            | 9 +++++++++
> > > + src/basic/sort-util.h               | 1 +
> > > + src/core/kmod-setup.c               | 1 +
> > > + src/libsystemd/sd-journal/catalog.c | 1 +
> > >   4 files changed, 12 insertions(+)
> > >
> > >  diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
> > > @@ -38,7 +39,7 @@ index f6233090a9..aeaf6ad5ec 100644
> > >  +typedef int (*__compar_fn_t)(const void *, const void *);
> > >  +#endif
> > >  diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
> > > -index 3394c9eb72..d9cb2aecb6 100644
> > > +index d92a5ab0ed..a63867c716 100644
> > >  --- a/src/basic/sort-util.h
> > >  +++ b/src/basic/sort-util.h
> > >  @@ -4,6 +4,7 @@
> > > @@ -61,10 +62,10 @@ index 8a7f82812a..a56f12f47f 100644
> > >
> > >   #if HAVE_KMOD
> > >   #include "module-util.h"
> > > -diff --git a/src/journal/catalog.c b/src/journal/catalog.c
> > > -index 0f6ad8a29e..4e1077ade4 100644
> > > ---- a/src/journal/catalog.c
> > > -+++ b/src/journal/catalog.c
> > > +diff --git a/src/libsystemd/sd-journal/catalog.c
> b/src/libsystemd/sd-journal/catalog.c
> > > +index aea3241d18..75e6c56a28 100644
> > > +--- a/src/libsystemd/sd-journal/catalog.c
> > > ++++ b/src/libsystemd/sd-journal/catalog.c
> > >  @@ -28,6 +28,7 @@
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > > @@ -73,6 +74,3 @@ index 0f6ad8a29e..4e1077ade4 100644
> > >
> > >   const char * const catalog_file_dirs[] = {
> > >           "/usr/local/lib/systemd/catalog/",
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> > > index bdd64a0252..dc40a2fe8d 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> > > @@ -1,7 +1,7 @@
> > > -From f3dbe29f7620a063af4d8eb3ea7c48ecd410200d Mon Sep 17 00:00:00 2001
> > > -From: Chen Qi <Qi.Chen@windriver.com>
> > > -Date: Mon, 25 Feb 2019 14:04:21 +0800
> > > -Subject: [PATCH 04/26] add fallback parse_printf_format implementation
> > > +From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00:00:00 2001
> > > +From: Alexander Kanavin <alex.kanavin@gmail.com>
> > > +Date: Sat, 22 May 2021 20:26:24 +0200
> > > +Subject: [PATCH] [PATCH] add fallback parse_printf_format
> implementation
> > >
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > > @@ -11,21 +11,21 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  [rebased for systemd 243]
> > >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > >  ---
> > > - meson.build                     |   1 +
> > > - src/basic/meson.build           |   5 +
> > > - src/basic/parse-printf-format.c | 273
> ++++++++++++++++++++++++++++++++
> > > - src/basic/parse-printf-format.h |  57 +++++++
> > > - src/basic/stdio-util.h          |   2 +-
> > > - src/journal/journal-send.c      |   2 +-
> > > + meson.build                              |   1 +
> > > + src/basic/meson.build                    |   5 +
> > > + src/basic/parse-printf-format.c          | 273
> +++++++++++++++++++++++
> > > + src/basic/parse-printf-format.h          |  57 +++++
> > > + src/basic/stdio-util.h                   |   2 +-
> > > + src/libsystemd/sd-journal/journal-send.c |   2 +-
> > >   6 files changed, 338 insertions(+), 2 deletions(-)
> > >   create mode 100644 src/basic/parse-printf-format.c
> > >   create mode 100644 src/basic/parse-printf-format.h
> > >
> > >  diff --git a/meson.build b/meson.build
> > > -index f406d595e6..6aa47fc755 100644
> > > +index 27186d63a3..2abb7b3188 100644
> > >  --- a/meson.build
> > >  +++ b/meson.build
> > > -@@ -646,6 +646,7 @@ endif
> > > +@@ -675,6 +675,7 @@ endif
> > >   foreach header : ['crypt.h',
> > >                     'linux/memfd.h',
> > >                     'linux/vm_sockets.h',
> > > @@ -34,21 +34,21 @@ index f406d595e6..6aa47fc755 100644
> > >                     'valgrind/memcheck.h',
> > >                     'valgrind/valgrind.h',
> > >  diff --git a/src/basic/meson.build b/src/basic/meson.build
> > > -index 1183ea83ad..aa5c958850 100644
> > > +index 60ef801a25..aba2172edd 100644
> > >  --- a/src/basic/meson.build
> > >  +++ b/src/basic/meson.build
> > > -@@ -322,6 +322,11 @@ foreach item : [['af',     af_list_txt,
>  'af',         ''],
> > > - endforeach
> > > +@@ -341,6 +341,11 @@ endforeach
> > >
> > >   basic_sources += generated_gperf_headers
> > > -+
> > > +
> > >  +if conf.get('HAVE_PRINTF_H') != 1
> > >  +        basic_sources += [files('parse-printf-format.c')]
> > >  +endif
> > >  +
> > > - basic_gcrypt_sources = files(
> > > -         'gcrypt-util.c',
> > > -         'gcrypt-util.h')
> > > ++
> > > + ############################################################
> > > +
> > > + arch_list = [
> > >  diff --git a/src/basic/parse-printf-format.c
> b/src/basic/parse-printf-format.c
> > >  new file mode 100644
> > >  index 0000000000..49437e5445
> > > @@ -410,10 +410,10 @@ index 6dc1e72312..cea76b36cf 100644
> > >
> > >   #define snprintf_ok(buf, len, fmt, ...) \
> > >           ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
> > > -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
> > > +diff --git a/src/libsystemd/sd-journal/journal-send.c
> b/src/libsystemd/sd-journal/journal-send.c
> > >  index fd3fd7ef9c..e8e6ad555b 100644
> > > ---- a/src/journal/journal-send.c
> > > -+++ b/src/journal/journal-send.c
> > > +--- a/src/libsystemd/sd-journal/journal-send.c
> > > ++++ b/src/libsystemd/sd-journal/journal-send.c
> > >  @@ -2,7 +2,6 @@
> > >
> > >   #include <errno.h>
> > > @@ -431,5 +431,5 @@ index fd3fd7ef9c..e8e6ad555b 100644
> > >   #define SNDBUF_SIZE (8*1024*1024)
> > >
> > >  --
> > > -2.27.0
> > > +2.24.0
> > >
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> > > index d63e3c0d09..a0d757b3f3 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> > > @@ -1,7 +1,7 @@
> > > -From 5aeae0ea89f5af74ed5d95bed1d87a03b3801ff0 Mon Sep 17 00:00:00 2001
> > > +From 6b0732ac7164914ce16e231e35980b849bdfc4c8 Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 14:18:21 +0800
> > > -Subject: [PATCH 05/26] src/basic/missing.h: check for missing strndupa
> > > +Subject: [PATCH] src/basic/missing.h: check for missing strndupa
> > >
> > >  include missing.h  for definition of strndupa
> > >
> > > @@ -17,6 +17,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > >  [rebased for systemd 244]
> > >  [Rebased for v247]
> > >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > > +
> > >  ---
> > >   meson.build                                |  1 +
> > >   src/backlight/backlight.c                  |  1 +
> > > @@ -25,6 +26,7 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   src/basic/log.c                            |  1 +
> > >   src/basic/missing_stdlib.h                 | 12 ++++++++++++
> > >   src/basic/mkdir.c                          |  1 +
> > > + src/basic/mountpoint-util.c                |  1 +
> > >   src/basic/parse-util.c                     |  1 +
> > >   src/basic/path-lookup.c                    |  1 +
> > >   src/basic/proc-cmdline.c                   |  1 +
> > > @@ -41,12 +43,12 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   src/coredump/coredump-vacuum.c             |  1 +
> > >   src/journal-remote/journal-remote-main.c   |  1 +
> > >   src/journal/journalctl.c                   |  1 +
> > > - src/journal/sd-journal.c                   |  1 +
> > >   src/libsystemd/sd-bus/bus-message.c        |  1 +
> > >   src/libsystemd/sd-bus/bus-objects.c        |  1 +
> > >   src/libsystemd/sd-bus/bus-socket.c         |  1 +
> > >   src/libsystemd/sd-bus/sd-bus.c             |  1 +
> > >   src/libsystemd/sd-bus/test-bus-benchmark.c |  1 +
> > > + src/libsystemd/sd-journal/sd-journal.c     |  1 +
> > >   src/locale/keymap-util.c                   |  1 +
> > >   src/login/pam_systemd.c                    |  1 +
> > >   src/network/generator/network-generator.c  |  1 +
> > > @@ -68,18 +70,22 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   src/udev/udev-builtin-path_id.c            |  1 +
> > >   src/udev/udev-event.c                      |  1 +
> > >   src/udev/udev-rules.c                      |  1 +
> > > - 50 files changed, 61 insertions(+)
> > > + 51 files changed, 62 insertions(+)
> > >
> > > +diff --git a/meson.build b/meson.build
> > > +index 2abb7b3188..c97f09062b 100644
> > >  --- a/meson.build
> > >  +++ b/meson.build
> > > -@@ -535,6 +535,7 @@ foreach ident : [
> > > -                                  #include <sys/wait.h>'''],
> > > -         ['mallinfo',          '''#include <malloc.h>'''],
> > > +@@ -550,6 +550,7 @@ foreach ident : [
> > > +         ['execveat',          '''#include <unistd.h>'''],
> > >           ['close_range',       '''#include <unistd.h>'''],
> > > +         ['epoll_pwait2',      '''#include <sys/epoll.h>'''],
> > >  +        ['strndupa' ,         '''#include <string.h>'''],
> > >   ]
> > >
> > >           have = cc.has_function(ident[0], prefix : ident[1], args :
> '-D_GNU_SOURCE')
> > > +diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
> > > +index 86927be62e..a34be158a0 100644
> > >  --- a/src/backlight/backlight.c
> > >  +++ b/src/backlight/backlight.c
> > >  @@ -19,6 +19,7 @@
> > > @@ -90,6 +96,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int help(void) {
> > >           _cleanup_free_ char *link = NULL;
> > > +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
> > > +index 8dd3f8cd95..50c1ae1b2b 100644
> > >  --- a/src/basic/cgroup-util.c
> > >  +++ b/src/basic/cgroup-util.c
> > >  @@ -38,6 +38,7 @@
> > > @@ -100,9 +108,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int cg_enumerate_items(const char *controller, const char
> *path, FILE **_f, const char *item) {
> > >           _cleanup_free_ char *fs = NULL;
> > > +diff --git a/src/basic/env-util.c b/src/basic/env-util.c
> > > +index c110a750a5..e1f091b01e 100644
> > >  --- a/src/basic/env-util.c
> > >  +++ b/src/basic/env-util.c
> > > -@@ -15,6 +15,7 @@
> > > +@@ -18,6 +18,7 @@
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > >   #include "utf8.h"
> > > @@ -110,6 +120,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   /* We follow bash for the character set. Different shells have
> different rules. */
> > >   #define VALID_BASH_ENV_NAME_CHARS               \
> > > +diff --git a/src/basic/log.c b/src/basic/log.c
> > > +index 595db0c395..daff8eb68a 100644
> > >  --- a/src/basic/log.c
> > >  +++ b/src/basic/log.c
> > >  @@ -36,6 +36,7 @@
> > > @@ -120,6 +132,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define SNDBUF_SIZE (8*1024*1024)
> > >
> > > +diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
> > > +index 8c76f93eb2..9068bfb4f0 100644
> > >  --- a/src/basic/missing_stdlib.h
> > >  +++ b/src/basic/missing_stdlib.h
> > >  @@ -11,3 +11,15 @@
> > > @@ -138,6 +152,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >  +    (char *)memcpy(__new, __old, __len); \
> > >  +  })
> > >  +#endif
> > > +diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
> > > +index f91f8f7a08..fb31596216 100644
> > >  --- a/src/basic/mkdir.c
> > >  +++ b/src/basic/mkdir.c
> > >  @@ -14,6 +14,7 @@
> > > @@ -148,9 +164,23 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int mkdir_safe_internal(
> > >                   const char *path,
> > > +diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
> > > +index 1d617e87b2..346f9a47d7 100644
> > > +--- a/src/basic/mountpoint-util.c
> > > ++++ b/src/basic/mountpoint-util.c
> > > +@@ -12,6 +12,7 @@
> > > + #include "missing_stat.h"
> > > + #include "missing_syscall.h"
> > > + #include "mkdir.h"
> > > ++#include "missing_stdlib.h"
> > > + #include "mountpoint-util.h"
> > > + #include "parse-util.h"
> > > + #include "path-util.h"
> > > +diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
> > > +index b79c885dfd..6dabda5691 100644
> > >  --- a/src/basic/parse-util.c
> > >  +++ b/src/basic/parse-util.c
> > > -@@ -22,6 +22,7 @@
> > > +@@ -19,6 +19,7 @@
> > >   #include "stat-util.h"
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > > @@ -158,6 +188,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int parse_boolean(const char *v) {
> > >           if (!v)
> > > +diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
> > > +index e53c2302b1..ca1d40ccbe 100644
> > >  --- a/src/basic/path-lookup.c
> > >  +++ b/src/basic/path-lookup.c
> > >  @@ -15,6 +15,7 @@
> > > @@ -168,6 +200,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int xdg_user_runtime_dir(char **ret, const char *suffix) {
> > >           const char *e;
> > > +diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
> > > +index 410b8a3eb5..f2c4355609 100644
> > >  --- a/src/basic/proc-cmdline.c
> > >  +++ b/src/basic/proc-cmdline.c
> > >  @@ -15,6 +15,7 @@
> > > @@ -178,6 +212,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int proc_cmdline(char **ret) {
> > >           const char *e;
> > > +diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
> > > +index ccab71f7d2..8f9eee8d36 100644
> > >  --- a/src/basic/procfs-util.c
> > >  +++ b/src/basic/procfs-util.c
> > >  @@ -11,6 +11,7 @@
> > > @@ -188,6 +224,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int procfs_tasks_get_limit(uint64_t *ret) {
> > >           _cleanup_free_ char *value = NULL;
> > > +diff --git a/src/basic/selinux-util.c b/src/basic/selinux-util.c
> > > +index ee9e34ed47..96c1e9362d 100644
> > >  --- a/src/basic/selinux-util.c
> > >  +++ b/src/basic/selinux-util.c
> > >  @@ -27,6 +27,7 @@
> > > @@ -197,7 +235,9 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >  +#include "missing_stdlib.h"
> > >
> > >   #if HAVE_SELINUX
> > > - DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free);
> > > + DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(context_t, context_free, NULL);
> > > +diff --git a/src/basic/time-util.c b/src/basic/time-util.c
> > > +index 78d0390a00..47c38ca691 100644
> > >  --- a/src/basic/time-util.c
> > >  +++ b/src/basic/time-util.c
> > >  @@ -27,6 +27,7 @@
> > > @@ -208,6 +248,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static clockid_t map_clock_id(clockid_t c) {
> > >
> > > +diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
> > > +index 97ad1e0cb5..9d60f3cc79 100644
> > >  --- a/src/boot/bless-boot.c
> > >  +++ b/src/boot/bless-boot.c
> > >  @@ -18,6 +18,7 @@
> > > @@ -218,16 +260,20 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static char **arg_path = NULL;
> > >
> > > +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
> > > +index 04d2ba34f3..651ca9412e 100644
> > >  --- a/src/core/dbus-cgroup.c
> > >  +++ b/src/core/dbus-cgroup.c
> > > -@@ -16,6 +16,7 @@
> > > - #include "fileio.h"
> > > +@@ -17,6 +17,7 @@
> > >   #include "limits-util.h"
> > >   #include "path-util.h"
> > > + #include "percent-util.h"
> > >  +#include "missing_stdlib.h"
> > >
> > >   BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax,
> tasks_max_resolve);
> > >
> > > +diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
> > > +index 5239c41d67..0f604efe98 100644
> > >  --- a/src/core/dbus-execute.c
> > >  +++ b/src/core/dbus-execute.c
> > >  @@ -41,6 +41,7 @@
> > > @@ -238,9 +284,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output,
> exec_output, ExecOutput);
> > >   static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input,
> exec_input, ExecInput);
> > > +diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
> > > +index 44a2ccfca0..3926ccfa4a 100644
> > >  --- a/src/core/dbus-util.c
> > >  +++ b/src/core/dbus-util.c
> > > -@@ -7,6 +7,7 @@
> > > +@@ -9,6 +9,7 @@
> > >   #include "unit-printf.h"
> > >   #include "user-util.h"
> > >   #include "unit.h"
> > > @@ -248,16 +296,20 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int bus_property_get_triggered_unit(
> > >                   sd_bus *bus,
> > > +diff --git a/src/core/execute.c b/src/core/execute.c
> > > +index 922913e7af..f82fc294c0 100644
> > >  --- a/src/core/execute.c
> > >  +++ b/src/core/execute.c
> > >  @@ -96,6 +96,7 @@
> > > - #include "unit.h"
> > > + #include "unit-serialize.h"
> > >   #include "user-util.h"
> > >   #include "utmp-wtmp.h"
> > >  +#include "missing_stdlib.h"
> > >
> > >   #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
> > >   #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
> > > +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
> > > +index a56f12f47f..6b8729ef67 100644
> > >  --- a/src/core/kmod-setup.c
> > >  +++ b/src/core/kmod-setup.c
> > >  @@ -11,6 +11,7 @@
> > > @@ -268,6 +320,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #if HAVE_KMOD
> > >   #include "module-util.h"
> > > +diff --git a/src/core/service.c b/src/core/service.c
> > > +index 4c5bfb17fb..8c05f36119 100644
> > >  --- a/src/core/service.c
> > >  +++ b/src/core/service.c
> > >  @@ -41,6 +41,7 @@
> > > @@ -278,6 +332,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static const UnitActiveState
> state_translation_table[_SERVICE_STATE_MAX] = {
> > >           [SERVICE_DEAD] = UNIT_INACTIVE,
> > > +diff --git a/src/coredump/coredump-vacuum.c
> b/src/coredump/coredump-vacuum.c
> > > +index 95c3fca661..d4a9f27b08 100644
> > >  --- a/src/coredump/coredump-vacuum.c
> > >  +++ b/src/coredump/coredump-vacuum.c
> > >  @@ -16,6 +16,7 @@
> > > @@ -288,9 +344,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL)
>      /* 1 MiB */
> > >   #define DEFAULT_MAX_USE_UPPER (uint64_t)
> (4ULL*1024ULL*1024ULL*1024ULL)   /* 4 GiB */
> > > +diff --git a/src/journal-remote/journal-remote-main.c
> b/src/journal-remote/journal-remote-main.c
> > > +index ae1d43756a..24de98c9f3 100644
> > >  --- a/src/journal-remote/journal-remote-main.c
> > >  +++ b/src/journal-remote/journal-remote-main.c
> > > -@@ -22,6 +22,7 @@
> > > +@@ -24,6 +24,7 @@
> > >   #include "stat-util.h"
> > >   #include "string-table.h"
> > >   #include "strv.h"
> > > @@ -298,9 +356,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
> > >   #define CERT_FILE     CERTIFICATE_ROOT "/certs/journal-remote.pem"
> > > +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
> > > +index 76d05c1eee..0beb77b2e5 100644
> > >  --- a/src/journal/journalctl.c
> > >  +++ b/src/journal/journalctl.c
> > > -@@ -73,6 +73,7 @@
> > > +@@ -72,6 +72,7 @@
> > >   #include "unit-name.h"
> > >   #include "user-util.h"
> > >   #include "varlink.h"
> > > @@ -308,19 +368,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
> > >   #define PROCESS_INOTIFY_INTERVAL 1024   /* Every 1,024 messages
> processed */
> > > ---- a/src/journal/sd-journal.c
> > > -+++ b/src/journal/sd-journal.c
> > > -@@ -40,6 +40,7 @@
> > > - #include "string-util.h"
> > > - #include "strv.h"
> > > - #include "syslog-util.h"
> > > -+#include "missing_stdlib.h"
> > > -
> > > - #define JOURNAL_FILES_MAX 7168
> > > -
> > > +diff --git a/src/libsystemd/sd-bus/bus-message.c
> b/src/libsystemd/sd-bus/bus-message.c
> > > +index b25064b672..b3bbe63a91 100644
> > >  --- a/src/libsystemd/sd-bus/bus-message.c
> > >  +++ b/src/libsystemd/sd-bus/bus-message.c
> > > -@@ -21,6 +21,7 @@
> > > +@@ -20,6 +20,7 @@
> > >   #include "strv.h"
> > >   #include "time-util.h"
> > >   #include "utf8.h"
> > > @@ -328,9 +380,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int message_append_basic(sd_bus_message *m, char type, const
> void *p, const void **stored);
> > >
> > > +diff --git a/src/libsystemd/sd-bus/bus-objects.c
> b/src/libsystemd/sd-bus/bus-objects.c
> > > +index bfd42aea7d..daefc56e3e 100644
> > >  --- a/src/libsystemd/sd-bus/bus-objects.c
> > >  +++ b/src/libsystemd/sd-bus/bus-objects.c
> > > -@@ -13,6 +13,7 @@
> > > +@@ -12,6 +12,7 @@
> > >   #include "set.h"
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > > @@ -338,6 +392,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int node_vtable_get_userdata(
> > >                   sd_bus *bus,
> > > +diff --git a/src/libsystemd/sd-bus/bus-socket.c
> b/src/libsystemd/sd-bus/bus-socket.c
> > > +index 832526cc1b..7bff701806 100644
> > >  --- a/src/libsystemd/sd-bus/bus-socket.c
> > >  +++ b/src/libsystemd/sd-bus/bus-socket.c
> > >  @@ -28,6 +28,7 @@
> > > @@ -348,29 +404,47 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define SNDBUF_SIZE (8*1024*1024)
> > >
> > > +diff --git a/src/libsystemd/sd-bus/sd-bus.c
> b/src/libsystemd/sd-bus/sd-bus.c
> > > +index e719c74370..ac2a605680 100644
> > >  --- a/src/libsystemd/sd-bus/sd-bus.c
> > >  +++ b/src/libsystemd/sd-bus/sd-bus.c
> > >  @@ -41,6 +41,7 @@
> > > - #include "process-util.h"
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > > + #include "user-util.h"
> > >  +#include "missing_stdlib.h"
> > >
> > >   #define log_debug_bus_message(m)
>      \
> > >           do {
>      \
> > > +diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c
> b/src/libsystemd/sd-bus/test-bus-benchmark.c
> > > +index 13c08fe295..9aae83486e 100644
> > >  --- a/src/libsystemd/sd-bus/test-bus-benchmark.c
> > >  +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
> > >  @@ -14,6 +14,7 @@
> > > - #include "missing_resource.h"
> > > + #include "string-util.h"
> > >   #include "time-util.h"
> > >   #include "util.h"
> > >  +#include "missing_stdlib.h"
> > >
> > >   #define MAX_SIZE (2*1024*1024)
> > >
> > > +diff --git a/src/libsystemd/sd-journal/sd-journal.c
> b/src/libsystemd/sd-journal/sd-journal.c
> > > +index c90b4c926e..0efdccff5d 100644
> > > +--- a/src/libsystemd/sd-journal/sd-journal.c
> > > ++++ b/src/libsystemd/sd-journal/sd-journal.c
> > > +@@ -40,6 +40,7 @@
> > > + #include "string-util.h"
> > > + #include "strv.h"
> > > + #include "syslog-util.h"
> > > ++#include "missing_stdlib.h"
> > > +
> > > + #define JOURNAL_FILES_MAX 7168
> > > +
> > > +diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
> > > +index d2f0566dbc..3b7746557e 100644
> > >  --- a/src/locale/keymap-util.c
> > >  +++ b/src/locale/keymap-util.c
> > > -@@ -21,6 +21,7 @@
> > > +@@ -24,6 +24,7 @@
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > >   #include "tmpfile-util.h"
> > > @@ -378,6 +452,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static bool startswith_comma(const char *s, const char *prefix) {
> > >           s = startswith(s, prefix);
> > > +diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
> > > +index 2021c31bd5..58eb09808d 100644
> > >  --- a/src/login/pam_systemd.c
> > >  +++ b/src/login/pam_systemd.c
> > >  @@ -31,6 +31,7 @@
> > > @@ -388,6 +464,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   #include "pam-util.h"
> > >   #include "parse-util.h"
> > >   #include "path-util.h"
> > > +diff --git a/src/network/generator/network-generator.c
> b/src/network/generator/network-generator.c
> > > +index ae673ddf5b..a79e5114ca 100644
> > >  --- a/src/network/generator/network-generator.c
> > >  +++ b/src/network/generator/network-generator.c
> > >  @@ -13,6 +13,7 @@
> > > @@ -398,6 +476,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   /*
> > >     # .network
> > > +diff --git a/src/nspawn/nspawn-settings.c
> b/src/nspawn/nspawn-settings.c
> > > +index d4619bead5..0e832fd994 100644
> > >  --- a/src/nspawn/nspawn-settings.c
> > >  +++ b/src/nspawn/nspawn-settings.c
> > >  @@ -16,6 +16,7 @@
> > > @@ -408,19 +488,23 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   Settings *settings_new(void) {
> > >           Settings *s;
> > > +diff --git a/src/nss-mymachines/nss-mymachines.c
> b/src/nss-mymachines/nss-mymachines.c
> > > +index 44715bb3e5..bc1e688b5e 100644
> > >  --- a/src/nss-mymachines/nss-mymachines.c
> > >  +++ b/src/nss-mymachines/nss-mymachines.c
> > > -@@ -19,6 +19,7 @@
> > > +@@ -21,6 +21,7 @@
> > >   #include "nss-util.h"
> > >   #include "signal-util.h"
> > >   #include "string-util.h"
> > >  +#include "missing_stdlib.h"
> > >
> > > - NSS_GETHOSTBYNAME_PROTOTYPES(mymachines);
> > > - NSS_GETPW_PROTOTYPES(mymachines);
> > > + static void setup_logging(void) {
> > > +         /* We need a dummy function because log_parse_environment is
> a macro. */
> > > +diff --git a/src/portable/portable.c b/src/portable/portable.c
> > > +index f201f52531..c78ad0f471 100644
> > >  --- a/src/portable/portable.c
> > >  +++ b/src/portable/portable.c
> > > -@@ -31,6 +31,7 @@
> > > +@@ -32,6 +32,7 @@
> > >   #include "strv.h"
> > >   #include "tmpfile-util.h"
> > >   #include "user-util.h"
> > > @@ -428,9 +512,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static const char profile_dirs[] =
> CONF_PATHS_NULSTR("systemd/portable/profile");
> > >
> > > +diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
> > > +index 52bbae3293..4ccbae09c4 100644
> > >  --- a/src/resolve/resolvectl.c
> > >  +++ b/src/resolve/resolvectl.c
> > > -@@ -37,6 +37,7 @@
> > > +@@ -41,6 +41,7 @@
> > >   #include "terminal-util.h"
> > >   #include "utf8.h"
> > >   #include "verbs.h"
> > > @@ -438,6 +524,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int arg_family = AF_UNSPEC;
> > >   static int arg_ifindex = 0;
> > > +diff --git a/src/shared/bus-get-properties.c
> b/src/shared/bus-get-properties.c
> > > +index feb6d3807f..eb11d29e50 100644
> > >  --- a/src/shared/bus-get-properties.c
> > >  +++ b/src/shared/bus-get-properties.c
> > >  @@ -4,6 +4,7 @@
> > > @@ -448,6 +536,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int bus_property_get_bool(
> > >                   sd_bus *bus,
> > > +diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
> > > +index b76125e551..2e0892242f 100644
> > >  --- a/src/shared/bus-unit-procs.c
> > >  +++ b/src/shared/bus-unit-procs.c
> > >  @@ -10,6 +10,7 @@
> > > @@ -458,9 +548,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   struct CGroupInfo {
> > >           char *cgroup_path;
> > > +diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
> > > +index a75178068b..3de06e2bd5 100644
> > >  --- a/src/shared/bus-unit-util.c
> > >  +++ b/src/shared/bus-unit-util.c
> > > -@@ -44,6 +44,7 @@
> > > +@@ -45,6 +45,7 @@
> > >   #include "unit-def.h"
> > >   #include "user-util.h"
> > >   #include "utf8.h"
> > > @@ -468,6 +560,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
> > >           assert(message);
> > > +diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
> > > +index 64ca67993c..31e3d148ea 100644
> > >  --- a/src/shared/bus-util.c
> > >  +++ b/src/shared/bus-util.c
> > >  @@ -21,6 +21,7 @@
> > > @@ -478,6 +572,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int name_owner_change_callback(sd_bus_message *m, void
> *userdata, sd_bus_error *ret_error) {
> > >           sd_event *e = userdata;
> > > +diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
> > > +index e43aa12882..cec9b413c1 100644
> > >  --- a/src/shared/dns-domain.c
> > >  +++ b/src/shared/dns-domain.c
> > >  @@ -17,6 +17,7 @@
> > > @@ -488,6 +584,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int dns_label_unescape(const char **name, char *dest, size_t sz,
> DNSLabelFlags flags) {
> > >           const char *n;
> > > +diff --git a/src/shared/journal-importer.c
> b/src/shared/journal-importer.c
> > > +index b2785f0552..5f00902882 100644
> > >  --- a/src/shared/journal-importer.c
> > >  +++ b/src/shared/journal-importer.c
> > >  @@ -14,6 +14,7 @@
> > > @@ -498,6 +596,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   enum {
> > >           IMPORTER_STATE_LINE = 0,    /* waiting to read, or reading
> line */
> > > +diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
> > > +index e63c59bd94..dd9773c009 100644
> > >  --- a/src/shared/logs-show.c
> > >  +++ b/src/shared/logs-show.c
> > >  @@ -41,6 +41,7 @@
> > > @@ -508,6 +608,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   /* up to three lines (each up to 100 characters) or 300 characters,
> whichever is less */
> > >   #define PRINT_LINE_THRESHOLD 3
> > > +diff --git a/src/shared/pager.c b/src/shared/pager.c
> > > +index 4bbad7e37b..eefcdd068c 100644
> > >  --- a/src/shared/pager.c
> > >  +++ b/src/shared/pager.c
> > >  @@ -26,6 +26,7 @@
> > > @@ -518,6 +620,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static pid_t pager_pid = 0;
> > >
> > > +diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
> > > +index 5d5bf7f21d..f1002ffa6c 100644
> > >  --- a/src/shared/uid-range.c
> > >  +++ b/src/shared/uid-range.c
> > >  @@ -9,6 +9,7 @@
> > > @@ -528,6 +632,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static bool uid_range_intersect(UidRange *range, uid_t start, uid_t
> nr) {
> > >           assert(range);
> > > +diff --git a/src/socket-proxy/socket-proxyd.c
> b/src/socket-proxy/socket-proxyd.c
> > > +index 6e3ee0d76b..7727e33d95 100644
> > >  --- a/src/socket-proxy/socket-proxyd.c
> > >  +++ b/src/socket-proxy/socket-proxyd.c
> > >  @@ -26,6 +26,7 @@
> > > @@ -538,6 +644,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define BUFFER_SIZE (256 * 1024)
> > >
> > > +diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
> > > +index c9d318b8d1..fcb8d40805 100644
> > >  --- a/src/test/test-hexdecoct.c
> > >  +++ b/src/test/test-hexdecoct.c
> > >  @@ -6,6 +6,7 @@
> > > @@ -548,19 +656,23 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static void test_hexchar(void) {
> > >           assert_se(hexchar(0xa) == 'a');
> > > +diff --git a/src/udev/udev-builtin-path_id.c
> b/src/udev/udev-builtin-path_id.c
> > > +index 09cc1c3bd8..8a7d3152a7 100644
> > >  --- a/src/udev/udev-builtin-path_id.c
> > >  +++ b/src/udev/udev-builtin-path_id.c
> > >  @@ -22,6 +22,7 @@
> > > - #include "strv.h"
> > >   #include "sysexits.h"
> > >   #include "udev-builtin.h"
> > > + #include "udev-util.h"
> > >  +#include "missing_stdlib.h"
> > >
> > >   _printf_(2,3)
> > >   static void path_prepend(char **path, const char *fmt, ...) {
> > > +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
> > > +index 12597194a9..208b2458b5 100644
> > >  --- a/src/udev/udev-event.c
> > >  +++ b/src/udev/udev-event.c
> > > -@@ -34,6 +34,7 @@
> > > +@@ -33,6 +33,7 @@
> > >   #include "udev-util.h"
> > >   #include "udev-watch.h"
> > >   #include "user-util.h"
> > > @@ -568,9 +680,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   typedef struct Spawn {
> > >           sd_device *device;
> > > +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
> > > +index 57ede6a197..dc59857765 100644
> > >  --- a/src/udev/udev-rules.c
> > >  +++ b/src/udev/udev-rules.c
> > > -@@ -30,6 +30,7 @@
> > > +@@ -31,6 +31,7 @@
> > >   #include "udev-rules.h"
> > >   #include "user-util.h"
> > >   #include "virt.h"
> > > @@ -578,13 +692,3 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define RULES_DIRS (const char* const*)
> CONF_PATHS_STRV("udev/rules.d")
> > >
> > > ---- a/src/basic/mountpoint-util.c
> > > -+++ b/src/basic/mountpoint-util.c
> > > -@@ -10,6 +10,7 @@
> > > - #include "fs-util.h"
> > > - #include "missing_stat.h"
> > > - #include "missing_syscall.h"
> > > -+#include "missing_stdlib.h"
> > > - #include "mountpoint-util.h"
> > > - #include "parse-util.h"
> > > - #include "path-util.h"
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> > > index a978558b42..54d714266e 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> > > @@ -1,7 +1,7 @@
> > > -From d3ed0da271738fd0fc3d3e4d82d6f5810334b05e Mon Sep 17 00:00:00 2001
> > > +From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 Mon Sep 17 00:00:00 2001
> > >  From: Khem Raj <raj.khem@gmail.com>
> > >  Date: Thu, 26 Oct 2017 22:10:42 -0700
> > > -Subject: [PATCH 06/26] Include netinet/if_ether.h
> > > +Subject: [PATCH] Include netinet/if_ether.h
> > >
> > >  Fixes
> > >  /path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8:
> error: redefinition of 'struct ethhdr'
> > > @@ -31,6 +31,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > >  [rebased for systemd 247]
> > >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > > +
> > >  ---
> > >   src/libsystemd-network/sd-dhcp6-client.c  | 1 -
> > >   src/libsystemd/sd-netlink/netlink-types.c | 1 +
> > > @@ -56,7 +57,7 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   21 files changed, 26 insertions(+), 8 deletions(-)
> > >
> > >  diff --git a/src/libsystemd-network/sd-dhcp6-client.c
> b/src/libsystemd-network/sd-dhcp6-client.c
> > > -index 66f87c4b95..de1264ae46 100644
> > > +index 410bfda10e..e70ed8be92 100644
> > >  --- a/src/libsystemd-network/sd-dhcp6-client.c
> > >  +++ b/src/libsystemd-network/sd-dhcp6-client.c
> > >  @@ -5,7 +5,6 @@
> > > @@ -68,7 +69,7 @@ index 66f87c4b95..de1264ae46 100644
> > >
> > >   #include "sd-dhcp6-client.h"
> > >  diff --git a/src/libsystemd/sd-netlink/netlink-types.c
> b/src/libsystemd/sd-netlink/netlink-types.c
> > > -index 6fb6c147d9..8eda02d202 100644
> > > +index ed7b9a8cd1..112c0b09e4 100644
> > >  --- a/src/libsystemd/sd-netlink/netlink-types.c
> > >  +++ b/src/libsystemd/sd-netlink/netlink-types.c
> > >  @@ -3,6 +3,7 @@
> > > @@ -80,7 +81,7 @@ index 6fb6c147d9..8eda02d202 100644
> > >   #include <linux/netlink.h>
> > >   #include <linux/rtnetlink.h>
> > >  diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
> > > -index bb67beb665..f5780f1aec 100644
> > > +index e7c4ed3c7c..3a1e4f9072 100644
> > >  --- a/src/machine/machine-dbus.c
> > >  +++ b/src/machine/machine-dbus.c
> > >  @@ -3,6 +3,7 @@
> > > @@ -92,7 +93,7 @@ index bb67beb665..f5780f1aec 100644
> > >   /* When we include libgen.h because we need dirname() we immediately
> > >    * undefine basename() since libgen.h defines it as a macro to the
> POSIX
> > >  diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
> > > -index e27f36067b..8868f1da5d 100644
> > > +index cf7ca88d6f..34ab468191 100644
> > >  --- a/src/network/netdev/bond.c
> > >  +++ b/src/network/netdev/bond.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -103,7 +104,7 @@ index e27f36067b..8868f1da5d 100644
> > >   #include "bond.h"
> > >   #include "bond-util.h"
> > >  diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
> > > -index 1f59cd8b42..5fdbae7e99 100644
> > > +index 38432f1578..79ccfe578e 100644
> > >  --- a/src/network/netdev/bridge.c
> > >  +++ b/src/network/netdev/bridge.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -114,7 +115,7 @@ index 1f59cd8b42..5fdbae7e99 100644
> > >
> > >   #include "bridge.h"
> > >  diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
> > > -index 82e71c3920..fbae86e216 100644
> > > +index 77c5f8c4e7..04be1b4ab2 100644
> > >  --- a/src/network/netdev/macsec.c
> > >  +++ b/src/network/netdev/macsec.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -125,19 +126,19 @@ index 82e71c3920..fbae86e216 100644
> > >   #include <linux/if_ether.h>
> > >   #include <linux/if_macsec.h>
> > >  diff --git a/src/network/netdev/netdev-gperf.gperf
> b/src/network/netdev/netdev-gperf.gperf
> > > -index 4e89761f2c..91251fa6ec 100644
> > > +index 8abe044890..3c54c58928 100644
> > >  --- a/src/network/netdev/netdev-gperf.gperf
> > >  +++ b/src/network/netdev/netdev-gperf.gperf
> > > -@@ -2,6 +2,7 @@
> > > +@@ -3,6 +3,7 @@
> > >   #if __GNUC__ >= 7
> > >   _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
> > >   #endif
> > >  +#include <netinet/if_ether.h>
> > >   #include <stddef.h>
> > >   #include "bareudp.h"
> > > - #include "bond.h"
> > > + #include "batadv.h"
> > >  diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
> > > -index 9f390b5781..62aeafb1e4 100644
> > > +index b31f0fa81a..c80e1ff537 100644
> > >  --- a/src/network/netdev/netdev.c
> > >  +++ b/src/network/netdev/netdev.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -148,7 +149,7 @@ index 9f390b5781..62aeafb1e4 100644
> > >   #include <netinet/in.h>
> > >   #include <unistd.h>
> > >  diff --git a/src/network/networkd-brvlan.c
> b/src/network/networkd-brvlan.c
> > > -index e53c73c30c..9bf0771b84 100644
> > > +index 2847b336c9..4d6af8c642 100644
> > >  --- a/src/network/networkd-brvlan.c
> > >  +++ b/src/network/networkd-brvlan.c
> > >  @@ -4,6 +4,7 @@
> > > @@ -160,7 +161,7 @@ index e53c73c30c..9bf0771b84 100644
> > >   #include <stdbool.h>
> > >
> > >  diff --git a/src/network/networkd-dhcp-common.c
> b/src/network/networkd-dhcp-common.c
> > > -index 9f58121350..554d006cb8 100644
> > > +index 00d055cf8d..65821c1d31 100644
> > >  --- a/src/network/networkd-dhcp-common.c
> > >  +++ b/src/network/networkd-dhcp-common.c
> > >  @@ -1,7 +1,8 @@
> > > @@ -171,9 +172,9 @@ index 9f58121350..554d006cb8 100644
> > >  +#include <net/if_arp.h>
> > >  +#include <net/if.h>
> > >
> > > + #include "bus-error.h"
> > >   #include "dhcp-internal.h"
> > > - #include "dhcp6-internal.h"
> > > -@@ -10,6 +11,7 @@
> > > +@@ -11,6 +12,7 @@
> > >   #include "networkd-dhcp-common.h"
> > >   #include "networkd-link.h"
> > >   #include "networkd-manager.h"
> > > @@ -182,7 +183,7 @@ index 9f58121350..554d006cb8 100644
> > >   #include "parse-util.h"
> > >   #include "socket-util.h"
> > >  diff --git a/src/network/networkd-dhcp-server.c
> b/src/network/networkd-dhcp-server.c
> > > -index cf279c640d..bae541029b 100644
> > > +index 5cdf432c27..93cffb9863 100644
> > >  --- a/src/network/networkd-dhcp-server.c
> > >  +++ b/src/network/networkd-dhcp-server.c
> > >  @@ -1,8 +1,8 @@
> > > @@ -197,7 +198,7 @@ index cf279c640d..bae541029b 100644
> > >   #include "sd-dhcp-server.h"
> > >
> > >  diff --git a/src/network/networkd-dhcp4.c
> b/src/network/networkd-dhcp4.c
> > > -index f3c1e5f609..e4ef6eca63 100644
> > > +index 23dc3a45db..7ae6c2467a 100644
> > >  --- a/src/network/networkd-dhcp4.c
> > >  +++ b/src/network/networkd-dhcp4.c
> > >  @@ -1,9 +1,9 @@
> > > @@ -212,7 +213,7 @@ index f3c1e5f609..e4ef6eca63 100644
> > >   #include "escape.h"
> > >   #include "alloc-util.h"
> > >  diff --git a/src/network/networkd-dhcp6.c
> b/src/network/networkd-dhcp6.c
> > > -index 5c077c1ec8..fa98042aa5 100644
> > > +index aa077d6219..4f6ce22059 100644
> > >  --- a/src/network/networkd-dhcp6.c
> > >  +++ b/src/network/networkd-dhcp6.c
> > >  @@ -3,9 +3,9 @@
> > > @@ -227,7 +228,7 @@ index 5c077c1ec8..fa98042aa5 100644
> > >   #include "sd-dhcp6-client.h"
> > >
> > >  diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
> > > -index 3bfe636691..e0c68c8ad3 100644
> > > +index 8219d95b0d..c92230453b 100644
> > >  --- a/src/network/networkd-link.c
> > >  +++ b/src/network/networkd-link.c
> > >  @@ -1,8 +1,8 @@
> > > @@ -241,7 +242,7 @@ index 3bfe636691..e0c68c8ad3 100644
> > >   #include <unistd.h>
> > >
> > >  diff --git a/src/network/networkd-network.c
> b/src/network/networkd-network.c
> > > -index 3254641461..f0ada419fd 100644
> > > +index e5ffd35b6f..871ebb32c6 100644
> > >  --- a/src/network/networkd-network.c
> > >  +++ b/src/network/networkd-network.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -252,7 +253,7 @@ index 3254641461..f0ada419fd 100644
> > >   #include <netinet/in.h>
> > >   #include <linux/netdevice.h>
> > >  diff --git a/src/network/networkd-route.c
> b/src/network/networkd-route.c
> > > -index 0ed89584ef..e7e157c201 100644
> > > +index a74541a6c9..a10549b336 100644
> > >  --- a/src/network/networkd-route.c
> > >  +++ b/src/network/networkd-route.c
> > >  @@ -1,7 +1,10 @@
> > > @@ -268,7 +269,7 @@ index 0ed89584ef..e7e157c201 100644
> > >   #include "alloc-util.h"
> > >   #include "netlink-util.h"
> > >  diff --git a/src/network/test-network-tables.c
> b/src/network/test-network-tables.c
> > > -index 475cac7527..9bae6eda16 100644
> > > +index ce34449554..0b5dc01182 100644
> > >  --- a/src/network/test-network-tables.c
> > >  +++ b/src/network/test-network-tables.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -279,7 +280,7 @@ index 475cac7527..9bae6eda16 100644
> > >   #include "dhcp6-internal.h"
> > >   #include "dhcp6-protocol.h"
> > >  diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
> > > -index e6fab262f2..41dd3d7df7 100644
> > > +index 654d36a83a..f4ed42d543 100644
> > >  --- a/src/shared/ethtool-util.c
> > >  +++ b/src/shared/ethtool-util.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -290,7 +291,7 @@ index e6fab262f2..41dd3d7df7 100644
> > >   #include <sys/ioctl.h>
> > >   #include <linux/ethtool.h>
> > >  diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
> > > -index f94b3e15bf..08a7e4fa09 100644
> > > +index 11e2906681..a171df0737 100644
> > >  --- a/src/shared/ethtool-util.h
> > >  +++ b/src/shared/ethtool-util.h
> > >  @@ -3,6 +3,7 @@
> > > @@ -302,7 +303,7 @@ index f94b3e15bf..08a7e4fa09 100644
> > >
> > >   #include "conf-parser.h"
> > >  diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
> > > -index d12fd0e299..636806dc23 100644
> > > +index 31e5d0cd67..f25f821364 100644
> > >  --- a/src/udev/net/link-config.c
> > >  +++ b/src/udev/net/link-config.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -323,6 +324,3 @@ index 87e1fb133e..13876029d0 100644
> > >   #include "alloc-util.h"
> > >   #include "device-util.h"
> > >   #include "errno-util.h"
> > > ---
> > > -2.25.1
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> > > index 6865421586..2ff08c7fae 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
> > > @@ -1,8 +1,7 @@
> > > -From 87a14dde13c8fa68239a4ab62914a093062b3b29 Mon Sep 17 00:00:00 2001
> > > +From bca73ff2fbff2dc311040a87a4f536f89af07ad6 Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 14:56:21 +0800
> > > -Subject: [PATCH 07/26] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC
> is not
> > > - defined
> > > +Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
> defined
> > >
> > >  If the standard library doesn't provide brace
> > >  expansion users just won't get it.
> > > @@ -17,6 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  [rebased for systemd 243]
> > >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > > +
> > >  ---
> > >   src/basic/glob-util.c     | 12 ++++++++++++
> > >   src/test/test-glob-util.c | 16 ++++++++++++++++
> > > @@ -115,10 +115,10 @@ index df6444c433..79a692046e 100644
> > >
> > >           (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
> > >  diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
> > > -index 9906c70eef..5eb63b1d57 100644
> > > +index 6b73d1e6d5..26b3b74275 100644
> > >  --- a/src/tmpfiles/tmpfiles.c
> > >  +++ b/src/tmpfiles/tmpfiles.c
> > > -@@ -63,6 +63,12 @@
> > > +@@ -66,6 +66,12 @@
> > >   #include "umask-util.h"
> > >   #include "user-util.h"
> > >
> > > @@ -131,7 +131,7 @@ index 9906c70eef..5eb63b1d57 100644
> > >   /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
> > >    * them in the file system. This is intended to be used to create
> > >    * properly owned directories beneath /tmp, /var/tmp, /run, which are
> > > -@@ -1936,7 +1942,9 @@ finish:
> > > +@@ -1947,7 +1953,9 @@ finish:
> > >
> > >   static int glob_item(Item *i, action_t action) {
> > >           _cleanup_globfree_ glob_t g = {
> > > @@ -141,7 +141,7 @@ index 9906c70eef..5eb63b1d57 100644
> > >           };
> > >           int r = 0, k;
> > >           char **fn;
> > > -@@ -1956,7 +1964,9 @@ static int glob_item(Item *i, action_t action) {
> > > +@@ -1967,7 +1975,9 @@ static int glob_item(Item *i, action_t action) {
> > >
> > >   static int glob_item_recursively(Item *i, fdaction_t action) {
> > >           _cleanup_globfree_ glob_t g = {
> > > @@ -151,6 +151,3 @@ index 9906c70eef..5eb63b1d57 100644
> > >           };
> > >           int r = 0, k;
> > >           char **fn;
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
> b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
> > > index 94cdc2efde..142ca01345 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
> > > @@ -1,7 +1,7 @@
> > > -From 8caea3fe87d55fd16de7d1b8266239fa954cb498 Mon Sep 17 00:00:00 2001
> > > +From e0d1912f0246c97e5e7b4177691363d2d077e11d Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 15:00:06 +0800
> > > -Subject: [PATCH 08/26] add missing FTW_ macros for musl
> > > +Subject: [PATCH] add missing FTW_ macros for musl
> > >
> > >  This is to avoid build failures like below for musl.
> > >
> > > @@ -10,6 +10,7 @@ This is to avoid build failures like below for musl.
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > > +
> > >  ---
> > >   src/basic/missing_type.h | 20 ++++++++++++++++++++
> > >   1 file changed, 20 insertions(+)
> > > @@ -42,6 +43,3 @@ index aeaf6ad5ec..3df1084ef2 100644
> > >  +#ifndef FTW_SKIP_SIBLINGS
> > >  +#define FTW_SKIP_SIBLINGS 3
> > >  +#endif
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> > > index 76cc75cf6a..53f0a1ba62 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
> > > @@ -1,17 +1,18 @@
> > > -From d8e4f0aa1760e4c7bb8476beecd35025c9cbb95a Mon Sep 17 00:00:00 2001
> > > +From bb41fe773881a8f1d9615d388320b9c6fc47bfe5 Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 15:03:47 +0800
> > > -Subject: [PATCH 09/26] fix missing of __register_atfork for non-glibc
> builds
> > > +Subject: [PATCH] fix missing of __register_atfork for non-glibc builds
> > >
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > > +
> > >  ---
> > >   src/basic/process-util.c | 7 +++++++
> > >   1 file changed, 7 insertions(+)
> > >
> > >  diff --git a/src/basic/process-util.c b/src/basic/process-util.c
> > > -index 0851613fc9..4417101569 100644
> > > +index 7d4301eadb..caa9dfe3a3 100644
> > >  --- a/src/basic/process-util.c
> > >  +++ b/src/basic/process-util.c
> > >  @@ -18,6 +18,9 @@
> > > @@ -24,7 +25,7 @@ index 0851613fc9..4417101569 100644
> > >
> > >   #include "alloc-util.h"
> > >   #include "architecture.h"
> > > -@@ -1143,11 +1146,15 @@ void reset_cached_pid(void) {
> > > +@@ -1121,11 +1124,15 @@ void reset_cached_pid(void) {
> > >           cached_pid = CACHED_PID_UNSET;
> > >   }
> > >
> > > @@ -40,6 +41,3 @@ index 0851613fc9..4417101569 100644
> > >
> > >   pid_t getpid_cached(void) {
> > >           static bool installed = false;
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
> b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
> > > index aeacd865ae..af1a6bb053 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
> > > @@ -1,7 +1,7 @@
> > > -From e45bb02174812e4935214f42a18725be320770d5 Mon Sep 17 00:00:00 2001
> > > +From dc40487e0ac26e3ca317429b9c3e8f01772de60a Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 15:12:41 +0800
> > > -Subject: [PATCH 10/26] Use uintmax_t for handling rlim_t
> > > +Subject: [PATCH] Use uintmax_t for handling rlim_t
> > >
> > >  PRIu{32,64} is not right format to represent rlim_t type
> > >  therefore use %ju and typecast the rlim_t variables to
> > > @@ -20,6 +20,7 @@ Upstream-Status: Denied [
> https://github.com/systemd/systemd/pull/7199]
> > >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > >  [Rebased for v241]
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > > +
> > >  ---
> > >   src/basic/format-util.h |  8 +-------
> > >   src/basic/rlimit-util.c | 10 +++++-----
> > > @@ -46,10 +47,10 @@ index b7e18768e3..3195ab205d 100644
> > >   #if SIZEOF_DEV_T == 8
> > >   #  define DEV_FMT "%" PRIu64
> > >  diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
> > > -index 880976312c..9e1b61cd4a 100644
> > > +index 23d108d5df..94373c9422 100644
> > >  --- a/src/basic/rlimit-util.c
> > >  +++ b/src/basic/rlimit-util.c
> > > -@@ -306,13 +306,13 @@ int rlimit_format(const struct rlimit *rl, char
> **ret) {
> > > +@@ -308,13 +308,13 @@ int rlimit_format(const struct rlimit *rl, char
> **ret) {
> > >           if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >=
> RLIM_INFINITY)
> > >                   s = strdup("infinity");
> > >           else if (rl->rlim_cur >= RLIM_INFINITY)
> > > @@ -67,7 +68,7 @@ index 880976312c..9e1b61cd4a 100644
> > >
> > >           if (!s)
> > >                   return -ENOMEM;
> > > -@@ -403,7 +403,7 @@ int rlimit_nofile_safe(void) {
> > > +@@ -405,7 +405,7 @@ int rlimit_nofile_safe(void) {
> > >
> > >           rl.rlim_cur = FD_SETSIZE;
> > >           if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
> > > @@ -77,10 +78,10 @@ index 880976312c..9e1b61cd4a 100644
> > >           return 1;
> > >   }
> > >  diff --git a/src/core/execute.c b/src/core/execute.c
> > > -index 89632e0582..335283776c 100644
> > > +index f82fc294c0..4696d055a8 100644
> > >  --- a/src/core/execute.c
> > >  +++ b/src/core/execute.c
> > > -@@ -5288,9 +5288,9 @@ void exec_context_dump(const ExecContext *c,
> FILE* f, const char *prefix) {
> > > +@@ -5370,9 +5370,9 @@ void exec_context_dump(const ExecContext *c,
> FILE* f, const char *prefix) {
> > >           for (unsigned i = 0; i < RLIM_NLIMITS; i++)
> > >                   if (c->rlimit[i]) {
> > >                           fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
> > > @@ -92,6 +93,3 @@ index 89632e0582..335283776c 100644
> > >                   }
> > >
> > >           if (c->ioprio_set) {
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
> b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
> > > index 6d7fdbcb64..b1d782719c 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
> > > @@ -1,13 +1,13 @@
> > > -From d1db531ddd3bbf94d5e764b7917bcc8684ff6357 Mon Sep 17 00:00:00 2001
> > > +From f8be7b283309e4332eedc088774daac637afef7b Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Wed, 28 Feb 2018 21:25:22 -0800
> > > -Subject: [PATCH 11/26] test-sizeof.c: Disable tests for missing
> typedefs in
> > > - musl
> > > +Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in
> musl
> > >
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > > +
> > >  ---
> > >   src/test/test-sizeof.c | 4 ++++
> > >   1 file changed, 4 insertions(+)
> > > @@ -37,6 +37,3 @@ index 3c9dc180fa..e1a59d408c 100644
> > >           info(pid_t);
> > >           info(uid_t);
> > >           info(gid_t);
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
> b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
> > > index c15b6e7d82..5f2178734d 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
> > > @@ -1,7 +1,7 @@
> > > -From 03e89da266edf70121a19ffc32a78cc3b97585ef Mon Sep 17 00:00:00 2001
> > > +From 06915b70735caa66987af758ebdc4207757ae758 Mon Sep 17 00:00:00 2001
> > >  From: Andre McCurdy <armccurdy@gmail.com>
> > >  Date: Tue, 10 Oct 2017 14:33:30 -0700
> > > -Subject: [PATCH 12/26] don't pass AT_SYMLINK_NOFOLLOW flag to
> faccessat()
> > > +Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
> > >
> > >  Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
> > >  thing to do and it's not portable (not supported by musl). See:
> > > @@ -25,20 +25,22 @@ just historical and not actually necessary or
> desired behaviour?
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > >  Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
> > > +
> > >  ---
> > > - src/basic/fs-util.h          | 22 +++++++++++++++++++++-
> > > + src/basic/fs-util.h          | 23 +++++++++++++++++++++--
> > >   src/shared/base-filesystem.c |  6 +++---
> > > - 2 files changed, 24 insertions(+), 4 deletions(-)
> > > + 2 files changed, 24 insertions(+), 5 deletions(-)
> > >
> > >  diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
> > > -index 5dc8853eac..0491b3dae2 100644
> > > +index 027037f7a7..16eb379caf 100644
> > >  --- a/src/basic/fs-util.h
> > >  +++ b/src/basic/fs-util.h
> > > -@@ -43,7 +43,27 @@ int futimens_opath(int fd, const struct timespec
> ts[2]);
> > > +@@ -44,8 +44,27 @@ int futimens_opath(int fd, const struct timespec
> ts[2]);
> > >   int fd_warn_permissions(const char *path, int fd);
> > >   int stat_warn_permissions(const char *path, const struct stat *st);
> > >
> > > --#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode),
> AT_SYMLINK_NOFOLLOW)
> > > +-#define laccess(path, mode)
>    \
> > > +-        (faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW) <
> 0 ? -errno : 0)
> > >  +/*
> > >  +   Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the
> right thing to
> > >  +   do and it's not portable (not supported by musl). See:
> > > @@ -94,6 +96,3 @@ index 1d05409086..1ed06c31ab 100644
> > >                                                   continue;
> > >                                   }
> > >
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
> b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
> > > index 89736bcfde..51b145729d 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
> > > @@ -1,8 +1,7 @@
> > > -From dd134880e9a16595ab473934577e873c748e9c7a Mon Sep 17 00:00:00 2001
> > > +From 0c44af262cfa07c57db4b32de1f7610af47797f4 Mon Sep 17 00:00:00 2001
> > >  From: Khem Raj <raj.khem@gmail.com>
> > >  Date: Sun, 27 May 2018 08:36:44 -0700
> > > -Subject: [PATCH 13/26] Define glibc compatible basename() for
> non-glibc
> > > - systems
> > > +Subject: [PATCH] Define glibc compatible basename() for non-glibc
> systems
> > >
> > >  Fixes builds with musl, even though systemd is adamant about
> > >  using non-posix basename implementation, we have a way out
> > > @@ -10,12 +9,13 @@ using non-posix basename implementation, we have a
> way out
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > > +
> > >  ---
> > >   src/machine/machine-dbus.c | 5 +++++
> > >   1 file changed, 5 insertions(+)
> > >
> > >  diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
> > > -index f5780f1aec..aec5825b3e 100644
> > > +index 3a1e4f9072..ab87b9882c 100644
> > >  --- a/src/machine/machine-dbus.c
> > >  +++ b/src/machine/machine-dbus.c
> > >  @@ -11,6 +11,11 @@
> > > @@ -30,6 +30,3 @@ index f5780f1aec..aec5825b3e 100644
> > >   #include "alloc-util.h"
> > >   #include "bus-common-errors.h"
> > >   #include "bus-get-properties.h"
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> > > index e95d2ae078..7444d4375f 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
> > > @@ -1,7 +1,7 @@
> > > -From 55af446156da863b5b36a1109845858956a4c274 Mon Sep 17 00:00:00 2001
> > > +From 0f4b60e34a806055c678eb97a7ec7e21291bcf48 Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Wed, 4 Jul 2018 15:00:44 +0800
> > > -Subject: [PATCH 14/26] Do not disable buffering when writing to
> oom_score_adj
> > > +Subject: [PATCH] Do not disable buffering when writing to
> oom_score_adj
> > >
> > >  On musl, disabling buffering when writing to oom_score_adj will
> > >  cause the following error.
> > > @@ -19,15 +19,16 @@ Upstream-Status: Inappropriate [musl specific]
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  [rebased for systemd 243]
> > >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > > +
> > >  ---
> > >   src/basic/process-util.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > >  diff --git a/src/basic/process-util.c b/src/basic/process-util.c
> > > -index 4417101569..556dab8ebf 100644
> > > +index caa9dfe3a3..6101f43db5 100644
> > >  --- a/src/basic/process-util.c
> > >  +++ b/src/basic/process-util.c
> > > -@@ -1536,7 +1536,7 @@ int set_oom_score_adjust(int value) {
> > > +@@ -1523,7 +1523,7 @@ int set_oom_score_adjust(int value) {
> > >           sprintf(t, "%i", value);
> > >
> > >           return write_string_file("/proc/self/oom_score_adj", t,
> > > @@ -36,6 +37,3 @@ index 4417101569..556dab8ebf 100644
> > >   }
> > >
> > >   int pidfd_get_pid(int fd, pid_t *ret) {
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> > > index 5cdcf84dc1..90cc70d216 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
> > > @@ -1,7 +1,7 @@
> > > -From e382845aed90cfe4496a8351d57d4466dd2e9a9c Mon Sep 17 00:00:00 2001
> > > +From c30ab62d18ce88187f5eb6c236e0977c9337f68d Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Tue, 10 Jul 2018 15:40:17 +0800
> > > -Subject: [PATCH 15/26] distinguish XSI-compliant strerror_r from
> GNU-specifi
> > > +Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi
> > >   strerror_r
> > >
> > >  XSI-compliant strerror_r and GNU-specifi strerror_r are different.
> > > @@ -18,28 +18,12 @@ assigned to (char *) variable, resulting in
> segment fault.
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > > +
> > >  ---
> > > - src/journal/journal-send.c        | 5 +++++
> > > - src/libsystemd/sd-bus/bus-error.c | 5 +++++
> > > + src/libsystemd/sd-bus/bus-error.c        | 5 +++++
> > > + src/libsystemd/sd-journal/journal-send.c | 5 +++++
> > >   2 files changed, 10 insertions(+)
> > >
> > > -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
> > > -index e8e6ad555b..8ca5271d02 100644
> > > ---- a/src/journal/journal-send.c
> > > -+++ b/src/journal/journal-send.c
> > > -@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char
> *message, int skip, struct iove
> > > -                 char* j;
> > > -
> > > -                 errno = 0;
> > > -+#ifndef __GLIBC__
> > > -+                strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
> > > -+                j = buffer + 8 + k;
> > > -+#else
> > > -                 j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8
> - k);
> > > -+#endif
> > > -                 if (errno == 0) {
> > > -                         char error[STRLEN("ERRNO=") +
> DECIMAL_STR_MAX(int) + 1];
> > > -
> > >  diff --git a/src/libsystemd/sd-bus/bus-error.c
> b/src/libsystemd/sd-bus/bus-error.c
> > >  index 8da2024a50..9605a9b869 100644
> > >  --- a/src/libsystemd/sd-bus/bus-error.c
> > > @@ -57,6 +41,20 @@ index 8da2024a50..9605a9b869 100644
> > >                   if (errno == ERANGE || strlen(x) >= k - 1) {
> > >                           free(m);
> > >                           k *= 2;
> > > ---
> > > -2.27.0
> > > -
> > > +diff --git a/src/libsystemd/sd-journal/journal-send.c
> b/src/libsystemd/sd-journal/journal-send.c
> > > +index e8e6ad555b..8ca5271d02 100644
> > > +--- a/src/libsystemd/sd-journal/journal-send.c
> > > ++++ b/src/libsystemd/sd-journal/journal-send.c
> > > +@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char
> *message, int skip, struct iove
> > > +                 char* j;
> > > +
> > > +                 errno = 0;
> > > ++#ifndef __GLIBC__
> > > ++                strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
> > > ++                j = buffer + 8 + k;
> > > ++#else
> > > +                 j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8
> - k);
> > > ++#endif
> > > +                 if (errno == 0) {
> > > +                         char error[STRLEN("ERRNO=") +
> DECIMAL_STR_MAX(int) + 1];
> > > +
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> > > index 9a125de638..de7f9ecfa2 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
> > > @@ -1,7 +1,7 @@
> > > -From 0c7af5f288231a8c0545e169e01ba5ee173cafe7 Mon Sep 17 00:00:00 2001
> > > +From fa86e5578256dddb296fd30128929ea7c4b792a4 Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 15:18:00 +0800
> > > -Subject: [PATCH 16/26] Hide __start_BUS_ERROR_MAP and
> __stop_BUS_ERROR_MAP
> > > +Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
> > >
> > >  for currently unknown reasons they get exported to the shared libries
> > >  even without being listed in the sym file
> > > @@ -11,6 +11,7 @@ Upstream-Status: Pending
> > >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > >  [Rebased for v241]
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > > +
> > >  ---
> > >   src/libsystemd/sd-bus/bus-error.c | 4 ++--
> > >   1 file changed, 2 insertions(+), 2 deletions(-)
> > > @@ -30,6 +31,3 @@ index 9605a9b869..38b6cf90c3 100644
> > >
> > >   /* Additional maps registered with sd_bus_error_add_map() are in this
> > >    * NULL terminated array */
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
> b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
> > > index 31747c6b40..d9ef2b8a47 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
> > > @@ -1,7 +1,7 @@
> > > -From 32dd7a47b87793cd836ab4bb776d1524f24c2d58 Mon Sep 17 00:00:00 2001
> > > +From 11e730694706fa354a0e43c588ef66677a777d9a Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 15:27:54 +0800
> > > -Subject: [PATCH 17/26] missing_type.h: add __compar_d_fn_t definition
> > > +Subject: [PATCH] missing_type.h: add __compar_d_fn_t definition
> > >
> > >  Fix the following compile failure:
> > >  src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t';
> did you mean '__compar_fn_t'?
> > > @@ -9,6 +9,7 @@ src/basic/util.h:71:18: error: unknown type name
> '__compar_d_fn_t'; did you mean
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > > +
> > >  ---
> > >   src/basic/missing_type.h | 1 +
> > >   1 file changed, 1 insertion(+)
> > > @@ -25,6 +26,3 @@ index 3df1084ef2..697aa7f58a 100644
> > >   #endif
> > >
> > >   #ifndef __COMPAR_FN_T
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
> b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
> > > index 56d361a213..3b60854233 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
> > > @@ -1,7 +1,7 @@
> > > -From bfc3416edeb69082ac9b9c9e844f12d7b45bb006 Mon Sep 17 00:00:00 2001
> > > +From 45bae28d3da6607d33d54f4b30a500f5249aadde Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 15:44:54 +0800
> > > -Subject: [PATCH 18/26] avoid redefinition of prctl_mm_map structure
> > > +Subject: [PATCH] avoid redefinition of prctl_mm_map structure
> > >
> > >  Fix the following compile failure:
> > >  error: redefinition of 'struct prctl_mm_map'
> > > @@ -9,6 +9,7 @@ error: redefinition of 'struct prctl_mm_map'
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > > +
> > >  ---
> > >   src/basic/missing_prctl.h | 2 ++
> > >   1 file changed, 2 insertions(+)
> > > @@ -27,6 +28,3 @@ index ab851306ba..5547cad875 100644
> > >
> > >   /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
> > >   #ifndef PR_CAP_AMBIENT
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
> b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
> > > index 6ca196489b..7d6433f317 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
> > > @@ -1,16 +1,17 @@
> > > -From e427f03de2c56e868bb0f24aa231315b2dae1b71 Mon Sep 17 00:00:00 2001
> > > +From 6e593ff2afbe4bfe15eee2ec34e51490a38462f5 Mon Sep 17 00:00:00 2001
> > >  From: Alex Kiernan <alex.kiernan@gmail.com>
> > >  Date: Fri, 7 Aug 2020 15:19:27 +0000
> > > -Subject: [PATCH 19/26] Handle missing LOCK_EX
> > > +Subject: [PATCH] Handle missing LOCK_EX
> > >
> > >  Upstream-Status: Inappropriate [musl specific]
> > >  Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > > +
> > >  ---
> > >   src/partition/makefs.c | 1 +
> > >   1 file changed, 1 insertion(+)
> > >
> > >  diff --git a/src/partition/makefs.c b/src/partition/makefs.c
> > > -index fd924d2231..b97580fdcc 100644
> > > +index 7c94fbfedb..42f966722d 100644
> > >  --- a/src/partition/makefs.c
> > >  +++ b/src/partition/makefs.c
> > >  @@ -6,6 +6,7 @@
> > > @@ -21,6 +22,3 @@ index fd924d2231..b97580fdcc 100644
> > >
> > >   #include "alloc-util.h"
> > >   #include "blockdev-util.h"
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
> b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
> > > index f74de43849..1faee1c055 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
> > > @@ -1,7 +1,7 @@
> > > -From 9abbc5e69e21aef0d4d4567e69302fa660b76c53 Mon Sep 17 00:00:00 2001
> > > +From ac579b296aa29c2f1dad9425c6d795e154ec8f7c Mon Sep 17 00:00:00 2001
> > >  From: Alex Kiernan <alex.kiernan@gmail.com>
> > >  Date: Fri, 7 Aug 2020 15:20:17 +0000
> > > -Subject: [PATCH 20/26] Fix incompatible pointer type struct
> sockaddr_un *
> > > +Subject: [PATCH] Fix incompatible pointer type struct sockaddr_un *
> > >
> > >  | ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c: In
> function 'cant_be_in_netns':
> > >  |
> ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c:4893:25:
> error: passing argument 2 of 'connect' from incompatible pointer type
> [-Werror=incompatible-pointer-types]
> > > @@ -18,15 +18,16 @@ Subject: [PATCH 20/26] Fix incompatible pointer
> type struct sockaddr_un *
> > >
> > >  Upstream-Status: Inappropriate [musl specific]
> > >  Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > > +
> > >  ---
> > >   src/nspawn/nspawn.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > >  diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
> > > -index 0842731c18..3528b7ff14 100644
> > > +index a4ac8ed2bb..0c41a48d4b 100644
> > >  --- a/src/nspawn/nspawn.c
> > >  +++ b/src/nspawn/nspawn.c
> > > -@@ -5084,7 +5084,7 @@ static int cant_be_in_netns(void) {
> > > +@@ -5125,7 +5125,7 @@ static int cant_be_in_netns(void) {
> > >           if (fd < 0)
> > >                   return log_error_errno(errno, "Failed to allocate
> udev control socket: %m");
> > >
> > > @@ -35,6 +36,3 @@ index 0842731c18..3528b7ff14 100644
> > >
> > >                   if (errno == ENOENT || ERRNO_IS_DISCONNECT(errno))
> > >                           return
> log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
> b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
> > > index fa6652a5bf..14c8ff73a0 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
> > > @@ -1,7 +1,7 @@
> > > -From 1f5bc54bed0b365e7e448c26f6c792dbe8b3b198 Mon Sep 17 00:00:00 2001
> > > +From 6bc78df50adb48d24a2abfdf65b44b932cc5a571 Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 16:53:06 +0800
> > > -Subject: [PATCH 21/26] test-json.c: define M_PIl
> > > +Subject: [PATCH] test-json.c: define M_PIl
> > >
> > >  Fix the following compile failure:
> > >  src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in
> this function); did you mean 'M_PI'?
> > > @@ -9,6 +9,7 @@ src/test/test-json.c:305:50: error: 'M_PIl' undeclared
> (first use in this functi
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > > +
> > >  ---
> > >   src/test/test-json.c | 4 ++++
> > >   1 file changed, 4 insertions(+)
> > > @@ -28,6 +29,3 @@ index 1d4b11945e..572c8cf9d0 100644
> > >   static void test_tokenizer(const char *data, ...) {
> > >           unsigned line = 0, column = 0;
> > >           void *state = NULL;
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
> b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
> > > index 675fd20f11..bd627c51e9 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
> > > @@ -1,7 +1,7 @@
> > > -From 564dba5ad0cd884e3f69fa19ca64095413578ea5 Mon Sep 17 00:00:00 2001
> > > +From 7cb6579572b50ef44bc0a321a4c73cce55b0c2f2 Mon Sep 17 00:00:00 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Fri, 1 Mar 2019 15:22:15 +0800
> > > -Subject: [PATCH 22/26] do not disable buffer in writing files
> > > +Subject: [PATCH] do not disable buffer in writing files
> > >
> > >  Do not disable buffer in writing files, otherwise we get
> > >  failure at boot for musl like below.
> > > @@ -18,10 +18,12 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> > >  [rebased for systemd 243]
> > >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > > +
> > >  ---
> > >   src/basic/cgroup-util.c                 | 10 +++++-----
> > >   src/basic/procfs-util.c                 |  4 ++--
> > >   src/basic/smack-util.c                  |  2 +-
> > > + src/basic/sysctl-util.c                 |  2 +-
> > >   src/basic/util.c                        |  2 +-
> > >   src/binfmt/binfmt.c                     |  6 +++---
> > >   src/core/main.c                         |  4 ++--
> > > @@ -32,18 +34,15 @@ Signed-off-by: Scott Murray <
> scott.murray@konsulko.com>
> > >   src/nspawn/nspawn-cgroup.c              |  2 +-
> > >   src/nspawn/nspawn.c                     |  6 +++---
> > >   src/shared/cgroup-setup.c               |  4 ++--
> > > - src/shared/sysctl-util.c                |  2 +-
> > >   src/sleep/sleep.c                       |  8 ++++----
> > > - src/udev/udevadm-trigger.c              |  2 +-
> > > - src/udev/udevd.c                        |  2 +-
> > >   src/vconsole/vconsole-setup.c           |  2 +-
> > > - 18 files changed, 35 insertions(+), 35 deletions(-)
> > > + 16 files changed, 33 insertions(+), 33 deletions(-)
> > >
> > >  diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
> > > -index bb960f183c..cb804c5f4b 100644
> > > +index 50c1ae1b2b..5b40e92163 100644
> > >  --- a/src/basic/cgroup-util.c
> > >  +++ b/src/basic/cgroup-util.c
> > > -@@ -759,7 +759,7 @@ int cg_install_release_agent(const char
> *controller, const char *agent) {
> > > +@@ -765,7 +765,7 @@ int cg_install_release_agent(const char
> *controller, const char *agent) {
> > >
> > >           sc = strstrip(contents);
> > >           if (isempty(sc)) {
> > > @@ -52,7 +51,7 @@ index bb960f183c..cb804c5f4b 100644
> > >                   if (r < 0)
> > >                           return r;
> > >           } else if (!path_equal(sc, agent))
> > > -@@ -777,7 +777,7 @@ int cg_install_release_agent(const char
> *controller, const char *agent) {
> > > +@@ -783,7 +783,7 @@ int cg_install_release_agent(const char
> *controller, const char *agent) {
> > >
> > >           sc = strstrip(contents);
> > >           if (streq(sc, "0")) {
> > > @@ -61,7 +60,7 @@ index bb960f183c..cb804c5f4b 100644
> > >                   if (r < 0)
> > >                           return r;
> > >
> > > -@@ -804,7 +804,7 @@ int cg_uninstall_release_agent(const char
> *controller) {
> > > +@@ -810,7 +810,7 @@ int cg_uninstall_release_agent(const char
> *controller) {
> > >           if (r < 0)
> > >                   return r;
> > >
> > > @@ -70,7 +69,7 @@ index bb960f183c..cb804c5f4b 100644
> > >           if (r < 0)
> > >                   return r;
> > >
> > > -@@ -814,7 +814,7 @@ int cg_uninstall_release_agent(const char
> *controller) {
> > > +@@ -820,7 +820,7 @@ int cg_uninstall_release_agent(const char
> *controller) {
> > >           if (r < 0)
> > >                   return r;
> > >
> > > @@ -79,7 +78,7 @@ index bb960f183c..cb804c5f4b 100644
> > >           if (r < 0)
> > >                   return r;
> > >
> > > -@@ -1646,7 +1646,7 @@ int cg_set_attribute(const char *controller,
> const char *path, const char *attri
> > > +@@ -1650,7 +1650,7 @@ int cg_set_attribute(const char *controller,
> const char *path, const char *attri
> > >           if (r < 0)
> > >                   return r;
> > >
> > > @@ -121,11 +120,24 @@ index 3362ee3924..80c0f2a52e 100644
> > >           if (r < 0)
> > >                   return r;
> > >
> > > +diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
> > > +index c96b5cd77f..d2476d9665 100644
> > > +--- a/src/basic/sysctl-util.c
> > > ++++ b/src/basic/sysctl-util.c
> > > +@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char
> *ifname, const char *property, c
> > > +
> > > +         log_debug("Setting '%s' to '%s'", p, value);
> > > +
> > > +-        return write_string_file(p, value,
> WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
> > > ++        return write_string_file(p, value,
> WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
> > > + }
> > > +
> > > + int sysctl_read(const char *property, char **ret) {
> > >  diff --git a/src/basic/util.c b/src/basic/util.c
> > > -index f98ecf3858..13e0f7431f 100644
> > > +index 955b18bd2a..6d89c90176 100644
> > >  --- a/src/basic/util.c
> > >  +++ b/src/basic/util.c
> > > -@@ -267,7 +267,7 @@ void disable_coredumps(void) {
> > > +@@ -234,7 +234,7 @@ void disable_coredumps(void) {
> > >           if (detect_container() > 0)
> > >                   return;
> > >
> > > @@ -135,7 +147,7 @@ index f98ecf3858..13e0f7431f 100644
> > >                   log_debug_errno(r, "Failed to turn off coredumps,
> ignoring: %m");
> > >   }
> > >  diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
> > > -index 43ed2f385b..37a6f578f7 100644
> > > +index f6b72e0bae..e9fd4d06be 100644
> > >  --- a/src/binfmt/binfmt.c
> > >  +++ b/src/binfmt/binfmt.c
> > >  @@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
> > > @@ -156,7 +168,7 @@ index 43ed2f385b..37a6f578f7 100644
> > >           if (r < 0)
> > >                   return log_error_errno(r, "Failed to add binary
> format: %m");
> > >
> > > -@@ -223,7 +223,7 @@ static int run(int argc, char *argv[]) {
> > > +@@ -222,7 +222,7 @@ static int run(int argc, char *argv[]) {
> > >                   }
> > >
> > >                   /* Flush out all rules */
> > > @@ -166,10 +178,10 @@ index 43ed2f385b..37a6f578f7 100644
> > >                   STRV_FOREACH(f, files) {
> > >                           k = apply_file(*f, true);
> > >  diff --git a/src/core/main.c b/src/core/main.c
> > > -index a280b756ff..334532cd42 100644
> > > +index 3ee8d0a869..ec36e3e80f 100644
> > >  --- a/src/core/main.c
> > >  +++ b/src/core/main.c
> > > -@@ -1382,7 +1382,7 @@ static int bump_unix_max_dgram_qlen(void) {
> > > +@@ -1401,7 +1401,7 @@ static int bump_unix_max_dgram_qlen(void) {
> > >           if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
> > >                   return 0;
> > >
> > > @@ -178,7 +190,7 @@ index a280b756ff..334532cd42 100644
> > >           if (r < 0)
> > >                   return log_full_errno(IN_SET(r, -EROFS, -EPERM,
> -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
> > >                                         "Failed to bump AF_UNIX
> datagram queue length, ignoring: %m");
> > > -@@ -1666,7 +1666,7 @@ static void initialize_core_pattern(bool
> skip_setup) {
> > > +@@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool
> skip_setup) {
> > >           if (getpid_cached() != 1)
> > >                   return;
> > >
> > > @@ -188,7 +200,7 @@ index a280b756ff..334532cd42 100644
> > >                   log_warning_errno(r, "Failed to write '%s' to
> /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
> > >   }
> > >  diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
> > > -index 1fe592af70..603942a000 100644
> > > +index 8cc1696a4f..ab7b4ba2c3 100644
> > >  --- a/src/core/smack-setup.c
> > >  +++ b/src/core/smack-setup.c
> > >  @@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) {
> > > @@ -214,7 +226,7 @@ index 1fe592af70..603942a000 100644
> > >                   log_warning_errno(r, "Failed to set SMACK netlabel
> rule \"127.0.0.1 -CIPSO\": %m");
> > >   #endif
> > >  diff --git a/src/hibernate-resume/hibernate-resume.c
> b/src/hibernate-resume/hibernate-resume.c
> > > -index d8f91f4e66..a088e6e2d8 100644
> > > +index 58e35e403e..1d0beb4008 100644
> > >  --- a/src/hibernate-resume/hibernate-resume.c
> > >  +++ b/src/hibernate-resume/hibernate-resume.c
> > >  @@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
> > > @@ -227,20 +239,20 @@ index d8f91f4e66..a088e6e2d8 100644
> > >                   log_error_errno(r, "Failed to write '%s' to
> /sys/power/resume: %m", major_minor);
> > >                   return EXIT_FAILURE;
> > >  diff --git a/src/libsystemd/sd-device/sd-device.c
> b/src/libsystemd/sd-device/sd-device.c
> > > -index d06f90ce1d..43d0a58750 100644
> > > +index d82f01a164..b8fd63346c 100644
> > >  --- a/src/libsystemd/sd-device/sd-device.c
> > >  +++ b/src/libsystemd/sd-device/sd-device.c
> > > -@@ -1976,7 +1976,7 @@ _public_ int
> sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
> > > +@@ -1987,7 +1987,7 @@ _public_ int
> sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
> > >           if (!value)
> > >                   return -ENOMEM;
> > >
> > >  -        r = write_string_file(path, value,
> WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
> > >  +        r = write_string_file(path, value, 0 |
> WRITE_STRING_FILE_NOFOLLOW);
> > >           if (r < 0) {
> > > -                 if (r == -ELOOP)
> > > -                         return -EINVAL;
> > > +                 /* On failure, clear cache entry, as we do not know
> how it fails. */
> > > +                 device_remove_cached_sysattr_value(device, sysattr);
> > >  diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
> > > -index 7d757aa286..a5d9da5b7e 100644
> > > +index 3bc424b83b..5f5eef0843 100644
> > >  --- a/src/login/logind-dbus.c
> > >  +++ b/src/login/logind-dbus.c
> > >  @@ -1330,7 +1330,7 @@ static int trigger_device(Manager *m, sd_device
> *d) {
> > > @@ -266,10 +278,10 @@ index cb01b25bc6..e92051268b 100644
> > >                   log_error_errno(r, "Failed to move process: %m");
> > >                   goto finish;
> > >  diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
> > > -index 3528b7ff14..11b0c20f95 100644
> > > +index 0c41a48d4b..9c893b18e4 100644
> > >  --- a/src/nspawn/nspawn.c
> > >  +++ b/src/nspawn/nspawn.c
> > > -@@ -2667,7 +2667,7 @@ static int reset_audit_loginuid(void) {
> > > +@@ -2695,7 +2695,7 @@ static int reset_audit_loginuid(void) {
> > >           if (streq(p, "4294967295"))
> > >                   return 0;
> > >
> > > @@ -278,7 +290,7 @@ index 3528b7ff14..11b0c20f95 100644
> > >           if (r < 0) {
> > >                   log_error_errno(r,
> > >                                   "Failed to reset audit login UID.
> This probably means that your kernel is too\n"
> > > -@@ -3920,13 +3920,13 @@ static int setup_uid_map(pid_t pid) {
> > > +@@ -3948,13 +3948,13 @@ static int setup_uid_map(pid_t pid) {
> > >
> > >           xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
> > >           xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0,
> arg_uid_shift, arg_uid_range);
> > > @@ -316,21 +328,8 @@ index f197f715c7..077f893177 100644
> > >                           if (r < 0) {
> > >                                   log_debug_errno(r, "Failed to %s
> controller %s for %s (%s): %m",
> > >                                                   FLAGS_SET(mask, bit)
> ? "enable" : "disable", n, p, fs);
> > > -diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
> > > -index 670c33108b..7c7c3dcfb6 100644
> > > ---- a/src/shared/sysctl-util.c
> > > -+++ b/src/shared/sysctl-util.c
> > > -@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char
> *ifname, const char *property, c
> > > -
> > > -         log_debug("Setting '%s' to '%s'", p, value);
> > > -
> > > --        return write_string_file(p, value,
> WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
> > > -+        return write_string_file(p, value,
> WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
> > > - }
> > > -
> > > - int sysctl_read(const char *property, char **content) {
> > >  diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
> > > -index 39ab554290..d0e566645d 100644
> > > +index 262d4cea66..0523e8dc9b 100644
> > >  --- a/src/sleep/sleep.c
> > >  +++ b/src/sleep/sleep.c
> > >  @@ -48,7 +48,7 @@ static int write_hibernate_location_info(const
> HibernateLocation *hibernate_loca
> > > @@ -369,34 +368,8 @@ index 39ab554290..d0e566645d 100644
> > >                   if (k >= 0)
> > >                           return 0;
> > >                   log_debug_errno(k, "Failed to write '%s' to
> /sys/power/state: %m", *state);
> > > -diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
> > > -index 5c74184c33..65f528314e 100644
> > > ---- a/src/udev/udevadm-trigger.c
> > > -+++ b/src/udev/udevadm-trigger.c
> > > -@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const
> char *action, Set **settle_s
> > > -                 if (!filename)
> > > -                         return log_oom();
> > > -
> > > --                r = write_string_file(filename, action,
> WRITE_STRING_FILE_DISABLE_BUFFER);
> > > -+                r = write_string_file(filename, action, 0);
> > > -                 if (r < 0) {
> > > -                         bool ignore = IN_SET(r, -ENOENT, -ENODEV);
> > > -
> > > -diff --git a/src/udev/udevd.c b/src/udev/udevd.c
> > > -index d24b8d4398..d123a43904 100644
> > > ---- a/src/udev/udevd.c
> > > -+++ b/src/udev/udevd.c
> > > -@@ -1192,7 +1192,7 @@ static int synthesize_change_one(sd_device
> *dev, const char *syspath) {
> > > -
> > > -         filename = strjoina(syspath, "/uevent");
> > > -         log_device_debug(dev, "device is closed, synthesising
> 'change' on %s", syspath);
> > > --        r = write_string_file(filename, "change",
> WRITE_STRING_FILE_DISABLE_BUFFER);
> > > -+        r = write_string_file(filename, "change", 0);
> > > -         if (r < 0)
> > > -                 return log_device_debug_errno(dev, r, "Failed to
> write 'change' to %s: %m", filename);
> > > -         return 0;
> > >  diff --git a/src/vconsole/vconsole-setup.c
> b/src/vconsole/vconsole-setup.c
> > > -index b28e2853e1..115b7233a0 100644
> > > +index d1c3febdd5..1cc68694d1 100644
> > >  --- a/src/vconsole/vconsole-setup.c
> > >  +++ b/src/vconsole/vconsole-setup.c
> > >  @@ -116,7 +116,7 @@ static int toggle_utf8_vc(const char *name, int
> fd, bool utf8) {
> > > @@ -408,6 +381,3 @@ index b28e2853e1..115b7233a0 100644
> > >           if (r < 0)
> > >                   return log_warning_errno(r, "Failed to %s sysfs
> UTF-8 flag: %m", enable_disable(utf8));
> > >
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
> b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
> > > index 1cc3985d12..7d1bd60255 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
> > > @@ -1,7 +1,7 @@
> > > -From bbda4a48a34662393117fc677c3a678d4ce4c2ec Mon Sep 17 00:00:00 2001
> > > +From d73755cc60f401f0f20f357752e45aeeeef8e83f Mon Sep 17 00:00:00 2001
> > >  From: Scott Murray <scott.murray@konsulko.com>
> > >  Date: Fri, 13 Sep 2019 19:26:27 -0400
> > > -Subject: [PATCH 25/26] Handle __cpu_mask usage
> > > +Subject: [PATCH] Handle __cpu_mask usage
> > >
> > >  Fixes errors:
> > >
> > > @@ -18,6 +18,7 @@ add a typedef to cpu-set-util.h defining __cpu_mask
> appropriately.
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > > +
> > >  ---
> > >   src/shared/cpu-set-util.h | 2 ++
> > >   src/test/test-sizeof.c    | 2 +-
> > > @@ -55,6 +56,3 @@ index e1a59d408c..c269ea6e8c 100644
> > >
> > >   /* Print information about various types. Useful when diagnosing
> > >    * gcc diagnostics on an unfamiliar architecture. */
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
> b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
> > > index 4180afb08e..068600fa44 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
> > > @@ -1,7 +1,7 @@
> > > -From 47bf88f74717b417e4adbcc04256334b2335c873 Mon Sep 17 00:00:00 2001
> > > +From 04e94f9a15101daa8f65a9af269d26cda2a24056 Mon Sep 17 00:00:00 2001
> > >  From: Alex Kiernan <alex.kiernan@gmail.com>
> > >  Date: Tue, 10 Mar 2020 11:05:20 +0000
> > > -Subject: [PATCH 26/26] Handle missing gshadow
> > > +Subject: [PATCH] Handle missing gshadow
> > >
> > >  gshadow usage is now present in the userdb code. Mask all uses of it
> to
> > >  allow compilation on musl
> > > @@ -10,6 +10,7 @@ Upstream-Status: Inappropriate [musl specific]
> > >  Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > >  [Rebased for v247]
> > >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > > +
> > >  ---
> > >   src/shared/user-record-nss.c | 20 ++++++++++++++++++++
> > >   src/shared/user-record-nss.h |  4 ++++
> > > @@ -138,10 +139,10 @@ index 22ab04d6ee..4e52e7a911 100644
> > >   #include <shadow.h>
> > >
> > >  diff --git a/src/shared/userdb.c b/src/shared/userdb.c
> > > -index 2d480283d1..0d19764f2e 100644
> > > +index 613350bd46..5c821d28cd 100644
> > >  --- a/src/shared/userdb.c
> > >  +++ b/src/shared/userdb.c
> > > -@@ -929,13 +929,16 @@ int groupdb_iterator_get(UserDBIterator
> *iterator, GroupRecord **ret) {
> > > +@@ -938,13 +938,16 @@ int groupdb_iterator_get(UserDBIterator
> *iterator, GroupRecord **ret) {
> > >                   if (gr) {
> > >                           _cleanup_free_ char *buffer = NULL;
> > >                           bool incomplete = false;
> > > @@ -155,10 +156,10 @@ index 2d480283d1..0d19764f2e 100644
> > >                                   iterator->synthesize_nobody = false;
> > >
> > >  +#if ENABLE_GSHADOW
> > > -                         r = nss_sgrp_for_group(gr, &sgrp, &buffer);
> > > -                         if (r < 0) {
> > > -                                 log_debug_errno(r, "Failed to
> acquire shadow entry for group %s, ignoring: %m", gr->gr_name);
> > > -@@ -943,6 +946,9 @@ int groupdb_iterator_get(UserDBIterator
> *iterator, GroupRecord **ret) {
> > > +                         if (!FLAGS_SET(iterator->flags,
> USERDB_AVOID_SHADOW)) {
> > > +                                 r = nss_sgrp_for_group(gr, &sgrp,
> &buffer);
> > > +                                 if (r < 0) {
> > > +@@ -957,6 +960,9 @@ int groupdb_iterator_get(UserDBIterator
> *iterator, GroupRecord **ret) {
> > >                           }
> > >
> > >                           r = nss_group_to_group_record(gr, r >= 0 ?
> &sgrp : NULL, ret);
> > > @@ -168,6 +169,3 @@ index 2d480283d1..0d19764f2e 100644
> > >                           if (r < 0)
> > >                                   return r;
> > >
> > > ---
> > > -2.27.0
> > > -
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> b/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> > > deleted file mode 100644
> > > index 94a4c307b5..0000000000
> > > ---
> a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> > > +++ /dev/null
> > > @@ -1,97 +0,0 @@
> > > -From 297aba739cd689e4dc9f43bb1422ec88d481099a Mon Sep 17 00:00:00 2001
> > > -From: Paul Gortmaker <paul.gortmaker@windriver.com>
> > > -Date: Wed, 13 Jan 2021 21:09:33 +0000
> > > -Subject: [PATCH] proc: dont trigger mount error with invalid options
> on old
> > > - kernels
> > > -
> > > -As of commit 4e39995371738b04d98d27b0d34ea8fe09ec9fab ("core:
> introduce
> > > -ProtectProc= and ProcSubset= to expose hidepid= and subset= procfs
> > > -mount options") kernels older than v5.8 generate multple warnings at
> > > -boot, as seen in this Yocto build from today:
> > > -
> > > -     qemux86-64 login: root
> > > -     [   65.829009] proc: Bad value for 'hidepid'
> > > -     root@qemux86-64:~# dmesg|grep proc:
> > > -     [   16.990706] proc: Bad value for 'hidepid'
> > > -     [   28.060178] proc: Bad value for 'hidepid'
> > > -     [   28.874229] proc: Bad value for 'hidepid'
> > > -     [   32.685107] proc: Bad value for 'hidepid'
> > > -     [   65.829009] proc: Bad value for 'hidepid'
> > > -     root@qemux86-64:~#
> > > -
> > > -The systemd maintainer has dismissed this as something people should
> > > -simply ignore[1] and has no interest in trying to avoid it by
> > > -proactively checking the kernel version, so people can safely assume
> > > -that they will never see this version check commit upstream.
> > > -
> > > -However, as can be seen above, telling people to just ignore it is not
> > > -an option, as we'll end up answering the same question and dealing
> with
> > > -the same bug over and over again.
> > > -
> > > -The commit that triggers this is systemd v247-rc1~378^2~3 -- so any
> > > -systemd 247 and above plus kernel v5.7 or older will need this.
> > > -
> > > -[1] https://github.com/systemd/systemd/issues/16896
> > > -
> > > -Upstream-Status: Denied [
> https://github.com/systemd/systemd/issues/16896]
> > > -Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> > > -
> > > -Index: git/src/core/namespace.c
> > > -===================================================================
> > > ---- git.orig/src/core/namespace.c
> > > -+++ git/src/core/namespace.c
> > > -@@ -4,7 +4,9 @@
> > > - #include <linux/loop.h>
> > > - #include <sched.h>
> > > - #include <stdio.h>
> > > -+#include <stdlib.h>
> > > - #include <sys/mount.h>
> > > -+#include <sys/utsname.h>
> > > - #include <unistd.h>
> > > - #include <linux/fs.h>
> > > -
> > > -@@ -860,13 +862,32 @@ static int mount_sysfs(const MountEntry
> > > -
> > > - static int mount_procfs(const MountEntry *m, const NamespaceInfo
> *ns_info) {
> > > -         const char *entry_path;
> > > --        int r;
> > > -+        int r, major, minor;
> > > -+        struct utsname uts;
> > > -+        bool old = false;
> > > -
> > > -         assert(m);
> > > -         assert(ns_info);
> > > -
> > > -         entry_path = mount_entry_path(m);
> > > -
> > > -+        /* If uname says that the system is older than v5.8, then
> the textual hidepid= stuff is not
> > > -+         * supported by the kernel, and thus the per-instance
> hidepid= neither, which means we
> > > -+         * really don't want to use it, since it would affect our
> host's /proc * mount. Hence let's
> > > -+         * gracefully fallback to a classic, unrestricted version. */
> > > -+
> > > -+        r = uname(&uts);
> > > -+        if (r < 0)
> > > -+               return errno;
> > > -+
> > > -+        major = atoi(uts.release);
> > > -+        minor = atoi(strchr(uts.release, '.') + 1);
> > > -+
> > > -+        if (major < 5 || (major == 5 && minor < 8)) {
> > > -+                log_debug("Pre v5.8 kernel detected [v%d.%d] -
> skipping hidepid=", major, minor);
> > > -+                old = true;
> > > -+        }
> > > -+
> > > -         /* Mount a new instance, so that we get the one that matches
> our user namespace, if we are running in
> > > -          * one. i.e we don't reuse existing mounts here under any
> condition, we want a new instance owned by
> > > -          * our user namespace and with our hidepid= settings
> applied. Hence, let's get rid of everything
> > > -@@ -875,8 +896,8 @@ static int mount_procfs(const MountEntry
> > > -         (void) mkdir_p_label(entry_path, 0755);
> > > -         (void) umount_recursive(entry_path, 0);
> > > -
> > > --        if (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
> > > --            ns_info->proc_subset != PROC_SUBSET_ALL) {
> > > -+        if (!old && (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
> > > -+            ns_info->proc_subset != PROC_SUBSET_ALL)) {
> > > -                 _cleanup_free_ char *opts = NULL;
> > > -
> > > -                 /* Starting with kernel 5.8 procfs' hidepid= logic
> is truly per-instance (previously it
> > > diff --git
> a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
> b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
> > > index bbee6e6b28..2289404d8d 100644
> > > ---
> a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
> > > +++
> b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
> > > @@ -1,4 +1,4 @@
> > > -From 7b32582c066549fea0f7180a6c575e7fa37a867f Mon Sep 17 00:00:00 2001
> > > +From 366cd28f5f93ba7c861cd32a718251770d74830e Mon Sep 17 00:00:00 2001
> > >  From: Khem Raj <raj.khem@gmail.com>
> > >  Date: Mon, 12 Apr 2021 23:44:53 -0700
> > >  Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl
> > > @@ -10,15 +10,16 @@ them here in case they are undefined
> > >  Upstream-Status: Pending
> > >
> > >  Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > > +
> > >  ---
> > >   src/basic/missing_syscall.h | 6 ++++++
> > >   1 file changed, 6 insertions(+)
> > >
> > >  diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
> > > -index 0594a1b930..495d161334 100644
> > > +index 1384324804..0202d00372 100644
> > >  --- a/src/basic/missing_syscall.h
> > >  +++ b/src/basic/missing_syscall.h
> > > -@@ -15,6 +15,12 @@
> > > +@@ -20,6 +20,12 @@
> > >   #include <asm/sgidefs.h>
> > >   #endif
> > >
> > > @@ -28,9 +29,6 @@ index 0594a1b930..495d161334 100644
> > >  +#define _MIPS_SIM_ABI64               3
> > >  +#endif
> > >  +
> > > - #if defined(__x86_64__) && defined(__ILP32__)
> > > - #  define systemd_SC_arch_bias(x) ((x) | /* __X32_SYSCALL_BIT */
> 0x40000000)
> > > - #elif defined(__ia64__)
> > > ---
> > > -2.31.1
> > > -
> > > + #include "missing_keyctl.h"
> > > + #include "missing_stat.h"
> > > + #include "missing_syscall_def.h"
> > > diff --git a/meta/recipes-core/systemd/systemd_247.6.bb
> b/meta/recipes-core/systemd/systemd_248.3.bb
> > > similarity index 99%
> > > rename from meta/recipes-core/systemd/systemd_247.6.bb
> > > rename to meta/recipes-core/systemd/systemd_248.3.bb
> > > index ce6ac7ebaa..b241330d96 100644
> > > --- a/meta/recipes-core/systemd/systemd_247.6.bb
> > > +++ b/meta/recipes-core/systemd/systemd_248.3.bb
> > > @@ -14,7 +14,8 @@ inherit useradd pkgconfig meson perlnative
> update-rc.d update-alternatives qemu
> > >  # that we don't build both udev and systemd in world builds.
> > >  REQUIRED_DISTRO_FEATURES = "systemd"
> > >
> > > -SRC_URI += "file://touchscreen.rules \
> > > +SRC_URI += " \
> > > +           file://touchscreen.rules \
> > >             file://00-create-volatile.conf \
> > >             ${@bb.utils.contains('PACKAGECONFIG',
> 'polkit_hostnamed_fallback',
> 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \
> > >             ${@bb.utils.contains('PACKAGECONFIG',
> 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '',
> d)} \
> > > @@ -24,9 +25,6 @@ SRC_URI += "file://touchscreen.rules \
> > >
>  file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
> > >             file://0003-implment-systemd-sysv-install-for-OE.patch \
> > >
>  file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
> > > -
>  file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \
> > > -
>  file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \
> > > -
>  file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \
> > >             "
> > >
> > >  # patches needed by musl
> > > @@ -474,6 +472,7 @@ FILES_${PN}-container =
> "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.c
> > >                           ${rootlibexecdir}/systemd/systemd-machined \
> > >                           ${rootlibexecdir}/systemd/systemd-pull \
> > >
>  ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
> > > +                         ${exec_prefix}/lib/tmpfiles.d/README \
> > >                           ${systemd_system_unitdir}/systemd-nspawn@.service
> \
> > >                           ${libdir}/libnss_mymachines.so.2 \
> > >
>  ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
> > > @@ -605,6 +604,7 @@ FILES_${PN} = " ${base_bindir}/* \
> > >                  ${exec_prefix}/lib/environment.d \
> > >                  ${localstatedir} \
> > >                  ${rootlibexecdir}/modprobe.d/systemd.conf \
> > > +                ${rootlibexecdir}/modprobe.d/README \
> > >
> ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
> > >
> ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
> > >
> ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
> > > @@ -647,6 +647,7 @@ FILES_udev += "${base_sbindir}/udevd \
> > >                 ${rootlibexecdir}/udev/ata_id \
> > >                 ${rootlibexecdir}/udev/cdrom_id \
> > >                 ${rootlibexecdir}/udev/collect \
> > > +               ${rootlibexecdir}/udev/dmi_memory_id \
> > >                 ${rootlibexecdir}/udev/fido_id \
> > >                 ${rootlibexecdir}/udev/findkeyboards \
> > >                 ${rootlibexecdir}/udev/keyboard-force-release.sh \
> > > @@ -674,6 +675,7 @@ FILES_udev += "${base_sbindir}/udevd \
> > >
>  ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \
> > >                 ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
> > >                 ${rootlibexecdir}/udev/rules.d/70-joystick.rules \
> > > +               ${rootlibexecdir}/udev/rules.d/70-memory.rules \
> > >                 ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
> > >                 ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
> > >                 ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
> > > @@ -683,6 +685,7 @@ FILES_udev += "${base_sbindir}/udevd \
> > >                 ${rootlibexecdir}/udev/rules.d/80-drivers.rules \
> > >                 ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules
> \
> > >                 ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
> > > +               ${rootlibexecdir}/udev/rules.d/README \
> > >                 ${sysconfdir}/udev \
> > >                 ${sysconfdir}/init.d/systemd-udevd \
> > >                 ${systemd_unitdir}/system/*udev* \
> > > --
> > > 2.31.1
> > >
> > >
> > > 
> > >
>

[-- Attachment #2: Type: text/html, Size: 185532 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [OE-core] [PATCH 02/21] systemd: update 247.6 -> 248.3
  2021-05-25  7:55       ` Alexander Kanavin
@ 2021-05-25 13:52         ` Khem Raj
  2021-05-25 14:02           ` Alexander Kanavin
  0 siblings, 1 reply; 29+ messages in thread
From: Khem Raj @ 2021-05-25 13:52 UTC (permalink / raw)
  To: Alexander Kanavin
  Cc: Richard Purdie, Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 77411 bytes --]

On Tuesday, May 25, 2021, Alexander Kanavin <alex.kanavin@gmail.com> wrote:

> I have to ask: should musl patches for systemd be maintained separately?
> It's a big pile, they aren't accepted by upstream, they aren't tested on
> the AB (hence I didn't even notice the breakage), and they cause rebase
> problems at every version upgrade.
>
> I would propose that a separate recipe is made that takes the sources from
> a repo, rather than carry the patches in oe-core.
>

It’s fine as it is


>
> Alex
>
> On Tue, 25 May 2021 at 03:41, Khem Raj <raj.khem@gmail.com> wrote:
>
> since master-next broke my CI, I have sent a fix on top of this.
> Please include that
>
> On Mon, May 24, 2021 at 5:18 PM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > Fails to compile for musl
> >
> > https://errors.yoctoproject.org/Errors/Details/585507/
> >
> > src/basic/percent-util.c source file needs to include
> >
> > #include "missing_stdlib.h"
> >
> > like other files in 0005-src-basic-missing.h-check-for-missing-strndupa.
> patch
> >
> > On Mon, May 24, 2021 at 2:14 AM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > Drop backports:
> > > 48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > > 7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > > 0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > > 0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > >
> > > Drop 0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
> > > as difficult to rebase; please resend if you feel strongly that
> > > it is needed.
> > >
> > > Rebase the big pile of musl patches.
> > >
> > > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > > ---
> > >  ...f0a2af3f62acd446ebec8081b039b72caad8.patch | 179 --------------
> > >  ...d25119a495009ea62f79e5daec34cc464628.patch |  53 ----
> > >  ...md-boot_247.6.bb => systemd-boot_248.3.bb} |   0
> > >  meta/recipes-core/systemd/systemd.inc         |   6 +-
> > >  ...ve-executable-path-if-it-is-relative.patch |  39 ---
> > >  ...chvt-as-non-root-user-without-polkit.patch | 227
> ------------------
> > >  ...002-don-t-use-glibc-specific-qsort_r.patch |  29 ++-
> > >  ...dd-__compare_fn_t-and-comparison_fn_.patch |  26 +-
> > >  ...k-parse_printf_format-implementation.patch |  46 ++--
> > >  ...missing.h-check-for-missing-strndupa.patch | 204 ++++++++++++----
> > >  .../0006-Include-netinet-if_ether.h.patch     |  56 +++--
> > >  ...OB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch |  17 +-
> > >  ...008-add-missing-FTW_-macros-for-musl.patch |   8 +-
> > >  ..._register_atfork-for-non-glibc-build.patch |  12 +-
> > >  ...10-Use-uintmax_t-for-handling-rlim_t.patch |  18 +-
> > >  ...sable-tests-for-missing-typedefs-in-.patch |   9 +-
> > >  ...T_SYMLINK_NOFOLLOW-flag-to-faccessat.patch |  19 +-
> > >  ...patible-basename-for-non-glibc-syste.patch |  11 +-
> > >  ...uffering-when-writing-to-oom_score_a.patch |  12 +-
> > >  ...compliant-strerror_r-from-GNU-specif.patch |  46 ++--
> > >  ...S_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch |   8 +-
> > >  ...ype.h-add-__compar_d_fn_t-definition.patch |   8 +-
> > >  ...definition-of-prctl_mm_map-structure.patch |   8 +-
> > >  .../systemd/0019-Handle-missing-LOCK_EX.patch |  10 +-
> > >  ...ible-pointer-type-struct-sockaddr_un.patch |  12 +-
> > >  .../0021-test-json.c-define-M_PIl.patch       |   8 +-
> > >  ...-not-disable-buffer-in-writing-files.patch | 116 ++++-----
> > >  .../0025-Handle-__cpu_mask-usage.patch        |   8 +-
> > >  .../systemd/0026-Handle-missing-gshadow.patch |  20 +-
> > >  ...r-mount-error-with-invalid-options-o.patch |  97 --------
> > >  ...l.h-Define-MIPS-ABI-defines-for-musl.patch |  16 +-
> > >  .../{systemd_247.6.bb => systemd_248.3.bb}    |  11 +-
> > >  32 files changed, 388 insertions(+), 951 deletions(-)
> > >  delete mode 100644 meta/recipes-core/systemd/files/
> 48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > >  delete mode 100644 meta/recipes-core/systemd/files/
> 7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > >  rename meta/recipes-core/systemd/{systemd-boot_247.6.bb =>
> systemd-boot_248.3.bb} (100%)
> > >  delete mode 100644 meta/recipes-core/systemd/
> systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > >  delete mode 100644 meta/recipes-core/systemd/
> systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> > >  delete mode 100644 meta/recipes-core/systemd/systemd/0027-proc-dont-
> trigger-mount-error-with-invalid-options-o.patch
> > >  rename meta/recipes-core/systemd/{systemd_247.6.bb =>
> systemd_248.3.bb} (99%)
> > >
> > > diff --git a/meta/recipes-core/systemd/files/
> 48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> b/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b0
> 39b72caad8.patch
> > > deleted file mode 100644
> > > index e3ce296741..0000000000
> > > --- a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b0
> 39b72caad8.patch
> > > +++ /dev/null
> > > @@ -1,179 +0,0 @@
> > > -From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00
> 2001
> > > -From: Daan De Meyer <daan.j.demeyer@gmail.com>
> > > -Date: Fri, 12 Mar 2021 22:09:44 +0000
> > > -Subject: [PATCH] boot: Move console declarations to missing_efi.h
> > > -
> > > -These were added to eficonex.h in gnu-efi 3.0.13. Let's move them
> > > -to missing_efi.h behind an appropriate guard to fix the build with
> > > -recent versions of gnu-efi.
> > > -
> > > -(cherry picked from commit 95ba433a5f34baf92921fb58051bc8241f908c0e)
> > > -
> > > -Upstream-Status: Backport
> > > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > > ----
> > > - src/boot/efi/console.c     | 57 --------------------------------
> > > - src/boot/efi/console.h     |  6 +---
> > > - src/boot/efi/missing_efi.h | 67 ++++++++++++++++++++++++++++++
> ++++++++
> > > - 3 files changed, 68 insertions(+), 62 deletions(-)
> > > -
> > > -diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
> > > -index 2dd4543d51..1d6dfeeea2 100644
> > > ---- a/src/boot/efi/console.c
> > > -+++ b/src/boot/efi/console.c
> > > -@@ -9,63 +9,6 @@
> > > - #define SYSTEM_FONT_WIDTH 8
> > > - #define SYSTEM_FONT_HEIGHT 19
> > > -
> > > --#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
> > > --        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85,
> 0x17, 0xa6, 0x25, 0xaa } }
> > > --
> > > --struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > --        BOOLEAN ExtendedVerification
> > > --);
> > > --
> > > --typedef UINT8 EFI_KEY_TOGGLE_STATE;
> > > --
> > > --typedef struct {
> > > --        UINT32 KeyShiftState;
> > > --        EFI_KEY_TOGGLE_STATE KeyToggleState;
> > > --} EFI_KEY_STATE;
> > > --
> > > --typedef struct {
> > > --        EFI_INPUT_KEY Key;
> > > --        EFI_KEY_STATE KeyState;
> > > --} EFI_KEY_DATA;
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > --        EFI_KEY_DATA *KeyData
> > > --);
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > --        EFI_KEY_TOGGLE_STATE *KeyToggleState
> > > --);
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
> > > --        EFI_KEY_DATA *KeyData
> > > --);
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > --        EFI_KEY_DATA KeyData,
> > > --        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
> > > --        VOID **NotifyHandle
> > > --);
> > > --
> > > --typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > --        VOID *NotificationHandle
> > > --);
> > > --
> > > --typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
> > > --        EFI_INPUT_RESET_EX Reset;
> > > --        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
> > > --        EFI_EVENT WaitForKeyEx;
> > > --        EFI_SET_STATE SetState;
> > > --        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
> > > --        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
> > > --} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > > --
> > > - EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
> > > -         EFI_GUID EfiSimpleTextInputExProtocolGuid =
> EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
> > > -         static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
> > > -diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
> > > -index 41df3a406e..2c69af552a 100644
> > > ---- a/src/boot/efi/console.h
> > > -+++ b/src/boot/efi/console.h
> > > -@@ -1,11 +1,7 @@
> > > - /* SPDX-License-Identifier: LGPL-2.1-or-later */
> > > - #pragma once
> > > -
> > > --#define EFI_SHIFT_STATE_VALID           0x80000000
> > > --#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
> > > --#define EFI_LEFT_CONTROL_PRESSED        0x00000008
> > > --#define EFI_RIGHT_ALT_PRESSED           0x00000010
> > > --#define EFI_LEFT_ALT_PRESSED            0x00000020
> > > -+#include "missing_efi.h"
> > > -
> > > - #define EFI_CONTROL_PRESSED             (EFI_RIGHT_CONTROL_PRESSED|
> EFI_LEFT_CONTROL_PRESSED)
> > > - #define EFI_ALT_PRESSED                 (EFI_RIGHT_ALT_PRESSED|EFI_
> LEFT_ALT_PRESSED)
> > > -diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h
> > > -index 1b838af2a4..b6aae1eb5b 100644
> > > ---- a/src/boot/efi/missing_efi.h
> > > -+++ b/src/boot/efi/missing_efi.h
> > > -@@ -53,3 +53,70 @@ typedef struct _EFI_RNG_PROTOCOL {
> > > - } EFI_RNG_PROTOCOL;
> > > -
> > > - #endif
> > > -+
> > > -+#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
> > > -+
> > > -+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
> > > -+        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85,
> 0x17, 0xa6, 0x25, 0xaa } }
> > > -+
> > > -+#define EFI_SHIFT_STATE_VALID           0x80000000
> > > -+#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
> > > -+#define EFI_LEFT_CONTROL_PRESSED        0x00000008
> > > -+#define EFI_RIGHT_ALT_PRESSED           0x00000010
> > > -+#define EFI_LEFT_ALT_PRESSED            0x00000020
> > > -+
> > > -+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > -+        BOOLEAN ExtendedVerification
> > > -+);
> > > -+
> > > -+typedef UINT8 EFI_KEY_TOGGLE_STATE;
> > > -+
> > > -+typedef struct {
> > > -+        UINT32 KeyShiftState;
> > > -+        EFI_KEY_TOGGLE_STATE KeyToggleState;
> > > -+} EFI_KEY_STATE;
> > > -+
> > > -+typedef struct {
> > > -+        EFI_INPUT_KEY Key;
> > > -+        EFI_KEY_STATE KeyState;
> > > -+} EFI_KEY_DATA;
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > -+        EFI_KEY_DATA *KeyData
> > > -+);
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > -+        EFI_KEY_TOGGLE_STATE *KeyToggleState
> > > -+);
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
> > > -+        EFI_KEY_DATA *KeyData
> > > -+);
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > -+        EFI_KEY_DATA KeyData,
> > > -+        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
> > > -+        VOID **NotifyHandle
> > > -+);
> > > -+
> > > -+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > > -+        VOID *NotificationHandle
> > > -+);
> > > -+
> > > -+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
> > > -+        EFI_INPUT_RESET_EX Reset;
> > > -+        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
> > > -+        EFI_EVENT WaitForKeyEx;
> > > -+        EFI_SET_STATE SetState;
> > > -+        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
> > > -+        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
> > > -+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > > -+
> > > -+#endif
> > > diff --git a/meta/recipes-core/systemd/files/
> 7c5fd25119a495009ea62f79e5daec34cc464628.patch
> b/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec
> 34cc464628.patch
> > > deleted file mode 100644
> > > index ae449791f1..0000000000
> > > --- a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec
> 34cc464628.patch
> > > +++ /dev/null
> > > @@ -1,53 +0,0 @@
> > > -From 7c5fd25119a495009ea62f79e5daec34cc464628 Mon Sep 17 00:00:00
> 2001
> > > -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <
> zbyszek@in.waw.pl>
> > > -Date: Mon, 12 Apr 2021 14:03:32 +0200
> > > -Subject: [PATCH] meson: do not fail if rsync is not installed with
> meson
> > > - 0.57.2
> > > -
> > > -https://github.com/mesonbuild/meson/issues/8641
> > > -
> > > -Our CI started to fail. Even if the change is reverted in meson,
> > > -we need a quick workaround here.
> > > -
> > > -Upstream-Status: Backport
> > > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > > ----
> > > - man/meson.build | 25 ++++++++++++++-----------
> > > - 1 file changed, 14 insertions(+), 11 deletions(-)
> > > -
> > > -diff --git a/man/meson.build b/man/meson.build
> > > -index 3cae8446cda..f9c4b83dc81 100644
> > > ---- a/man/meson.build
> > > -+++ b/man/meson.build
> > > -@@ -184,17 +184,20 @@ html = custom_target(
> > > -         depends : html_pages,
> > > -         command : ['echo'])
> > > -
> > > --run_target(
> > > --        'doc-sync',
> > > --        depends : man_pages + html_pages,
> > > --        command : ['rsync', '-rlv',
> > > --                   '--delete-excluded',
> > > --                   '--include=man',
> > > --                   '--include=*.html',
> > > --                   '--exclude=*',
> > > --                   '--omit-dir-times',
> > > --                   meson.current_build_dir(),
> > > --                   get_option('www-target')])
> > > -+rsync = find_program('rsync', required : false)
> > > -+if rsync.found()
> > > -+        run_target(
> > > -+                'doc-sync',
> > > -+                depends : man_pages + html_pages,
> > > -+                command : [rsync, '-rlv',
> > > -+                           '--delete-excluded',
> > > -+                           '--include=man',
> > > -+                           '--include=*.html',
> > > -+                           '--exclude=*',
> > > -+                           '--omit-dir-times',
> > > -+                           meson.current_build_dir(),
> > > -+                           get_option('www-target')])
> > > -+endif
> > > -
> > > - ############################################################
> > > -
> > > diff --git a/meta/recipes-core/systemd/systemd-boot_247.6.bb
> b/meta/recipes-core/systemd/systemd-boot_248.3.bb
> > > similarity index 100%
> > > rename from meta/recipes-core/systemd/systemd-boot_247.6.bb
> > > rename to meta/recipes-core/systemd/systemd-boot_248.3.bb
> > > diff --git a/meta/recipes-core/systemd/systemd.inc
> b/meta/recipes-core/systemd/systemd.inc
> > > index 88dddb309c..0524a25008 100644
> > > --- a/meta/recipes-core/systemd/systemd.inc
> > > +++ b/meta/recipes-core/systemd/systemd.inc
> > > @@ -14,11 +14,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
> > >  LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=
> 751419260aa954499f7abaabaa882bbe \
> > >                      file://LICENSE.LGPL2.1;md5=
> 4fbd65380cdd255951079008b364516c"
> > >
> > > -SRCREV = "17472dca0160cbe7b807ca648475fd70d0d62fe5"
> > > -SRCBRANCH = "v247-stable"
> > > +SRCREV = "37c4cfde0ce613f0f00544d3f4e2e72bf93d9c76"
> > > +SRCBRANCH = "v248-stable"
> > >  SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=
> git;branch=${SRCBRANCH}
> <http://github.com/systemd/systemd-stable.git;protocol=git;branch=$%7BSRCBRANCH%7D>
> \
> > > -           file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \
> > > -           file://48fff0a2af3f62acd446ebec8081b039b72caad8.patch \
> > >  "
> > >
> > >  S = "${WORKDIR}/git"
> > > diff --git a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-
> executable-path-if-it-is-relative.patch b/meta/recipes-core/systemd/
> systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
> > > deleted file mode 100644
> > > index fd7f94a61d..0000000000
> > > --- a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-
> executable-path-if-it-is-relative.patch
> > > +++ /dev/null
> > > @@ -1,39 +0,0 @@
> > > -From b9b7a8e3825f0433e120f7a6d7d5d635a839cab9 Mon Sep 17 00:00:00
> 2001
> > > -From: Mingli Yu <mingli.yu@windriver.com>
> > > -Date: Thu, 21 Jan 2021 06:19:44 +0000
> > > -Subject: [PATCH] analyze: resolve executable path if it is relative
> > > -
> > > -Upstream-Status: Backport [https://github.com/systemd/systemd/commit/
> f1fb046a985521f7d4a662f02546686ff20b7e5d]
> > > -
> > > -Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> > > ----
> > > - src/analyze/analyze-verify.c | 7 +++++--
> > > - 1 file changed, 5 insertions(+), 2 deletions(-)
> > > -
> > > -diff --git a/src/analyze/analyze-verify.c
> b/src/analyze/analyze-verify.c
> > > -index a9c89173bf..969523df18 100644
> > > ---- a/src/analyze/analyze-verify.c
> > > -+++ b/src/analyze/analyze-verify.c
> > > -@@ -115,14 +115,17 @@ static int verify_socket(Unit *u) {
> > > - }
> > > -
> > > - int verify_executable(Unit *u, const ExecCommand *exec) {
> > > -+        int r;
> > > -+
> > > -         if (!exec)
> > > -                 return 0;
> > > -
> > > -         if (exec->flags & EXEC_COMMAND_IGNORE_FAILURE)
> > > -                 return 0;
> > > -
> > > --        if (access(exec->path, X_OK) < 0)
> > > --                return log_unit_error_errno(u, errno, "Command %s is
> not executable: %m", exec->path);
> > > -+        r = find_executable_full(exec->path, false, NULL);
> > > -+        if (r < 0)
> > > -+                return log_unit_error_errno(u, r, "Command %s is not
> executable: %m", exec->path);
> > > -
> > > -         return 0;
> > > - }
> > > ---
> > > -2.26.2
> > > -
> > > diff --git a/meta/recipes-core/systemd/systemd/0001-logind-Restore-
> chvt-as-non-root-user-without-polkit.patch b/meta/recipes-core/systemd/
> systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> > > deleted file mode 100644
> > > index 89ef39bc3e..0000000000
> > > --- a/meta/recipes-core/systemd/systemd/0001-logind-Restore-
> chvt-as-non-root-user-without-polkit.patch
> > > +++ /dev/null
> > > @@ -1,227 +0,0 @@
> > > -From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00
> 2001
> > > -From: Joshua Watt <JPEWhacker@gmail.com>
> > > -Date: Fri, 30 Oct 2020 08:15:43 -0500
> > > -Subject: [PATCH] logind: Restore chvt as non-root user without polkit
> > > -
> > > -4acf0cfd2f ("logind: check PolicyKit before allowing VT switch") broke
> > > -the ability to write user sessions that run graphical sessions (e.g.
> > > -weston/X11). This was partially amended in 19bb87fbfa ("login: allow
> > > -non-console sessions to change vt") by changing the default PolicyKit
> > > -policy so that non-root users are again allowed to switch the VT. This
> > > -makes the policy when PolKit is not enabled (as on many embedded
> > > -systems) match the default PolKit policy and allows launching
> graphical
> > > -sessions as a non-root user.
> > > -
> > > -Closes #17473
> > > ----
> > > - src/login/logind-dbus.c         | 11 ++-------
> > > - src/login/logind-polkit.c       | 26 +++++++++++++++++++++
> > > - src/login/logind-polkit.h       | 10 ++++++++
> > > - src/login/logind-seat-dbus.c    | 41 ++++--------------------------
> ---
> > > - src/login/logind-session-dbus.c | 11 ++-------
> > > - src/login/meson.build           |  1 +
> > > - 6 files changed, 46 insertions(+), 54 deletions(-)
> > > - create mode 100644 src/login/logind-polkit.c
> > > - create mode 100644 src/login/logind-polkit.h
> > > -
> > > -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
> > > -index 0f83ed99bc..a3765d88ba 100644
> > > ---- a/src/login/logind-dbus.c
> > > -+++ b/src/login/logind-dbus.c
> > > -@@ -30,6 +30,7 @@
> > > - #include "format-util.h"
> > > - #include "fs-util.h"
> > > - #include "logind-dbus.h"
> > > -+#include "logind-polkit.h"
> > > - #include "logind-seat-dbus.h"
> > > - #include "logind-session-dbus.h"
> > > - #include "logind-user-dbus.h"
> > > -@@ -1047,15 +1048,7 @@ static int method_activate_session_on_seat(sd_bus_message
> *message, void *userda
> > > -                 return sd_bus_error_setf(error,
> BUS_ERROR_SESSION_NOT_ON_SEAT,
> > > -                                          "Session %s not on seat
> %s", session_name, seat_name);
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &m->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, m, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c
> > > -new file mode 100644
> > > -index 0000000000..9072570cc6
> > > ---- /dev/null
> > > -+++ b/src/login/logind-polkit.c
> > > -@@ -0,0 +1,26 @@
> > > -+/* SPDX-License-Identifier: LGPL-2.1+ */
> > > -+
> > > -+#include "bus-polkit.h"
> > > -+#include "logind-polkit.h"
> > > -+#include "missing_capability.h"
> > > -+#include "user-util.h"
> > > -+
> > > -+int check_polkit_chvt(sd_bus_message *message, Manager *manager,
> sd_bus_error *error) {
> > > -+#if ENABLE_POLKIT
> > > -+        return bus_verify_polkit_async(
> > > -+                        message,
> > > -+                        CAP_SYS_ADMIN,
> > > -+                        "org.freedesktop.login1.chvt",
> > > -+                        NULL,
> > > -+                        false,
> > > -+                        UID_INVALID,
> > > -+                        &manager->polkit_registry,
> > > -+                        error);
> > > -+#else
> > > -+        /* Allow chvt when polkit is not present. This allows a
> service to start a graphical session as a
> > > -+         * non-root user when polkit is not compiled in, matching
> the default polkit policy */
> > > -+        return 1;
> > > -+#endif
> > > -+}
> > > -+
> > > -+
> > > -diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h
> > > -new file mode 100644
> > > -index 0000000000..476c077a8a
> > > ---- /dev/null
> > > -+++ b/src/login/logind-polkit.h
> > > -@@ -0,0 +1,10 @@
> > > -+/* SPDX-License-Identifier: LGPL-2.1+ */
> > > -+#pragma once
> > > -+
> > > -+#include "sd-bus.h"
> > > -+
> > > -+#include "bus-object.h"
> > > -+#include "logind.h"
> > > -+
> > > -+int check_polkit_chvt(sd_bus_message *message, Manager *manager,
> sd_bus_error *error);
> > > -+
> > > -diff --git a/src/login/logind-seat-dbus.c
> b/src/login/logind-seat-dbus.c
> > > -index a945132284..f22e9e2734 100644
> > > ---- a/src/login/logind-seat-dbus.c
> > > -+++ b/src/login/logind-seat-dbus.c
> > > -@@ -9,6 +9,7 @@
> > > - #include "bus-polkit.h"
> > > - #include "bus-util.h"
> > > - #include "logind-dbus.h"
> > > -+#include "logind-polkit.h"
> > > - #include "logind-seat-dbus.h"
> > > - #include "logind-seat.h"
> > > - #include "logind-session-dbus.h"
> > > -@@ -179,15 +180,7 @@ static int method_activate_session(sd_bus_message
> *message, void *userdata, sd_b
> > > -         if (session->seat != s)
> > > -                 return sd_bus_error_setf(error,
> BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id);
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &s->manager->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, s->manager, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message
> *message, void *userdata, sd_bus_erro
> > > -         if (to <= 0)
> > > -                 return sd_bus_error_setf(error,
> SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal");
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &s->manager->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, s->manager, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message
> *message, void *userdata, sd_bus
> > > -         assert(message);
> > > -         assert(s);
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &s->manager->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, s->manager, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_message
> *message, void *userdata, sd
> > > -         assert(message);
> > > -         assert(s);
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &s->manager->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, s->manager, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -diff --git a/src/login/logind-session-dbus.c
> b/src/login/logind-session-dbus.c
> > > -index ccc5ac8df2..57c8a4e900 100644
> > > ---- a/src/login/logind-session-dbus.c
> > > -+++ b/src/login/logind-session-dbus.c
> > > -@@ -11,6 +11,7 @@
> > > - #include "fd-util.h"
> > > - #include "logind-brightness.h"
> > > - #include "logind-dbus.h"
> > > -+#include "logind-polkit.h"
> > > - #include "logind-seat-dbus.h"
> > > - #include "logind-session-dbus.h"
> > > - #include "logind-session-device.h"
> > > -@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message
> *message, void *userdata, sd_bus_
> > > -         assert(message);
> > > -         assert(s);
> > > -
> > > --        r = bus_verify_polkit_async(
> > > --                        message,
> > > --                        CAP_SYS_ADMIN,
> > > --                        "org.freedesktop.login1.chvt",
> > > --                        NULL,
> > > --                        false,
> > > --                        UID_INVALID,
> > > --                        &s->manager->polkit_registry,
> > > --                        error);
> > > -+        r = check_polkit_chvt(message, s->manager, error);
> > > -         if (r < 0)
> > > -                 return r;
> > > -         if (r == 0)
> > > -diff --git a/src/login/meson.build b/src/login/meson.build
> > > -index 0a7d3d5440..7e46be2add 100644
> > > ---- a/src/login/meson.build
> > > -+++ b/src/login/meson.build
> > > -@@ -26,6 +26,7 @@ liblogind_core_sources = files('''
> > > -         logind-device.h
> > > -         logind-inhibit.c
> > > -         logind-inhibit.h
> > > -+        logind-polkit.c
> > > -         logind-seat-dbus.c
> > > -         logind-seat-dbus.h
> > > -         logind-seat.c
> > > ---
> > > -2.28.0
> > > -
> > > diff --git a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
> b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-
> specific-qsort_r.patch
> > > index d856bcb583..4cdf66e767 100644
> > > --- a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-
> specific-qsort_r.patch
> > > +++ b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-
> specific-qsort_r.patch
> > > @@ -1,7 +1,7 @@
> > > -From 66ece0b870b3a34fdabc48b88437e6cc354e9fce Mon Sep 17 00:00:00
> 2001
> > > +From 159c53612444ec1df492bae528a5a88a275b93bf Mon Sep 17 00:00:00
> 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 13:41:41 +0800
> > > -Subject: [PATCH 02/26] don't use glibc-specific qsort_r
> > > +Subject: [PATCH] don't use glibc-specific qsort_r
> > >
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > > @@ -12,6 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> > >  [Rebased for v247]
> > >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > > +
> > >  ---
> > >   src/basic/sort-util.h              | 14 ------------
> > >   src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++-----
> > > @@ -19,14 +20,13 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   3 files changed, 38 insertions(+), 31 deletions(-)
> > >
> > >  diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
> > > -index 1d194a1f04..3394c9eb72 100644
> > > +index 49586a4a24..d92a5ab0ed 100644
> > >  --- a/src/basic/sort-util.h
> > >  +++ b/src/basic/sort-util.h
> > > -@@ -54,17 +54,3 @@ static inline void _qsort_safe(void *base, size_t
> nmemb, size_t size, __compar_f
> > > -                 int (*_func_)(const typeof(p[0])*, const
> typeof(p[0])*) = func; \
> > > +@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, size_t
> nmemb, size_t size, __compar_f
> > >                   _qsort_safe((p), (n), sizeof((p)[0]),
> (__compar_fn_t) _func_); \
> > >           })
> > > --
> > > +
> > >  -static inline void qsort_r_safe(void *base, size_t nmemb, size_t
> size, __compar_d_fn_t compar, void *userdata) {
> > >  -        if (nmemb <= 1)
> > >  -                return;
> > > @@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644
> > >  -                int (*_func_)(const typeof(p[0])*, const
> typeof(p[0])*, typeof(userdata)) = func; \
> > >  -                qsort_r_safe((p), (n), sizeof((p)[0]),
> (__compar_d_fn_t) _func_, userdata); \
> > >  -        })
> > > +-
> > > + int cmp_int(const int *a, const int *b);
> > >  diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c
> b/src/libsystemd/sd-hwdb/hwdb-util.c
> > > -index 4c94ba9c88..95495dba6d 100644
> > > +index fd45ff0f54..ac4b63c49b 100644
> > >  --- a/src/libsystemd/sd-hwdb/hwdb-util.c
> > >  +++ b/src/libsystemd/sd-hwdb/hwdb-util.c
> > > -@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) {
> > > +@@ -126,9 +126,13 @@ static struct trie* trie_free(struct trie *trie)
> {
> > >
> > >   DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
> > >
> > > @@ -85,10 +87,10 @@ index 4c94ba9c88..95495dba6d 100644
> > >   }
> > >
> > >  diff --git a/src/shared/format-table.c b/src/shared/format-table.c
> > > -index a13a198b7a..bce10bc607 100644
> > > +index dccb796b26..c3ab8ac296 100644
> > >  --- a/src/shared/format-table.c
> > >  +++ b/src/shared/format-table.c
> > > -@@ -1243,30 +1243,32 @@ static int cell_data_compare(TableData *a,
> size_t index_a, TableData *b, size_t
> > > +@@ -1290,30 +1290,32 @@ static int cell_data_compare(TableData *a,
> size_t index_a, TableData *b, size_t
> > >           return CMP(index_a, index_b);
> > >   }
> > >
> > > @@ -131,7 +133,7 @@ index a13a198b7a..bce10bc607 100644
> > >           }
> > >
> > >           /* Order identical lines by the order there were originally
> added in */
> > > -@@ -1844,7 +1846,12 @@ int table_print(Table *t, FILE *f) {
> > > +@@ -1952,7 +1954,12 @@ int table_print(Table *t, FILE *f) {
> > >                   for (size_t i = 0; i < n_rows; i++)
> > >                           sorted[i] = i * t->n_columns;
> > >
> > > @@ -145,7 +147,7 @@ index a13a198b7a..bce10bc607 100644
> > >           }
> > >
> > >           if (t->display_map)
> > > -@@ -2440,7 +2447,12 @@ int table_to_json(Table *t, JsonVariant **ret)
> {
> > > +@@ -2580,7 +2587,12 @@ int table_to_json(Table *t, JsonVariant **ret)
> {
> > >                   for (size_t i = 0; i < n_rows; i++)
> > >                           sorted[i] = i * t->n_columns;
> > >
> > > @@ -159,6 +161,3 @@ index a13a198b7a..bce10bc607 100644
> > >           }
> > >
> > >           if (t->display_map)
> > > ---
> > > -2.27.0
> > > -
> > > diff --git a/meta/recipes-core/systemd/systemd/0003-missing_type.h-
> add-__compare_fn_t-and-comparison_fn_.patch b/meta/recipes-core/systemd/
> systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
> > > index f43a22aa8b..9b1768d9ca 100644
> > > --- a/meta/recipes-core/systemd/systemd/0003-missing_type.h-
> add-__compare_fn_t-and-comparison_fn_.patch
> > > +++ b/meta/recipes-core/systemd/systemd/0003-missing_type.h-
> add-__compare_fn_t-and-comparison_fn_.patch
> > > @@ -1,7 +1,7 @@
> > > -From 9f0d5996bbb2db3679a4075fa8301750b786c03b Mon Sep 17 00:00:00
> 2001
> > > +From 4afb8adc83348bf75964fc10af7902e04dd62637 Mon Sep 17 00:00:00
> 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 13:55:12 +0800
> > > -Subject: [PATCH 03/26] missing_type.h: add __compare_fn_t and
> comparison_fn_t
> > > +Subject: [PATCH] missing_type.h: add __compare_fn_t and
> comparison_fn_t
> > >
> > >  Make it work with musl where comparison_fn_t and __compare_fn_t
> > >  is not provided.
> > > @@ -13,11 +13,12 @@ Signed-off-by: Alex Kiernan <
> alex.kiernan@gmail.com>
> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  [Rebased for v242]
> > >  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> > > +
> > >  ---
> > > - src/basic/missing_type.h | 9 +++++++++
> > > - src/basic/sort-util.h    | 1 +
> > > - src/core/kmod-setup.c    | 1 +
> > > - src/journal/catalog.c    | 1 +
> > > + src/basic/missing_type.h            | 9 +++++++++
> > > + src/basic/sort-util.h               | 1 +
> > > + src/core/kmod-setup.c               | 1 +
> > > + src/libsystemd/sd-journal/catalog.c | 1 +
> > >   4 files changed, 12 insertions(+)
> > >
> > >  diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
> > > @@ -38,7 +39,7 @@ index f6233090a9..aeaf6ad5ec 100644
> > >  +typedef int (*__compar_fn_t)(const void *, const void *);
> > >  +#endif
> > >  diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
> > > -index 3394c9eb72..d9cb2aecb6 100644
> > > +index d92a5ab0ed..a63867c716 100644
> > >  --- a/src/basic/sort-util.h
> > >  +++ b/src/basic/sort-util.h
> > >  @@ -4,6 +4,7 @@
> > > @@ -61,10 +62,10 @@ index 8a7f82812a..a56f12f47f 100644
> > >
> > >   #if HAVE_KMOD
> > >   #include "module-util.h"
> > > -diff --git a/src/journal/catalog.c b/src/journal/catalog.c
> > > -index 0f6ad8a29e..4e1077ade4 100644
> > > ---- a/src/journal/catalog.c
> > > -+++ b/src/journal/catalog.c
> > > +diff --git a/src/libsystemd/sd-journal/catalog.c
> b/src/libsystemd/sd-journal/catalog.c
> > > +index aea3241d18..75e6c56a28 100644
> > > +--- a/src/libsystemd/sd-journal/catalog.c
> > > ++++ b/src/libsystemd/sd-journal/catalog.c
> > >  @@ -28,6 +28,7 @@
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > > @@ -73,6 +74,3 @@ index 0f6ad8a29e..4e1077ade4 100644
> > >
> > >   const char * const catalog_file_dirs[] = {
> > >           "/usr/local/lib/systemd/catalog/",
> > > ---
> > > -2.27.0
> > > -
> > > diff --git a/meta/recipes-core/systemd/systemd/0004-add-fallback-
> parse_printf_format-implementation.patch b/meta/recipes-core/systemd/
> systemd/0004-add-fallback-parse_printf_format-implementation.patch
> > > index bdd64a0252..dc40a2fe8d 100644
> > > --- a/meta/recipes-core/systemd/systemd/0004-add-fallback-
> parse_printf_format-implementation.patch
> > > +++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-
> parse_printf_format-implementation.patch
> > > @@ -1,7 +1,7 @@
> > > -From f3dbe29f7620a063af4d8eb3ea7c48ecd410200d Mon Sep 17 00:00:00
> 2001
> > > -From: Chen Qi <Qi.Chen@windriver.com>
> > > -Date: Mon, 25 Feb 2019 14:04:21 +0800
> > > -Subject: [PATCH 04/26] add fallback parse_printf_format implementation
> > > +From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00:00:00
> 2001
> > > +From: Alexander Kanavin <alex.kanavin@gmail.com>
> > > +Date: Sat, 22 May 2021 20:26:24 +0200
> > > +Subject: [PATCH] [PATCH] add fallback parse_printf_format
> implementation
> > >
> > >  Upstream-Status: Inappropriate [musl specific]
> > >
> > > @@ -11,21 +11,21 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  [rebased for systemd 243]
> > >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > >  ---
> > > - meson.build                     |   1 +
> > > - src/basic/meson.build           |   5 +
> > > - src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++
> ++
> > > - src/basic/parse-printf-format.h |  57 +++++++
> > > - src/basic/stdio-util.h          |   2 +-
> > > - src/journal/journal-send.c      |   2 +-
> > > + meson.build                              |   1 +
> > > + src/basic/meson.build                    |   5 +
> > > + src/basic/parse-printf-format.c          | 273
> +++++++++++++++++++++++
> > > + src/basic/parse-printf-format.h          |  57 +++++
> > > + src/basic/stdio-util.h                   |   2 +-
> > > + src/libsystemd/sd-journal/journal-send.c |   2 +-
> > >   6 files changed, 338 insertions(+), 2 deletions(-)
> > >   create mode 100644 src/basic/parse-printf-format.c
> > >   create mode 100644 src/basic/parse-printf-format.h
> > >
> > >  diff --git a/meson.build b/meson.build
> > > -index f406d595e6..6aa47fc755 100644
> > > +index 27186d63a3..2abb7b3188 100644
> > >  --- a/meson.build
> > >  +++ b/meson.build
> > > -@@ -646,6 +646,7 @@ endif
> > > +@@ -675,6 +675,7 @@ endif
> > >   foreach header : ['crypt.h',
> > >                     'linux/memfd.h',
> > >                     'linux/vm_sockets.h',
> > > @@ -34,21 +34,21 @@ index f406d595e6..6aa47fc755 100644
> > >                     'valgrind/memcheck.h',
> > >                     'valgrind/valgrind.h',
> > >  diff --git a/src/basic/meson.build b/src/basic/meson.build
> > > -index 1183ea83ad..aa5c958850 100644
> > > +index 60ef801a25..aba2172edd 100644
> > >  --- a/src/basic/meson.build
> > >  +++ b/src/basic/meson.build
> > > -@@ -322,6 +322,11 @@ foreach item : [['af',     af_list_txt,
>  'af',         ''],
> > > - endforeach
> > > +@@ -341,6 +341,11 @@ endforeach
> > >
> > >   basic_sources += generated_gperf_headers
> > > -+
> > > +
> > >  +if conf.get('HAVE_PRINTF_H') != 1
> > >  +        basic_sources += [files('parse-printf-format.c')]
> > >  +endif
> > >  +
> > > - basic_gcrypt_sources = files(
> > > -         'gcrypt-util.c',
> > > -         'gcrypt-util.h')
> > > ++
> > > + ############################################################
> > > +
> > > + arch_list = [
> > >  diff --git a/src/basic/parse-printf-format.c
> b/src/basic/parse-printf-format.c
> > >  new file mode 100644
> > >  index 0000000000..49437e5445
> > > @@ -410,10 +410,10 @@ index 6dc1e72312..cea76b36cf 100644
> > >
> > >   #define snprintf_ok(buf, len, fmt, ...) \
> > >           ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
> > > -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
> > > +diff --git a/src/libsystemd/sd-journal/journal-send.c
> b/src/libsystemd/sd-journal/journal-send.c
> > >  index fd3fd7ef9c..e8e6ad555b 100644
> > > ---- a/src/journal/journal-send.c
> > > -+++ b/src/journal/journal-send.c
> > > +--- a/src/libsystemd/sd-journal/journal-send.c
> > > ++++ b/src/libsystemd/sd-journal/journal-send.c
> > >  @@ -2,7 +2,6 @@
> > >
> > >   #include <errno.h>
> > > @@ -431,5 +431,5 @@ index fd3fd7ef9c..e8e6ad555b 100644
> > >   #define SNDBUF_SIZE (8*1024*1024)
> > >
> > >  --
> > > -2.27.0
> > > +2.24.0
> > >
> > > diff --git a/meta/recipes-core/systemd/systemd/0005-src-basic-
> missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/systemd/
> systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
> > > index d63e3c0d09..a0d757b3f3 100644
> > > --- a/meta/recipes-core/systemd/systemd/0005-src-basic-
> missing.h-check-for-missing-strndupa.patch
> > > +++ b/meta/recipes-core/systemd/systemd/0005-src-basic-
> missing.h-check-for-missing-strndupa.patch
> > > @@ -1,7 +1,7 @@
> > > -From 5aeae0ea89f5af74ed5d95bed1d87a03b3801ff0 Mon Sep 17 00:00:00
> 2001
> > > +From 6b0732ac7164914ce16e231e35980b849bdfc4c8 Mon Sep 17 00:00:00
> 2001
> > >  From: Chen Qi <Qi.Chen@windriver.com>
> > >  Date: Mon, 25 Feb 2019 14:18:21 +0800
> > > -Subject: [PATCH 05/26] src/basic/missing.h: check for missing strndupa
> > > +Subject: [PATCH] src/basic/missing.h: check for missing strndupa
> > >
> > >  include missing.h  for definition of strndupa
> > >
> > > @@ -17,6 +17,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > >  [rebased for systemd 244]
> > >  [Rebased for v247]
> > >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > > +
> > >  ---
> > >   meson.build                                |  1 +
> > >   src/backlight/backlight.c                  |  1 +
> > > @@ -25,6 +26,7 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   src/basic/log.c                            |  1 +
> > >   src/basic/missing_stdlib.h                 | 12 ++++++++++++
> > >   src/basic/mkdir.c                          |  1 +
> > > + src/basic/mountpoint-util.c                |  1 +
> > >   src/basic/parse-util.c                     |  1 +
> > >   src/basic/path-lookup.c                    |  1 +
> > >   src/basic/proc-cmdline.c                   |  1 +
> > > @@ -41,12 +43,12 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   src/coredump/coredump-vacuum.c             |  1 +
> > >   src/journal-remote/journal-remote-main.c   |  1 +
> > >   src/journal/journalctl.c                   |  1 +
> > > - src/journal/sd-journal.c                   |  1 +
> > >   src/libsystemd/sd-bus/bus-message.c        |  1 +
> > >   src/libsystemd/sd-bus/bus-objects.c        |  1 +
> > >   src/libsystemd/sd-bus/bus-socket.c         |  1 +
> > >   src/libsystemd/sd-bus/sd-bus.c             |  1 +
> > >   src/libsystemd/sd-bus/test-bus-benchmark.c |  1 +
> > > + src/libsystemd/sd-journal/sd-journal.c     |  1 +
> > >   src/locale/keymap-util.c                   |  1 +
> > >   src/login/pam_systemd.c                    |  1 +
> > >   src/network/generator/network-generator.c  |  1 +
> > > @@ -68,18 +70,22 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   src/udev/udev-builtin-path_id.c            |  1 +
> > >   src/udev/udev-event.c                      |  1 +
> > >   src/udev/udev-rules.c                      |  1 +
> > > - 50 files changed, 61 insertions(+)
> > > + 51 files changed, 62 insertions(+)
> > >
> > > +diff --git a/meson.build b/meson.build
> > > +index 2abb7b3188..c97f09062b 100644
> > >  --- a/meson.build
> > >  +++ b/meson.build
> > > -@@ -535,6 +535,7 @@ foreach ident : [
> > > -                                  #include <sys/wait.h>'''],
> > > -         ['mallinfo',          '''#include <malloc.h>'''],
> > > +@@ -550,6 +550,7 @@ foreach ident : [
> > > +         ['execveat',          '''#include <unistd.h>'''],
> > >           ['close_range',       '''#include <unistd.h>'''],
> > > +         ['epoll_pwait2',      '''#include <sys/epoll.h>'''],
> > >  +        ['strndupa' ,         '''#include <string.h>'''],
> > >   ]
> > >
> > >           have = cc.has_function(ident[0], prefix : ident[1], args :
> '-D_GNU_SOURCE')
> > > +diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
> > > +index 86927be62e..a34be158a0 100644
> > >  --- a/src/backlight/backlight.c
> > >  +++ b/src/backlight/backlight.c
> > >  @@ -19,6 +19,7 @@
> > > @@ -90,6 +96,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int help(void) {
> > >           _cleanup_free_ char *link = NULL;
> > > +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
> > > +index 8dd3f8cd95..50c1ae1b2b 100644
> > >  --- a/src/basic/cgroup-util.c
> > >  +++ b/src/basic/cgroup-util.c
> > >  @@ -38,6 +38,7 @@
> > > @@ -100,9 +108,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int cg_enumerate_items(const char *controller, const char
> *path, FILE **_f, const char *item) {
> > >           _cleanup_free_ char *fs = NULL;
> > > +diff --git a/src/basic/env-util.c b/src/basic/env-util.c
> > > +index c110a750a5..e1f091b01e 100644
> > >  --- a/src/basic/env-util.c
> > >  +++ b/src/basic/env-util.c
> > > -@@ -15,6 +15,7 @@
> > > +@@ -18,6 +18,7 @@
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > >   #include "utf8.h"
> > > @@ -110,6 +120,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   /* We follow bash for the character set. Different shells have
> different rules. */
> > >   #define VALID_BASH_ENV_NAME_CHARS               \
> > > +diff --git a/src/basic/log.c b/src/basic/log.c
> > > +index 595db0c395..daff8eb68a 100644
> > >  --- a/src/basic/log.c
> > >  +++ b/src/basic/log.c
> > >  @@ -36,6 +36,7 @@
> > > @@ -120,6 +132,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define SNDBUF_SIZE (8*1024*1024)
> > >
> > > +diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
> > > +index 8c76f93eb2..9068bfb4f0 100644
> > >  --- a/src/basic/missing_stdlib.h
> > >  +++ b/src/basic/missing_stdlib.h
> > >  @@ -11,3 +11,15 @@
> > > @@ -138,6 +152,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >  +    (char *)memcpy(__new, __old, __len); \
> > >  +  })
> > >  +#endif
> > > +diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
> > > +index f91f8f7a08..fb31596216 100644
> > >  --- a/src/basic/mkdir.c
> > >  +++ b/src/basic/mkdir.c
> > >  @@ -14,6 +14,7 @@
> > > @@ -148,9 +164,23 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int mkdir_safe_internal(
> > >                   const char *path,
> > > +diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
> > > +index 1d617e87b2..346f9a47d7 100644
> > > +--- a/src/basic/mountpoint-util.c
> > > ++++ b/src/basic/mountpoint-util.c
> > > +@@ -12,6 +12,7 @@
> > > + #include "missing_stat.h"
> > > + #include "missing_syscall.h"
> > > + #include "mkdir.h"
> > > ++#include "missing_stdlib.h"
> > > + #include "mountpoint-util.h"
> > > + #include "parse-util.h"
> > > + #include "path-util.h"
> > > +diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
> > > +index b79c885dfd..6dabda5691 100644
> > >  --- a/src/basic/parse-util.c
> > >  +++ b/src/basic/parse-util.c
> > > -@@ -22,6 +22,7 @@
> > > +@@ -19,6 +19,7 @@
> > >   #include "stat-util.h"
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > > @@ -158,6 +188,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int parse_boolean(const char *v) {
> > >           if (!v)
> > > +diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
> > > +index e53c2302b1..ca1d40ccbe 100644
> > >  --- a/src/basic/path-lookup.c
> > >  +++ b/src/basic/path-lookup.c
> > >  @@ -15,6 +15,7 @@
> > > @@ -168,6 +200,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int xdg_user_runtime_dir(char **ret, const char *suffix) {
> > >           const char *e;
> > > +diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
> > > +index 410b8a3eb5..f2c4355609 100644
> > >  --- a/src/basic/proc-cmdline.c
> > >  +++ b/src/basic/proc-cmdline.c
> > >  @@ -15,6 +15,7 @@
> > > @@ -178,6 +212,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int proc_cmdline(char **ret) {
> > >           const char *e;
> > > +diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
> > > +index ccab71f7d2..8f9eee8d36 100644
> > >  --- a/src/basic/procfs-util.c
> > >  +++ b/src/basic/procfs-util.c
> > >  @@ -11,6 +11,7 @@
> > > @@ -188,6 +224,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int procfs_tasks_get_limit(uint64_t *ret) {
> > >           _cleanup_free_ char *value = NULL;
> > > +diff --git a/src/basic/selinux-util.c b/src/basic/selinux-util.c
> > > +index ee9e34ed47..96c1e9362d 100644
> > >  --- a/src/basic/selinux-util.c
> > >  +++ b/src/basic/selinux-util.c
> > >  @@ -27,6 +27,7 @@
> > > @@ -197,7 +235,9 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >  +#include "missing_stdlib.h"
> > >
> > >   #if HAVE_SELINUX
> > > - DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free);
> > > + DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(context_t, context_free, NULL);
> > > +diff --git a/src/basic/time-util.c b/src/basic/time-util.c
> > > +index 78d0390a00..47c38ca691 100644
> > >  --- a/src/basic/time-util.c
> > >  +++ b/src/basic/time-util.c
> > >  @@ -27,6 +27,7 @@
> > > @@ -208,6 +248,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static clockid_t map_clock_id(clockid_t c) {
> > >
> > > +diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
> > > +index 97ad1e0cb5..9d60f3cc79 100644
> > >  --- a/src/boot/bless-boot.c
> > >  +++ b/src/boot/bless-boot.c
> > >  @@ -18,6 +18,7 @@
> > > @@ -218,16 +260,20 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static char **arg_path = NULL;
> > >
> > > +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
> > > +index 04d2ba34f3..651ca9412e 100644
> > >  --- a/src/core/dbus-cgroup.c
> > >  +++ b/src/core/dbus-cgroup.c
> > > -@@ -16,6 +16,7 @@
> > > - #include "fileio.h"
> > > +@@ -17,6 +17,7 @@
> > >   #include "limits-util.h"
> > >   #include "path-util.h"
> > > + #include "percent-util.h"
> > >  +#include "missing_stdlib.h"
> > >
> > >   BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax,
> tasks_max_resolve);
> > >
> > > +diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
> > > +index 5239c41d67..0f604efe98 100644
> > >  --- a/src/core/dbus-execute.c
> > >  +++ b/src/core/dbus-execute.c
> > >  @@ -41,6 +41,7 @@
> > > @@ -238,9 +284,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output,
> exec_output, ExecOutput);
> > >   static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input,
> exec_input, ExecInput);
> > > +diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
> > > +index 44a2ccfca0..3926ccfa4a 100644
> > >  --- a/src/core/dbus-util.c
> > >  +++ b/src/core/dbus-util.c
> > > -@@ -7,6 +7,7 @@
> > > +@@ -9,6 +9,7 @@
> > >   #include "unit-printf.h"
> > >   #include "user-util.h"
> > >   #include "unit.h"
> > > @@ -248,16 +296,20 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int bus_property_get_triggered_unit(
> > >                   sd_bus *bus,
> > > +diff --git a/src/core/execute.c b/src/core/execute.c
> > > +index 922913e7af..f82fc294c0 100644
> > >  --- a/src/core/execute.c
> > >  +++ b/src/core/execute.c
> > >  @@ -96,6 +96,7 @@
> > > - #include "unit.h"
> > > + #include "unit-serialize.h"
> > >   #include "user-util.h"
> > >   #include "utmp-wtmp.h"
> > >  +#include "missing_stdlib.h"
> > >
> > >   #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
> > >   #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
> > > +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
> > > +index a56f12f47f..6b8729ef67 100644
> > >  --- a/src/core/kmod-setup.c
> > >  +++ b/src/core/kmod-setup.c
> > >  @@ -11,6 +11,7 @@
> > > @@ -268,6 +320,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #if HAVE_KMOD
> > >   #include "module-util.h"
> > > +diff --git a/src/core/service.c b/src/core/service.c
> > > +index 4c5bfb17fb..8c05f36119 100644
> > >  --- a/src/core/service.c
> > >  +++ b/src/core/service.c
> > >  @@ -41,6 +41,7 @@
> > > @@ -278,6 +332,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX]
> = {
> > >           [SERVICE_DEAD] = UNIT_INACTIVE,
> > > +diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-
> vacuum.c
> > > +index 95c3fca661..d4a9f27b08 100644
> > >  --- a/src/coredump/coredump-vacuum.c
> > >  +++ b/src/coredump/coredump-vacuum.c
> > >  @@ -16,6 +16,7 @@
> > > @@ -288,9 +344,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL)
>      /* 1 MiB */
> > >   #define DEFAULT_MAX_USE_UPPER (uint64_t)
> (4ULL*1024ULL*1024ULL*1024ULL)   /* 4 GiB */
> > > +diff --git a/src/journal-remote/journal-remote-main.c
> b/src/journal-remote/journal-remote-main.c
> > > +index ae1d43756a..24de98c9f3 100644
> > >  --- a/src/journal-remote/journal-remote-main.c
> > >  +++ b/src/journal-remote/journal-remote-main.c
> > > -@@ -22,6 +22,7 @@
> > > +@@ -24,6 +24,7 @@
> > >   #include "stat-util.h"
> > >   #include "string-table.h"
> > >   #include "strv.h"
> > > @@ -298,9 +356,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
> > >   #define CERT_FILE     CERTIFICATE_ROOT "/certs/journal-remote.pem"
> > > +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
> > > +index 76d05c1eee..0beb77b2e5 100644
> > >  --- a/src/journal/journalctl.c
> > >  +++ b/src/journal/journalctl.c
> > > -@@ -73,6 +73,7 @@
> > > +@@ -72,6 +72,7 @@
> > >   #include "unit-name.h"
> > >   #include "user-util.h"
> > >   #include "varlink.h"
> > > @@ -308,19 +368,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
> > >   #define PROCESS_INOTIFY_INTERVAL 1024   /* Every 1,024 messages
> processed */
> > > ---- a/src/journal/sd-journal.c
> > > -+++ b/src/journal/sd-journal.c
> > > -@@ -40,6 +40,7 @@
> > > - #include "string-util.h"
> > > - #include "strv.h"
> > > - #include "syslog-util.h"
> > > -+#include "missing_stdlib.h"
> > > -
> > > - #define JOURNAL_FILES_MAX 7168
> > > -
> > > +diff --git a/src/libsystemd/sd-bus/bus-message.c
> b/src/libsystemd/sd-bus/bus-message.c
> > > +index b25064b672..b3bbe63a91 100644
> > >  --- a/src/libsystemd/sd-bus/bus-message.c
> > >  +++ b/src/libsystemd/sd-bus/bus-message.c
> > > -@@ -21,6 +21,7 @@
> > > +@@ -20,6 +20,7 @@
> > >   #include "strv.h"
> > >   #include "time-util.h"
> > >   #include "utf8.h"
> > > @@ -328,9 +380,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int message_append_basic(sd_bus_message *m, char type, const
> void *p, const void **stored);
> > >
> > > +diff --git a/src/libsystemd/sd-bus/bus-objects.c
> b/src/libsystemd/sd-bus/bus-objects.c
> > > +index bfd42aea7d..daefc56e3e 100644
> > >  --- a/src/libsystemd/sd-bus/bus-objects.c
> > >  +++ b/src/libsystemd/sd-bus/bus-objects.c
> > > -@@ -13,6 +13,7 @@
> > > +@@ -12,6 +12,7 @@
> > >   #include "set.h"
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > > @@ -338,6 +392,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int node_vtable_get_userdata(
> > >                   sd_bus *bus,
> > > +diff --git a/src/libsystemd/sd-bus/bus-socket.c
> b/src/libsystemd/sd-bus/bus-socket.c
> > > +index 832526cc1b..7bff701806 100644
> > >  --- a/src/libsystemd/sd-bus/bus-socket.c
> > >  +++ b/src/libsystemd/sd-bus/bus-socket.c
> > >  @@ -28,6 +28,7 @@
> > > @@ -348,29 +404,47 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define SNDBUF_SIZE (8*1024*1024)
> > >
> > > +diff --git a/src/libsystemd/sd-bus/sd-bus.c
> b/src/libsystemd/sd-bus/sd-bus.c
> > > +index e719c74370..ac2a605680 100644
> > >  --- a/src/libsystemd/sd-bus/sd-bus.c
> > >  +++ b/src/libsystemd/sd-bus/sd-bus.c
> > >  @@ -41,6 +41,7 @@
> > > - #include "process-util.h"
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > > + #include "user-util.h"
> > >  +#include "missing_stdlib.h"
> > >
> > >   #define log_debug_bus_message(m)
>      \
> > >           do {
>      \
> > > +diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c
> b/src/libsystemd/sd-bus/test-bus-benchmark.c
> > > +index 13c08fe295..9aae83486e 100644
> > >  --- a/src/libsystemd/sd-bus/test-bus-benchmark.c
> > >  +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
> > >  @@ -14,6 +14,7 @@
> > > - #include "missing_resource.h"
> > > + #include "string-util.h"
> > >   #include "time-util.h"
> > >   #include "util.h"
> > >  +#include "missing_stdlib.h"
> > >
> > >   #define MAX_SIZE (2*1024*1024)
> > >
> > > +diff --git a/src/libsystemd/sd-journal/sd-journal.c
> b/src/libsystemd/sd-journal/sd-journal.c
> > > +index c90b4c926e..0efdccff5d 100644
> > > +--- a/src/libsystemd/sd-journal/sd-journal.c
> > > ++++ b/src/libsystemd/sd-journal/sd-journal.c
> > > +@@ -40,6 +40,7 @@
> > > + #include "string-util.h"
> > > + #include "strv.h"
> > > + #include "syslog-util.h"
> > > ++#include "missing_stdlib.h"
> > > +
> > > + #define JOURNAL_FILES_MAX 7168
> > > +
> > > +diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
> > > +index d2f0566dbc..3b7746557e 100644
> > >  --- a/src/locale/keymap-util.c
> > >  +++ b/src/locale/keymap-util.c
> > > -@@ -21,6 +21,7 @@
> > > +@@ -24,6 +24,7 @@
> > >   #include "string-util.h"
> > >   #include "strv.h"
> > >   #include "tmpfile-util.h"
> > > @@ -378,6 +452,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static bool startswith_comma(const char *s, const char *prefix) {
> > >           s = startswith(s, prefix);
> > > +diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
> > > +index 2021c31bd5..58eb09808d 100644
> > >  --- a/src/login/pam_systemd.c
> > >  +++ b/src/login/pam_systemd.c
> > >  @@ -31,6 +31,7 @@
> > > @@ -388,6 +464,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   #include "pam-util.h"
> > >   #include "parse-util.h"
> > >   #include "path-util.h"
> > > +diff --git a/src/network/generator/network-generator.c
> b/src/network/generator/network-generator.c
> > > +index ae673ddf5b..a79e5114ca 100644
> > >  --- a/src/network/generator/network-generator.c
> > >  +++ b/src/network/generator/network-generator.c
> > >  @@ -13,6 +13,7 @@
> > > @@ -398,6 +476,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   /*
> > >     # .network
> > > +diff --git a/src/nspawn/nspawn-settings.c
> b/src/nspawn/nspawn-settings.c
> > > +index d4619bead5..0e832fd994 100644
> > >  --- a/src/nspawn/nspawn-settings.c
> > >  +++ b/src/nspawn/nspawn-settings.c
> > >  @@ -16,6 +16,7 @@
> > > @@ -408,19 +488,23 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   Settings *settings_new(void) {
> > >           Settings *s;
> > > +diff --git a/src/nss-mymachines/nss-mymachines.c
> b/src/nss-mymachines/nss-mymachines.c
> > > +index 44715bb3e5..bc1e688b5e 100644
> > >  --- a/src/nss-mymachines/nss-mymachines.c
> > >  +++ b/src/nss-mymachines/nss-mymachines.c
> > > -@@ -19,6 +19,7 @@
> > > +@@ -21,6 +21,7 @@
> > >   #include "nss-util.h"
> > >   #include "signal-util.h"
> > >   #include "string-util.h"
> > >  +#include "missing_stdlib.h"
> > >
> > > - NSS_GETHOSTBYNAME_PROTOTYPES(mymachines);
> > > - NSS_GETPW_PROTOTYPES(mymachines);
> > > + static void setup_logging(void) {
> > > +         /* We need a dummy function because log_parse_environment is
> a macro. */
> > > +diff --git a/src/portable/portable.c b/src/portable/portable.c
> > > +index f201f52531..c78ad0f471 100644
> > >  --- a/src/portable/portable.c
> > >  +++ b/src/portable/portable.c
> > > -@@ -31,6 +31,7 @@
> > > +@@ -32,6 +32,7 @@
> > >   #include "strv.h"
> > >   #include "tmpfile-util.h"
> > >   #include "user-util.h"
> > > @@ -428,9 +512,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static const char profile_dirs[] = CONF_PATHS_NULSTR("systemd/
> portable/profile");
> > >
> > > +diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
> > > +index 52bbae3293..4ccbae09c4 100644
> > >  --- a/src/resolve/resolvectl.c
> > >  +++ b/src/resolve/resolvectl.c
> > > -@@ -37,6 +37,7 @@
> > > +@@ -41,6 +41,7 @@
> > >   #include "terminal-util.h"
> > >   #include "utf8.h"
> > >   #include "verbs.h"
> > > @@ -438,6 +524,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int arg_family = AF_UNSPEC;
> > >   static int arg_ifindex = 0;
> > > +diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-
> properties.c
> > > +index feb6d3807f..eb11d29e50 100644
> > >  --- a/src/shared/bus-get-properties.c
> > >  +++ b/src/shared/bus-get-properties.c
> > >  @@ -4,6 +4,7 @@
> > > @@ -448,6 +536,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int bus_property_get_bool(
> > >                   sd_bus *bus,
> > > +diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
> > > +index b76125e551..2e0892242f 100644
> > >  --- a/src/shared/bus-unit-procs.c
> > >  +++ b/src/shared/bus-unit-procs.c
> > >  @@ -10,6 +10,7 @@
> > > @@ -458,9 +548,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   struct CGroupInfo {
> > >           char *cgroup_path;
> > > +diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
> > > +index a75178068b..3de06e2bd5 100644
> > >  --- a/src/shared/bus-unit-util.c
> > >  +++ b/src/shared/bus-unit-util.c
> > > -@@ -44,6 +44,7 @@
> > > +@@ -45,6 +45,7 @@
> > >   #include "unit-def.h"
> > >   #include "user-util.h"
> > >   #include "utf8.h"
> > > @@ -468,6 +560,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
> > >           assert(message);
> > > +diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
> > > +index 64ca67993c..31e3d148ea 100644
> > >  --- a/src/shared/bus-util.c
> > >  +++ b/src/shared/bus-util.c
> > >  @@ -21,6 +21,7 @@
> > > @@ -478,6 +572,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static int name_owner_change_callback(sd_bus_message *m, void
> *userdata, sd_bus_error *ret_error) {
> > >           sd_event *e = userdata;
> > > +diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
> > > +index e43aa12882..cec9b413c1 100644
> > >  --- a/src/shared/dns-domain.c
> > >  +++ b/src/shared/dns-domain.c
> > >  @@ -17,6 +17,7 @@
> > > @@ -488,6 +584,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   int dns_label_unescape(const char **name, char *dest, size_t sz,
> DNSLabelFlags flags) {
> > >           const char *n;
> > > +diff --git a/src/shared/journal-importer.c
> b/src/shared/journal-importer.c
> > > +index b2785f0552..5f00902882 100644
> > >  --- a/src/shared/journal-importer.c
> > >  +++ b/src/shared/journal-importer.c
> > >  @@ -14,6 +14,7 @@
> > > @@ -498,6 +596,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   enum {
> > >           IMPORTER_STATE_LINE = 0,    /* waiting to read, or reading
> line */
> > > +diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
> > > +index e63c59bd94..dd9773c009 100644
> > >  --- a/src/shared/logs-show.c
> > >  +++ b/src/shared/logs-show.c
> > >  @@ -41,6 +41,7 @@
> > > @@ -508,6 +608,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   /* up to three lines (each up to 100 characters) or 300 characters,
> whichever is less */
> > >   #define PRINT_LINE_THRESHOLD 3
> > > +diff --git a/src/shared/pager.c b/src/shared/pager.c
> > > +index 4bbad7e37b..eefcdd068c 100644
> > >  --- a/src/shared/pager.c
> > >  +++ b/src/shared/pager.c
> > >  @@ -26,6 +26,7 @@
> > > @@ -518,6 +620,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static pid_t pager_pid = 0;
> > >
> > > +diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
> > > +index 5d5bf7f21d..f1002ffa6c 100644
> > >  --- a/src/shared/uid-range.c
> > >  +++ b/src/shared/uid-range.c
> > >  @@ -9,6 +9,7 @@
> > > @@ -528,6 +632,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static bool uid_range_intersect(UidRange *range, uid_t start, uid_t
> nr) {
> > >           assert(range);
> > > +diff --git a/src/socket-proxy/socket-proxyd.c
> b/src/socket-proxy/socket-proxyd.c
> > > +index 6e3ee0d76b..7727e33d95 100644
> > >  --- a/src/socket-proxy/socket-proxyd.c
> > >  +++ b/src/socket-proxy/socket-proxyd.c
> > >  @@ -26,6 +26,7 @@
> > > @@ -538,6 +644,8 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define BUFFER_SIZE (256 * 1024)
> > >
> > > +diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
> > > +index c9d318b8d1..fcb8d40805 100644
> > >  --- a/src/test/test-hexdecoct.c
> > >  +++ b/src/test/test-hexdecoct.c
> > >  @@ -6,6 +6,7 @@
> > > @@ -548,19 +656,23 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   static void test_hexchar(void) {
> > >           assert_se(hexchar(0xa) == 'a');
> > > +diff --git a/src/udev/udev-builtin-path_id.c
> b/src/udev/udev-builtin-path_id.c
> > > +index 09cc1c3bd8..8a7d3152a7 100644
> > >  --- a/src/udev/udev-builtin-path_id.c
> > >  +++ b/src/udev/udev-builtin-path_id.c
> > >  @@ -22,6 +22,7 @@
> > > - #include "strv.h"
> > >   #include "sysexits.h"
> > >   #include "udev-builtin.h"
> > > + #include "udev-util.h"
> > >  +#include "missing_stdlib.h"
> > >
> > >   _printf_(2,3)
> > >   static void path_prepend(char **path, const char *fmt, ...) {
> > > +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
> > > +index 12597194a9..208b2458b5 100644
> > >  --- a/src/udev/udev-event.c
> > >  +++ b/src/udev/udev-event.c
> > > -@@ -34,6 +34,7 @@
> > > +@@ -33,6 +33,7 @@
> > >   #include "udev-util.h"
> > >   #include "udev-watch.h"
> > >   #include "user-util.h"
> > > @@ -568,9 +680,11 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   typedef struct Spawn {
> > >           sd_device *device;
> > > +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
> > > +index 57ede6a197..dc59857765 100644
> > >  --- a/src/udev/udev-rules.c
> > >  +++ b/src/udev/udev-rules.c
> > > -@@ -30,6 +30,7 @@
> > > +@@ -31,6 +31,7 @@
> > >   #include "udev-rules.h"
> > >   #include "user-util.h"
> > >   #include "virt.h"
> > > @@ -578,13 +692,3 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >
> > >   #define RULES_DIRS (const char* const*)
> CONF_PATHS_STRV("udev/rules.d")
> > >
> > > ---- a/src/basic/mountpoint-util.c
> > > -+++ b/src/basic/mountpoint-util.c
> > > -@@ -10,6 +10,7 @@
> > > - #include "fs-util.h"
> > > - #include "missing_stat.h"
> > > - #include "missing_syscall.h"
> > > -+#include "missing_stdlib.h"
> > > - #include "mountpoint-util.h"
> > > - #include "parse-util.h"
> > > - #include "path-util.h"
> > > diff --git a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
> > > index a978558b42..54d714266e 100644
> > > --- a/meta/recipes-core/systemd/systemd/0006-Include-netinet-
> if_ether.h.patch
> > > +++ b/meta/recipes-core/systemd/systemd/0006-Include-netinet-
> if_ether.h.patch
> > > @@ -1,7 +1,7 @@
> > > -From d3ed0da271738fd0fc3d3e4d82d6f5810334b05e Mon Sep 17 00:00:00
> 2001
> > > +From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 Mon Sep 17 00:00:00
> 2001
> > >  From: Khem Raj <raj.khem@gmail.com>
> > >  Date: Thu, 26 Oct 2017 22:10:42 -0700
> > > -Subject: [PATCH 06/26] Include netinet/if_ether.h
> > > +Subject: [PATCH] Include netinet/if_ether.h
> > >
> > >  Fixes
> > >  /path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8:
> error: redefinition of 'struct ethhdr'
> > > @@ -31,6 +31,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> > >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> > >  [rebased for systemd 247]
> > >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
> > > +
> > >  ---
> > >   src/libsystemd-network/sd-dhcp6-client.c  | 1 -
> > >   src/libsystemd/sd-netlink/netlink-types.c | 1 +
> > > @@ -56,7 +57,7 @@ Signed-off-by: Luca Boccassi <
> luca.boccassi@microsoft.com>
> > >   21 files changed, 26 insertions(+), 8 deletions(-)
> > >
> > >  diff --git a/src/libsystemd-network/sd-dhcp6-client.c
> b/src/libsystemd-network/sd-dhcp6-client.c
> > > -index 66f87c4b95..de1264ae46 100644
> > > +index 410bfda10e..e70ed8be92 100644
> > >  --- a/src/libsystemd-network/sd-dhcp6-client.c
> > >  +++ b/src/libsystemd-network/sd-dhcp6-client.c
> > >  @@ -5,7 +5,6 @@
> > > @@ -68,7 +69,7 @@ index 66f87c4b95..de1264ae46 100644
> > >
> > >   #include "sd-dhcp6-client.h"
> > >  diff --git a/src/libsystemd/sd-netlink/netlink-types.c
> b/src/libsystemd/sd-netlink/netlink-types.c
> > > -index 6fb6c147d9..8eda02d202 100644
> > > +index ed7b9a8cd1..112c0b09e4 100644
> > >  --- a/src/libsystemd/sd-netlink/netlink-types.c
> > >  +++ b/src/libsystemd/sd-netlink/netlink-types.c
> > >  @@ -3,6 +3,7 @@
> > > @@ -80,7 +81,7 @@ index 6fb6c147d9..8eda02d202 100644
> > >   #include <linux/netlink.h>
> > >   #include <linux/rtnetlink.h>
> > >  diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
> > > -index bb67beb665..f5780f1aec 100644
> > > +index e7c4ed3c7c..3a1e4f9072 100644
> > >  --- a/src/machine/machine-dbus.c
> > >  +++ b/src/machine/machine-dbus.c
> > >  @@ -3,6 +3,7 @@
> > > @@ -92,7 +93,7 @@ index bb67beb665..f5780f1aec 100644
> > >   /* When we include libgen.h because we need dirname() we immediately
> > >    * undefine basename() since libgen.h defines it as a macro to the
> POSIX
> > >  diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
> > > -index e27f36067b..8868f1da5d 100644
> > > +index cf7ca88d6f..34ab468191 100644
> > >  --- a/src/network/netdev/bond.c
> > >  +++ b/src/network/netdev/bond.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -103,7 +104,7 @@ index e27f36067b..8868f1da5d 100644
> > >   #include "bond.h"
> > >   #include "bond-util.h"
> > >  diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
> > > -index 1f59cd8b42..5fdbae7e99 100644
> > > +index 38432f1578..79ccfe578e 100644
> > >  --- a/src/network/netdev/bridge.c
> > >  +++ b/src/network/netdev/bridge.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -114,7 +115,7 @@ index 1f59cd8b42..5fdbae7e99 100644
> > >
> > >   #include "bridge.h"
> > >  diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
> > > -index 82e71c3920..fbae86e216 100644
> > > +index 77c5f8c4e7..04be1b4ab2 100644
> > >  --- a/src/network/netdev/macsec.c
> > >  +++ b/src/network/netdev/macsec.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -125,19 +126,19 @@ index 82e71c3920..fbae86e216 100644
> > >   #include <linux/if_ether.h>
> > >   #include <linux/if_macsec.h>
> > >  diff --git a/src/network/netdev/netdev-gperf.gperf
> b/src/network/netdev/netdev-gperf.gperf
> > > -index 4e89761f2c..91251fa6ec 100644
> > > +index 8abe044890..3c54c58928 100644
> > >  --- a/src/network/netdev/netdev-gperf.gperf
> > >  +++ b/src/network/netdev/netdev-gperf.gperf
> > > -@@ -2,6 +2,7 @@
> > > +@@ -3,6 +3,7 @@
> > >   #if __GNUC__ >= 7
> > >   _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
> > >   #endif
> > >  +#include <netinet/if_ether.h>
> > >   #include <stddef.h>
> > >   #include "bareudp.h"
> > > - #include "bond.h"
> > > + #include "batadv.h"
> > >  diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
> > > -index 9f390b5781..62aeafb1e4 100644
> > > +index b31f0fa81a..c80e1ff537 100644
> > >  --- a/src/network/netdev/netdev.c
> > >  +++ b/src/network/netdev/netdev.c
> > >  @@ -1,5 +1,6 @@
> > > @@ -148,7 +149,7 @@ index 9f390b5781..62aeafb1e4 100644
> > >   #include <netinet/in.h>
> > >   #include <unistd.h>
> > >  diff --git a/src/network/networkd-brvlan.c
> b/src/network/networkd-brvlan.c
> > > -index e53c73c30c..9bf0771b84 100644
> > > +index 2847b336c9..4d6af8c642 100644
> > >  --- a/src/network/networkd-brvlan.c
> > >  +++ b/src/network/networkd-brvlan.c
> > >  @@ -4,6 +4,7 @@
> > > @@ -160,7 +161,7 @@ index e53c73c30c..9bf0771b84 100644
> > >   #include <stdbool.h>
> > >
> > >  diff --git a/src/network/networkd-dhcp-common.c
> b/src/network/networkd-dhcp-common.c
> > > -index 9f58121350..554d006cb8 100644
> > > +index 00d055cf8d..65821c1d31 100644
> > >  --- a/src/network/networkd-dhcp-common.c
> > >  +++ b/src/network/networkd-dhcp-common.c
> > >  @@ -1,7 +1,8 @@
> > > @@ -171,9 +172,9 @@ index 9f58121350..554d006cb8 100644
> > >  +#include <net/if_arp.h>
> > >  +#include <net/if.h>
> > >
> > > + #include "bus-error.h"
> > >   #include "dhcp-internal.h"
> > > - #include "dhcp6-internal.h"
> > > -@@ -10,6 +11,7 @@
> > > +@@ -11,6 +12,7 @@
> > >   #include "networkd-dhcp-common.h"
> > >   #include "networkd-link.h"
> > >   #include "networkd-manager.h"
> > > @@ -182,7 +183,7 @@ index 9f58121350..554d006cb8 100644
> > >   #include "parse-util.h"
> > >   #include "socket-util.h"
> > >  diff --git a/src/network/networkd-dhcp-server.c
> b/src/network/networkd-dhcp-server.c
> > > -index cf279c640d..bae541029b 100644
> > > +index 5cdf432c27..93cffb9863 100644
> > >  --- a/src/network/networkd-dhcp-server.c
> > >  +++ b/src/network/networkd-dhcp-server.c
> > >  @@ -1,8 +1,8 @@
> > > @@ -197,7 +198,7 @@ index cf279c640d..bae541029b 100644
> > >   #include "sd-dhcp-server.h"
> > >
> > >  diff --git a/src/network/networkd-dhcp4.c
> b/src/network/networkd-dhcp4.c
> > > -index f3c1e5f609..e4ef6eca63 100644
> > > +index 23dc3a45db..7ae6c2467a 100644
> > >  --- a/src/network/networkd-dhcp4.c
> > >  +++ b/src/network/networkd-dhcp4.c
> > >  @@ -1,9 +1,9 @@
> > > @@ -212,7 +213,7 @@ index f3c1e5f609..e4ef6eca63 100644
> > >   #include "escape.h"
> > >   #include "alloc-util.h"
> > >  diff --git a/src/network/networkd-dhcp6.c
> b/src/network/networkd-dhcp6.c
> > > -index 5c077c1ec8..fa98042aa5 100644
> > > +index aa077d6219..4f6ce22059 100644
> > >  --- a/src/network/networkd-dhcp6.c
> > >  +++ b/src/network/networkd-dhcp6.c
> > >  @@ -3,9 +3,9 @@
> > > @@ -227,7 +228,7 @@ index 5c077c1ec8..fa98042aa5 100644
> > >   #include "sd-dhcp6-client.h"
> > >
> > >  diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
> > > -index 3bfe636691..e0c68c8ad3 100644
> > > +index 8219d95b0d..c92230453b 100644
> > >  --- a/src/network/networkd-link.c
> > >  +++ b/src/network/networkd-link.c
> > >  @@ -1,8 +1,8 @@
> > > @@ -241,7 +242,7 @@ index 3bfe636691..e0c6
>
>

[-- Attachment #2: Type: text/html, Size: 104718 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [OE-core] [PATCH 02/21] systemd: update 247.6 -> 248.3
  2021-05-25 13:52         ` Khem Raj
@ 2021-05-25 14:02           ` Alexander Kanavin
  2021-05-25 14:16             ` Richard Purdie
  0 siblings, 1 reply; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-25 14:02 UTC (permalink / raw)
  To: Khem Raj; +Cc: Richard Purdie, Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 79501 bytes --]

Sorry, but that is not a good answer. If the next version upgrade is a pain
because of those patches, I will actually make a patch that drops them.

Alex

On Tue, 25 May 2021 at 15:52, Khem Raj <raj.khem@gmail.com> wrote:

>
>
> On Tuesday, May 25, 2021, Alexander Kanavin <alex.kanavin@gmail.com>
> wrote:
>
>> I have to ask: should musl patches for systemd be maintained separately?
>> It's a big pile, they aren't accepted by upstream, they aren't tested on
>> the AB (hence I didn't even notice the breakage), and they cause rebase
>> problems at every version upgrade.
>>
>> I would propose that a separate recipe is made that takes the sources
>> from a repo, rather than carry the patches in oe-core.
>>
>
> It’s fine as it is
>
>
>>
>> Alex
>>
>> On Tue, 25 May 2021 at 03:41, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> since master-next broke my CI, I have sent a fix on top of this.
>> Please include that
>>
>> On Mon, May 24, 2021 at 5:18 PM Khem Raj <raj.khem@gmail.com> wrote:
>> >
>> > Fails to compile for musl
>> >
>> > https://errors.yoctoproject.org/Errors/Details/585507/
>> >
>> > src/basic/percent-util.c source file needs to include
>> >
>> > #include "missing_stdlib.h"
>> >
>> > like other files in
>> 0005-src-basic-missing.h-check-for-missing-strndupa.patch
>> >
>> > On Mon, May 24, 2021 at 2:14 AM Alexander Kanavin
>> > <alex.kanavin@gmail.com> wrote:
>> > >
>> > > Drop backports:
>> > > 48fff0a2af3f62acd446ebec8081b039b72caad8.patch
>> > > 7c5fd25119a495009ea62f79e5daec34cc464628.patch
>> > > 0001-analyze-resolve-executable-path-if-it-is-relative.patch
>> > > 0001-analyze-resolve-executable-path-if-it-is-relative.patch
>> > >
>> > > Drop 0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
>> > > as difficult to rebase; please resend if you feel strongly that
>> > > it is needed.
>> > >
>> > > Rebase the big pile of musl patches.
>> > >
>> > > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > > ---
>> > >  ...f0a2af3f62acd446ebec8081b039b72caad8.patch | 179 --------------
>> > >  ...d25119a495009ea62f79e5daec34cc464628.patch |  53 ----
>> > >  ...md-boot_247.6.bb => systemd-boot_248.3.bb} |   0
>> > >  meta/recipes-core/systemd/systemd.inc         |   6 +-
>> > >  ...ve-executable-path-if-it-is-relative.patch |  39 ---
>> > >  ...chvt-as-non-root-user-without-polkit.patch | 227
>> ------------------
>> > >  ...002-don-t-use-glibc-specific-qsort_r.patch |  29 ++-
>> > >  ...dd-__compare_fn_t-and-comparison_fn_.patch |  26 +-
>> > >  ...k-parse_printf_format-implementation.patch |  46 ++--
>> > >  ...missing.h-check-for-missing-strndupa.patch | 204 ++++++++++++----
>> > >  .../0006-Include-netinet-if_ether.h.patch     |  56 +++--
>> > >  ...OB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch |  17 +-
>> > >  ...008-add-missing-FTW_-macros-for-musl.patch |   8 +-
>> > >  ..._register_atfork-for-non-glibc-build.patch |  12 +-
>> > >  ...10-Use-uintmax_t-for-handling-rlim_t.patch |  18 +-
>> > >  ...sable-tests-for-missing-typedefs-in-.patch |   9 +-
>> > >  ...T_SYMLINK_NOFOLLOW-flag-to-faccessat.patch |  19 +-
>> > >  ...patible-basename-for-non-glibc-syste.patch |  11 +-
>> > >  ...uffering-when-writing-to-oom_score_a.patch |  12 +-
>> > >  ...compliant-strerror_r-from-GNU-specif.patch |  46 ++--
>> > >  ...S_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch |   8 +-
>> > >  ...ype.h-add-__compar_d_fn_t-definition.patch |   8 +-
>> > >  ...definition-of-prctl_mm_map-structure.patch |   8 +-
>> > >  .../systemd/0019-Handle-missing-LOCK_EX.patch |  10 +-
>> > >  ...ible-pointer-type-struct-sockaddr_un.patch |  12 +-
>> > >  .../0021-test-json.c-define-M_PIl.patch       |   8 +-
>> > >  ...-not-disable-buffer-in-writing-files.patch | 116 ++++-----
>> > >  .../0025-Handle-__cpu_mask-usage.patch        |   8 +-
>> > >  .../systemd/0026-Handle-missing-gshadow.patch |  20 +-
>> > >  ...r-mount-error-with-invalid-options-o.patch |  97 --------
>> > >  ...l.h-Define-MIPS-ABI-defines-for-musl.patch |  16 +-
>> > >  .../{systemd_247.6.bb => systemd_248.3.bb}    |  11 +-
>> > >  32 files changed, 388 insertions(+), 951 deletions(-)
>> > >  delete mode 100644
>> meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
>> > >  delete mode 100644
>> meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
>> > >  rename meta/recipes-core/systemd/{systemd-boot_247.6.bb =>
>> systemd-boot_248.3.bb} (100%)
>> > >  delete mode 100644
>> meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
>> > >  delete mode 100644
>> meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
>> > >  delete mode 100644
>> meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
>> > >  rename meta/recipes-core/systemd/{systemd_247.6.bb =>
>> systemd_248.3.bb} (99%)
>> > >
>> > > diff --git
>> a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
>> b/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
>> > > deleted file mode 100644
>> > > index e3ce296741..0000000000
>> > > ---
>> a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
>> > > +++ /dev/null
>> > > @@ -1,179 +0,0 @@
>> > > -From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00
>> 2001
>> > > -From: Daan De Meyer <daan.j.demeyer@gmail.com>
>> > > -Date: Fri, 12 Mar 2021 22:09:44 +0000
>> > > -Subject: [PATCH] boot: Move console declarations to missing_efi.h
>> > > -
>> > > -These were added to eficonex.h in gnu-efi 3.0.13. Let's move them
>> > > -to missing_efi.h behind an appropriate guard to fix the build with
>> > > -recent versions of gnu-efi.
>> > > -
>> > > -(cherry picked from commit 95ba433a5f34baf92921fb58051bc8241f908c0e)
>> > > -
>> > > -Upstream-Status: Backport
>> > > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > > ----
>> > > - src/boot/efi/console.c     | 57 --------------------------------
>> > > - src/boot/efi/console.h     |  6 +---
>> > > - src/boot/efi/missing_efi.h | 67
>> ++++++++++++++++++++++++++++++++++++++
>> > > - 3 files changed, 68 insertions(+), 62 deletions(-)
>> > > -
>> > > -diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
>> > > -index 2dd4543d51..1d6dfeeea2 100644
>> > > ---- a/src/boot/efi/console.c
>> > > -+++ b/src/boot/efi/console.c
>> > > -@@ -9,63 +9,6 @@
>> > > - #define SYSTEM_FONT_WIDTH 8
>> > > - #define SYSTEM_FONT_HEIGHT 19
>> > > -
>> > > --#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
>> > > --        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85,
>> 0x17, 0xa6, 0x25, 0xaa } }
>> > > --
>> > > --struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
>> > > --
>> > > --typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
>> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
>> > > --        BOOLEAN ExtendedVerification
>> > > --);
>> > > --
>> > > --typedef UINT8 EFI_KEY_TOGGLE_STATE;
>> > > --
>> > > --typedef struct {
>> > > --        UINT32 KeyShiftState;
>> > > --        EFI_KEY_TOGGLE_STATE KeyToggleState;
>> > > --} EFI_KEY_STATE;
>> > > --
>> > > --typedef struct {
>> > > --        EFI_INPUT_KEY Key;
>> > > --        EFI_KEY_STATE KeyState;
>> > > --} EFI_KEY_DATA;
>> > > --
>> > > --typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
>> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
>> > > --        EFI_KEY_DATA *KeyData
>> > > --);
>> > > --
>> > > --typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
>> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
>> > > --        EFI_KEY_TOGGLE_STATE *KeyToggleState
>> > > --);
>> > > --
>> > > --typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
>> > > --        EFI_KEY_DATA *KeyData
>> > > --);
>> > > --
>> > > --typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
>> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
>> > > --        EFI_KEY_DATA KeyData,
>> > > --        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
>> > > --        VOID **NotifyHandle
>> > > --);
>> > > --
>> > > --typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
>> > > --        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
>> > > --        VOID *NotificationHandle
>> > > --);
>> > > --
>> > > --typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
>> > > --        EFI_INPUT_RESET_EX Reset;
>> > > --        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
>> > > --        EFI_EVENT WaitForKeyEx;
>> > > --        EFI_SET_STATE SetState;
>> > > --        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
>> > > --        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
>> > > --} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
>> > > --
>> > > - EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
>> > > -         EFI_GUID EfiSimpleTextInputExProtocolGuid =
>> EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
>> > > -         static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
>> > > -diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
>> > > -index 41df3a406e..2c69af552a 100644
>> > > ---- a/src/boot/efi/console.h
>> > > -+++ b/src/boot/efi/console.h
>> > > -@@ -1,11 +1,7 @@
>> > > - /* SPDX-License-Identifier: LGPL-2.1-or-later */
>> > > - #pragma once
>> > > -
>> > > --#define EFI_SHIFT_STATE_VALID           0x80000000
>> > > --#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
>> > > --#define EFI_LEFT_CONTROL_PRESSED        0x00000008
>> > > --#define EFI_RIGHT_ALT_PRESSED           0x00000010
>> > > --#define EFI_LEFT_ALT_PRESSED            0x00000020
>> > > -+#include "missing_efi.h"
>> > > -
>> > > - #define EFI_CONTROL_PRESSED
>>  (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED)
>> > > - #define EFI_ALT_PRESSED
>>  (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED)
>> > > -diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h
>> > > -index 1b838af2a4..b6aae1eb5b 100644
>> > > ---- a/src/boot/efi/missing_efi.h
>> > > -+++ b/src/boot/efi/missing_efi.h
>> > > -@@ -53,3 +53,70 @@ typedef struct _EFI_RNG_PROTOCOL {
>> > > - } EFI_RNG_PROTOCOL;
>> > > -
>> > > - #endif
>> > > -+
>> > > -+#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
>> > > -+
>> > > -+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
>> > > -+        { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85,
>> 0x17, 0xa6, 0x25, 0xaa } }
>> > > -+
>> > > -+#define EFI_SHIFT_STATE_VALID           0x80000000
>> > > -+#define EFI_RIGHT_CONTROL_PRESSED       0x00000004
>> > > -+#define EFI_LEFT_CONTROL_PRESSED        0x00000008
>> > > -+#define EFI_RIGHT_ALT_PRESSED           0x00000010
>> > > -+#define EFI_LEFT_ALT_PRESSED            0x00000020
>> > > -+
>> > > -+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
>> > > -+
>> > > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
>> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
>> > > -+        BOOLEAN ExtendedVerification
>> > > -+);
>> > > -+
>> > > -+typedef UINT8 EFI_KEY_TOGGLE_STATE;
>> > > -+
>> > > -+typedef struct {
>> > > -+        UINT32 KeyShiftState;
>> > > -+        EFI_KEY_TOGGLE_STATE KeyToggleState;
>> > > -+} EFI_KEY_STATE;
>> > > -+
>> > > -+typedef struct {
>> > > -+        EFI_INPUT_KEY Key;
>> > > -+        EFI_KEY_STATE KeyState;
>> > > -+} EFI_KEY_DATA;
>> > > -+
>> > > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
>> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
>> > > -+        EFI_KEY_DATA *KeyData
>> > > -+);
>> > > -+
>> > > -+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
>> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
>> > > -+        EFI_KEY_TOGGLE_STATE *KeyToggleState
>> > > -+);
>> > > -+
>> > > -+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
>> > > -+        EFI_KEY_DATA *KeyData
>> > > -+);
>> > > -+
>> > > -+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
>> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
>> > > -+        EFI_KEY_DATA KeyData,
>> > > -+        EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
>> > > -+        VOID **NotifyHandle
>> > > -+);
>> > > -+
>> > > -+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
>> > > -+        struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
>> > > -+        VOID *NotificationHandle
>> > > -+);
>> > > -+
>> > > -+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
>> > > -+        EFI_INPUT_RESET_EX Reset;
>> > > -+        EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
>> > > -+        EFI_EVENT WaitForKeyEx;
>> > > -+        EFI_SET_STATE SetState;
>> > > -+        EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
>> > > -+        EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
>> > > -+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
>> > > -+
>> > > -+#endif
>> > > diff --git
>> a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
>> b/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
>> > > deleted file mode 100644
>> > > index ae449791f1..0000000000
>> > > ---
>> a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
>> > > +++ /dev/null
>> > > @@ -1,53 +0,0 @@
>> > > -From 7c5fd25119a495009ea62f79e5daec34cc464628 Mon Sep 17 00:00:00
>> 2001
>> > > -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <
>> zbyszek@in.waw.pl>
>> > > -Date: Mon, 12 Apr 2021 14:03:32 +0200
>> > > -Subject: [PATCH] meson: do not fail if rsync is not installed with
>> meson
>> > > - 0.57.2
>> > > -
>> > > -https://github.com/mesonbuild/meson/issues/8641
>> > > -
>> > > -Our CI started to fail. Even if the change is reverted in meson,
>> > > -we need a quick workaround here.
>> > > -
>> > > -Upstream-Status: Backport
>> > > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
>> > > ----
>> > > - man/meson.build | 25 ++++++++++++++-----------
>> > > - 1 file changed, 14 insertions(+), 11 deletions(-)
>> > > -
>> > > -diff --git a/man/meson.build b/man/meson.build
>> > > -index 3cae8446cda..f9c4b83dc81 100644
>> > > ---- a/man/meson.build
>> > > -+++ b/man/meson.build
>> > > -@@ -184,17 +184,20 @@ html = custom_target(
>> > > -         depends : html_pages,
>> > > -         command : ['echo'])
>> > > -
>> > > --run_target(
>> > > --        'doc-sync',
>> > > --        depends : man_pages + html_pages,
>> > > --        command : ['rsync', '-rlv',
>> > > --                   '--delete-excluded',
>> > > --                   '--include=man',
>> > > --                   '--include=*.html',
>> > > --                   '--exclude=*',
>> > > --                   '--omit-dir-times',
>> > > --                   meson.current_build_dir(),
>> > > --                   get_option('www-target')])
>> > > -+rsync = find_program('rsync', required : false)
>> > > -+if rsync.found()
>> > > -+        run_target(
>> > > -+                'doc-sync',
>> > > -+                depends : man_pages + html_pages,
>> > > -+                command : [rsync, '-rlv',
>> > > -+                           '--delete-excluded',
>> > > -+                           '--include=man',
>> > > -+                           '--include=*.html',
>> > > -+                           '--exclude=*',
>> > > -+                           '--omit-dir-times',
>> > > -+                           meson.current_build_dir(),
>> > > -+                           get_option('www-target')])
>> > > -+endif
>> > > -
>> > > - ############################################################
>> > > -
>> > > diff --git a/meta/recipes-core/systemd/systemd-boot_247.6.bb
>> b/meta/recipes-core/systemd/systemd-boot_248.3.bb
>> > > similarity index 100%
>> > > rename from meta/recipes-core/systemd/systemd-boot_247.6.bb
>> > > rename to meta/recipes-core/systemd/systemd-boot_248.3.bb
>> > > diff --git a/meta/recipes-core/systemd/systemd.inc
>> b/meta/recipes-core/systemd/systemd.inc
>> > > index 88dddb309c..0524a25008 100644
>> > > --- a/meta/recipes-core/systemd/systemd.inc
>> > > +++ b/meta/recipes-core/systemd/systemd.inc
>> > > @@ -14,11 +14,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
>> > >  LIC_FILES_CHKSUM =
>> "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
>> > >
>> file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
>> > >
>> > > -SRCREV = "17472dca0160cbe7b807ca648475fd70d0d62fe5"
>> > > -SRCBRANCH = "v247-stable"
>> > > +SRCREV = "37c4cfde0ce613f0f00544d3f4e2e72bf93d9c76"
>> > > +SRCBRANCH = "v248-stable"
>> > >  SRC_URI = "git://
>> github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}
>> <http://github.com/systemd/systemd-stable.git;protocol=git;branch=$%7BSRCBRANCH%7D>
>> \
>> > > -           file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \
>> > > -           file://48fff0a2af3f62acd446ebec8081b039b72caad8.patch \
>> > >  "
>> > >
>> > >  S = "${WORKDIR}/git"
>> > > diff --git
>> a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
>> b/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
>> > > deleted file mode 100644
>> > > index fd7f94a61d..0000000000
>> > > ---
>> a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
>> > > +++ /dev/null
>> > > @@ -1,39 +0,0 @@
>> > > -From b9b7a8e3825f0433e120f7a6d7d5d635a839cab9 Mon Sep 17 00:00:00
>> 2001
>> > > -From: Mingli Yu <mingli.yu@windriver.com>
>> > > -Date: Thu, 21 Jan 2021 06:19:44 +0000
>> > > -Subject: [PATCH] analyze: resolve executable path if it is relative
>> > > -
>> > > -Upstream-Status: Backport [
>> https://github.com/systemd/systemd/commit/f1fb046a985521f7d4a662f02546686ff20b7e5d
>> ]
>> > > -
>> > > -Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
>> > > ----
>> > > - src/analyze/analyze-verify.c | 7 +++++--
>> > > - 1 file changed, 5 insertions(+), 2 deletions(-)
>> > > -
>> > > -diff --git a/src/analyze/analyze-verify.c
>> b/src/analyze/analyze-verify.c
>> > > -index a9c89173bf..969523df18 100644
>> > > ---- a/src/analyze/analyze-verify.c
>> > > -+++ b/src/analyze/analyze-verify.c
>> > > -@@ -115,14 +115,17 @@ static int verify_socket(Unit *u) {
>> > > - }
>> > > -
>> > > - int verify_executable(Unit *u, const ExecCommand *exec) {
>> > > -+        int r;
>> > > -+
>> > > -         if (!exec)
>> > > -                 return 0;
>> > > -
>> > > -         if (exec->flags & EXEC_COMMAND_IGNORE_FAILURE)
>> > > -                 return 0;
>> > > -
>> > > --        if (access(exec->path, X_OK) < 0)
>> > > --                return log_unit_error_errno(u, errno, "Command %s
>> is not executable: %m", exec->path);
>> > > -+        r = find_executable_full(exec->path, false, NULL);
>> > > -+        if (r < 0)
>> > > -+                return log_unit_error_errno(u, r, "Command %s is
>> not executable: %m", exec->path);
>> > > -
>> > > -         return 0;
>> > > - }
>> > > ---
>> > > -2.26.2
>> > > -
>> > > diff --git
>> a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
>> b/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
>> > > deleted file mode 100644
>> > > index 89ef39bc3e..0000000000
>> > > ---
>> a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
>> > > +++ /dev/null
>> > > @@ -1,227 +0,0 @@
>> > > -From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00
>> 2001
>> > > -From: Joshua Watt <JPEWhacker@gmail.com>
>> > > -Date: Fri, 30 Oct 2020 08:15:43 -0500
>> > > -Subject: [PATCH] logind: Restore chvt as non-root user without polkit
>> > > -
>> > > -4acf0cfd2f ("logind: check PolicyKit before allowing VT switch")
>> broke
>> > > -the ability to write user sessions that run graphical sessions (e.g.
>> > > -weston/X11). This was partially amended in 19bb87fbfa ("login: allow
>> > > -non-console sessions to change vt") by changing the default PolicyKit
>> > > -policy so that non-root users are again allowed to switch the VT.
>> This
>> > > -makes the policy when PolKit is not enabled (as on many embedded
>> > > -systems) match the default PolKit policy and allows launching
>> graphical
>> > > -sessions as a non-root user.
>> > > -
>> > > -Closes #17473
>> > > ----
>> > > - src/login/logind-dbus.c         | 11 ++-------
>> > > - src/login/logind-polkit.c       | 26 +++++++++++++++++++++
>> > > - src/login/logind-polkit.h       | 10 ++++++++
>> > > - src/login/logind-seat-dbus.c    | 41
>> ++++-----------------------------
>> > > - src/login/logind-session-dbus.c | 11 ++-------
>> > > - src/login/meson.build           |  1 +
>> > > - 6 files changed, 46 insertions(+), 54 deletions(-)
>> > > - create mode 100644 src/login/logind-polkit.c
>> > > - create mode 100644 src/login/logind-polkit.h
>> > > -
>> > > -diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
>> > > -index 0f83ed99bc..a3765d88ba 100644
>> > > ---- a/src/login/logind-dbus.c
>> > > -+++ b/src/login/logind-dbus.c
>> > > -@@ -30,6 +30,7 @@
>> > > - #include "format-util.h"
>> > > - #include "fs-util.h"
>> > > - #include "logind-dbus.h"
>> > > -+#include "logind-polkit.h"
>> > > - #include "logind-seat-dbus.h"
>> > > - #include "logind-session-dbus.h"
>> > > - #include "logind-user-dbus.h"
>> > > -@@ -1047,15 +1048,7 @@ static int
>> method_activate_session_on_seat(sd_bus_message *message, void *userda
>> > > -                 return sd_bus_error_setf(error,
>> BUS_ERROR_SESSION_NOT_ON_SEAT,
>> > > -                                          "Session %s not on seat
>> %s", session_name, seat_name);
>> > > -
>> > > --        r = bus_verify_polkit_async(
>> > > --                        message,
>> > > --                        CAP_SYS_ADMIN,
>> > > --                        "org.freedesktop.login1.chvt",
>> > > --                        NULL,
>> > > --                        false,
>> > > --                        UID_INVALID,
>> > > --                        &m->polkit_registry,
>> > > --                        error);
>> > > -+        r = check_polkit_chvt(message, m, error);
>> > > -         if (r < 0)
>> > > -                 return r;
>> > > -         if (r == 0)
>> > > -diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c
>> > > -new file mode 100644
>> > > -index 0000000000..9072570cc6
>> > > ---- /dev/null
>> > > -+++ b/src/login/logind-polkit.c
>> > > -@@ -0,0 +1,26 @@
>> > > -+/* SPDX-License-Identifier: LGPL-2.1+ */
>> > > -+
>> > > -+#include "bus-polkit.h"
>> > > -+#include "logind-polkit.h"
>> > > -+#include "missing_capability.h"
>> > > -+#include "user-util.h"
>> > > -+
>> > > -+int check_polkit_chvt(sd_bus_message *message, Manager *manager,
>> sd_bus_error *error) {
>> > > -+#if ENABLE_POLKIT
>> > > -+        return bus_verify_polkit_async(
>> > > -+                        message,
>> > > -+                        CAP_SYS_ADMIN,
>> > > -+                        "org.freedesktop.login1.chvt",
>> > > -+                        NULL,
>> > > -+                        false,
>> > > -+                        UID_INVALID,
>> > > -+                        &manager->polkit_registry,
>> > > -+                        error);
>> > > -+#else
>> > > -+        /* Allow chvt when polkit is not present. This allows a
>> service to start a graphical session as a
>> > > -+         * non-root user when polkit is not compiled in, matching
>> the default polkit policy */
>> > > -+        return 1;
>> > > -+#endif
>> > > -+}
>> > > -+
>> > > -+
>> > > -diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h
>> > > -new file mode 100644
>> > > -index 0000000000..476c077a8a
>> > > ---- /dev/null
>> > > -+++ b/src/login/logind-polkit.h
>> > > -@@ -0,0 +1,10 @@
>> > > -+/* SPDX-License-Identifier: LGPL-2.1+ */
>> > > -+#pragma once
>> > > -+
>> > > -+#include "sd-bus.h"
>> > > -+
>> > > -+#include "bus-object.h"
>> > > -+#include "logind.h"
>> > > -+
>> > > -+int check_polkit_chvt(sd_bus_message *message, Manager *manager,
>> sd_bus_error *error);
>> > > -+
>> > > -diff --git a/src/login/logind-seat-dbus.c
>> b/src/login/logind-seat-dbus.c
>> > > -index a945132284..f22e9e2734 100644
>> > > ---- a/src/login/logind-seat-dbus.c
>> > > -+++ b/src/login/logind-seat-dbus.c
>> > > -@@ -9,6 +9,7 @@
>> > > - #include "bus-polkit.h"
>> > > - #include "bus-util.h"
>> > > - #include "logind-dbus.h"
>> > > -+#include "logind-polkit.h"
>> > > - #include "logind-seat-dbus.h"
>> > > - #include "logind-seat.h"
>> > > - #include "logind-session-dbus.h"
>> > > -@@ -179,15 +180,7 @@ static int
>> method_activate_session(sd_bus_message *message, void *userdata, sd_b
>> > > -         if (session->seat != s)
>> > > -                 return sd_bus_error_setf(error,
>> BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id);
>> > > -
>> > > --        r = bus_verify_polkit_async(
>> > > --                        message,
>> > > --                        CAP_SYS_ADMIN,
>> > > --                        "org.freedesktop.login1.chvt",
>> > > --                        NULL,
>> > > --                        false,
>> > > --                        UID_INVALID,
>> > > --                        &s->manager->polkit_registry,
>> > > --                        error);
>> > > -+        r = check_polkit_chvt(message, s->manager, error);
>> > > -         if (r < 0)
>> > > -                 return r;
>> > > -         if (r == 0)
>> > > -@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message
>> *message, void *userdata, sd_bus_erro
>> > > -         if (to <= 0)
>> > > -                 return sd_bus_error_setf(error,
>> SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal");
>> > > -
>> > > --        r = bus_verify_polkit_async(
>> > > --                        message,
>> > > --                        CAP_SYS_ADMIN,
>> > > --                        "org.freedesktop.login1.chvt",
>> > > --                        NULL,
>> > > --                        false,
>> > > --                        UID_INVALID,
>> > > --                        &s->manager->polkit_registry,
>> > > --                        error);
>> > > -+        r = check_polkit_chvt(message, s->manager, error);
>> > > -         if (r < 0)
>> > > -                 return r;
>> > > -         if (r == 0)
>> > > -@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message
>> *message, void *userdata, sd_bus
>> > > -         assert(message);
>> > > -         assert(s);
>> > > -
>> > > --        r = bus_verify_polkit_async(
>> > > --                        message,
>> > > --                        CAP_SYS_ADMIN,
>> > > --                        "org.freedesktop.login1.chvt",
>> > > --                        NULL,
>> > > --                        false,
>> > > --                        UID_INVALID,
>> > > --                        &s->manager->polkit_registry,
>> > > --                        error);
>> > > -+        r = check_polkit_chvt(message, s->manager, error);
>> > > -         if (r < 0)
>> > > -                 return r;
>> > > -         if (r == 0)
>> > > -@@ -271,15 +248,7 @@ static int
>> method_switch_to_previous(sd_bus_message *message, void *userdata, sd
>> > > -         assert(message);
>> > > -         assert(s);
>> > > -
>> > > --        r = bus_verify_polkit_async(
>> > > --                        message,
>> > > --                        CAP_SYS_ADMIN,
>> > > --                        "org.freedesktop.login1.chvt",
>> > > --                        NULL,
>> > > --                        false,
>> > > --                        UID_INVALID,
>> > > --                        &s->manager->polkit_registry,
>> > > --                        error);
>> > > -+        r = check_polkit_chvt(message, s->manager, error);
>> > > -         if (r < 0)
>> > > -                 return r;
>> > > -         if (r == 0)
>> > > -diff --git a/src/login/logind-session-dbus.c
>> b/src/login/logind-session-dbus.c
>> > > -index ccc5ac8df2..57c8a4e900 100644
>> > > ---- a/src/login/logind-session-dbus.c
>> > > -+++ b/src/login/logind-session-dbus.c
>> > > -@@ -11,6 +11,7 @@
>> > > - #include "fd-util.h"
>> > > - #include "logind-brightness.h"
>> > > - #include "logind-dbus.h"
>> > > -+#include "logind-polkit.h"
>> > > - #include "logind-seat-dbus.h"
>> > > - #include "logind-session-dbus.h"
>> > > - #include "logind-session-device.h"
>> > > -@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message
>> *message, void *userdata, sd_bus_
>> > > -         assert(message);
>> > > -         assert(s);
>> > > -
>> > > --        r = bus_verify_polkit_async(
>> > > --                        message,
>> > > --                        CAP_SYS_ADMIN,
>> > > --                        "org.freedesktop.login1.chvt",
>> > > --                        NULL,
>> > > --                        false,
>> > > --                        UID_INVALID,
>> > > --                        &s->manager->polkit_registry,
>> > > --                        error);
>> > > -+        r = check_polkit_chvt(message, s->manager, error);
>> > > -         if (r < 0)
>> > > -                 return r;
>> > > -         if (r == 0)
>> > > -diff --git a/src/login/meson.build b/src/login/meson.build
>> > > -index 0a7d3d5440..7e46be2add 100644
>> > > ---- a/src/login/meson.build
>> > > -+++ b/src/login/meson.build
>> > > -@@ -26,6 +26,7 @@ liblogind_core_sources = files('''
>> > > -         logind-device.h
>> > > -         logind-inhibit.c
>> > > -         logind-inhibit.h
>> > > -+        logind-polkit.c
>> > > -         logind-seat-dbus.c
>> > > -         logind-seat-dbus.h
>> > > -         logind-seat.c
>> > > ---
>> > > -2.28.0
>> > > -
>> > > diff --git
>> a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
>> b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
>> > > index d856bcb583..4cdf66e767 100644
>> > > ---
>> a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
>> > > +++
>> b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
>> > > @@ -1,7 +1,7 @@
>> > > -From 66ece0b870b3a34fdabc48b88437e6cc354e9fce Mon Sep 17 00:00:00
>> 2001
>> > > +From 159c53612444ec1df492bae528a5a88a275b93bf Mon Sep 17 00:00:00
>> 2001
>> > >  From: Chen Qi <Qi.Chen@windriver.com>
>> > >  Date: Mon, 25 Feb 2019 13:41:41 +0800
>> > > -Subject: [PATCH 02/26] don't use glibc-specific qsort_r
>> > > +Subject: [PATCH] don't use glibc-specific qsort_r
>> > >
>> > >  Upstream-Status: Inappropriate [musl specific]
>> > >
>> > > @@ -12,6 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> > >  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
>> > >  [Rebased for v247]
>> > >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>> > > +
>> > >  ---
>> > >   src/basic/sort-util.h              | 14 ------------
>> > >   src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++-----
>> > > @@ -19,14 +20,13 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >   3 files changed, 38 insertions(+), 31 deletions(-)
>> > >
>> > >  diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
>> > > -index 1d194a1f04..3394c9eb72 100644
>> > > +index 49586a4a24..d92a5ab0ed 100644
>> > >  --- a/src/basic/sort-util.h
>> > >  +++ b/src/basic/sort-util.h
>> > > -@@ -54,17 +54,3 @@ static inline void _qsort_safe(void *base, size_t
>> nmemb, size_t size, __compar_f
>> > > -                 int (*_func_)(const typeof(p[0])*, const
>> typeof(p[0])*) = func; \
>> > > +@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, size_t
>> nmemb, size_t size, __compar_f
>> > >                   _qsort_safe((p), (n), sizeof((p)[0]),
>> (__compar_fn_t) _func_); \
>> > >           })
>> > > --
>> > > +
>> > >  -static inline void qsort_r_safe(void *base, size_t nmemb, size_t
>> size, __compar_d_fn_t compar, void *userdata) {
>> > >  -        if (nmemb <= 1)
>> > >  -                return;
>> > > @@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644
>> > >  -                int (*_func_)(const typeof(p[0])*, const
>> typeof(p[0])*, typeof(userdata)) = func; \
>> > >  -                qsort_r_safe((p), (n), sizeof((p)[0]),
>> (__compar_d_fn_t) _func_, userdata); \
>> > >  -        })
>> > > +-
>> > > + int cmp_int(const int *a, const int *b);
>> > >  diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c
>> b/src/libsystemd/sd-hwdb/hwdb-util.c
>> > > -index 4c94ba9c88..95495dba6d 100644
>> > > +index fd45ff0f54..ac4b63c49b 100644
>> > >  --- a/src/libsystemd/sd-hwdb/hwdb-util.c
>> > >  +++ b/src/libsystemd/sd-hwdb/hwdb-util.c
>> > > -@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) {
>> > > +@@ -126,9 +126,13 @@ static struct trie* trie_free(struct trie
>> *trie) {
>> > >
>> > >   DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
>> > >
>> > > @@ -85,10 +87,10 @@ index 4c94ba9c88..95495dba6d 100644
>> > >   }
>> > >
>> > >  diff --git a/src/shared/format-table.c b/src/shared/format-table.c
>> > > -index a13a198b7a..bce10bc607 100644
>> > > +index dccb796b26..c3ab8ac296 100644
>> > >  --- a/src/shared/format-table.c
>> > >  +++ b/src/shared/format-table.c
>> > > -@@ -1243,30 +1243,32 @@ static int cell_data_compare(TableData *a,
>> size_t index_a, TableData *b, size_t
>> > > +@@ -1290,30 +1290,32 @@ static int cell_data_compare(TableData *a,
>> size_t index_a, TableData *b, size_t
>> > >           return CMP(index_a, index_b);
>> > >   }
>> > >
>> > > @@ -131,7 +133,7 @@ index a13a198b7a..bce10bc607 100644
>> > >           }
>> > >
>> > >           /* Order identical lines by the order there were originally
>> added in */
>> > > -@@ -1844,7 +1846,12 @@ int table_print(Table *t, FILE *f) {
>> > > +@@ -1952,7 +1954,12 @@ int table_print(Table *t, FILE *f) {
>> > >                   for (size_t i = 0; i < n_rows; i++)
>> > >                           sorted[i] = i * t->n_columns;
>> > >
>> > > @@ -145,7 +147,7 @@ index a13a198b7a..bce10bc607 100644
>> > >           }
>> > >
>> > >           if (t->display_map)
>> > > -@@ -2440,7 +2447,12 @@ int table_to_json(Table *t, JsonVariant
>> **ret) {
>> > > +@@ -2580,7 +2587,12 @@ int table_to_json(Table *t, JsonVariant
>> **ret) {
>> > >                   for (size_t i = 0; i < n_rows; i++)
>> > >                           sorted[i] = i * t->n_columns;
>> > >
>> > > @@ -159,6 +161,3 @@ index a13a198b7a..bce10bc607 100644
>> > >           }
>> > >
>> > >           if (t->display_map)
>> > > ---
>> > > -2.27.0
>> > > -
>> > > diff --git
>> a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
>> b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
>> > > index f43a22aa8b..9b1768d9ca 100644
>> > > ---
>> a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
>> > > +++
>> b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
>> > > @@ -1,7 +1,7 @@
>> > > -From 9f0d5996bbb2db3679a4075fa8301750b786c03b Mon Sep 17 00:00:00
>> 2001
>> > > +From 4afb8adc83348bf75964fc10af7902e04dd62637 Mon Sep 17 00:00:00
>> 2001
>> > >  From: Chen Qi <Qi.Chen@windriver.com>
>> > >  Date: Mon, 25 Feb 2019 13:55:12 +0800
>> > > -Subject: [PATCH 03/26] missing_type.h: add __compare_fn_t and
>> comparison_fn_t
>> > > +Subject: [PATCH] missing_type.h: add __compare_fn_t and
>> comparison_fn_t
>> > >
>> > >  Make it work with musl where comparison_fn_t and __compare_fn_t
>> > >  is not provided.
>> > > @@ -13,11 +13,12 @@ Signed-off-by: Alex Kiernan <
>> alex.kiernan@gmail.com>
>> > >  Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> > >  [Rebased for v242]
>> > >  Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
>> > > +
>> > >  ---
>> > > - src/basic/missing_type.h | 9 +++++++++
>> > > - src/basic/sort-util.h    | 1 +
>> > > - src/core/kmod-setup.c    | 1 +
>> > > - src/journal/catalog.c    | 1 +
>> > > + src/basic/missing_type.h            | 9 +++++++++
>> > > + src/basic/sort-util.h               | 1 +
>> > > + src/core/kmod-setup.c               | 1 +
>> > > + src/libsystemd/sd-journal/catalog.c | 1 +
>> > >   4 files changed, 12 insertions(+)
>> > >
>> > >  diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
>> > > @@ -38,7 +39,7 @@ index f6233090a9..aeaf6ad5ec 100644
>> > >  +typedef int (*__compar_fn_t)(const void *, const void *);
>> > >  +#endif
>> > >  diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
>> > > -index 3394c9eb72..d9cb2aecb6 100644
>> > > +index d92a5ab0ed..a63867c716 100644
>> > >  --- a/src/basic/sort-util.h
>> > >  +++ b/src/basic/sort-util.h
>> > >  @@ -4,6 +4,7 @@
>> > > @@ -61,10 +62,10 @@ index 8a7f82812a..a56f12f47f 100644
>> > >
>> > >   #if HAVE_KMOD
>> > >   #include "module-util.h"
>> > > -diff --git a/src/journal/catalog.c b/src/journal/catalog.c
>> > > -index 0f6ad8a29e..4e1077ade4 100644
>> > > ---- a/src/journal/catalog.c
>> > > -+++ b/src/journal/catalog.c
>> > > +diff --git a/src/libsystemd/sd-journal/catalog.c
>> b/src/libsystemd/sd-journal/catalog.c
>> > > +index aea3241d18..75e6c56a28 100644
>> > > +--- a/src/libsystemd/sd-journal/catalog.c
>> > > ++++ b/src/libsystemd/sd-journal/catalog.c
>> > >  @@ -28,6 +28,7 @@
>> > >   #include "string-util.h"
>> > >   #include "strv.h"
>> > > @@ -73,6 +74,3 @@ index 0f6ad8a29e..4e1077ade4 100644
>> > >
>> > >   const char * const catalog_file_dirs[] = {
>> > >           "/usr/local/lib/systemd/catalog/",
>> > > ---
>> > > -2.27.0
>> > > -
>> > > diff --git
>> a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
>> b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
>> > > index bdd64a0252..dc40a2fe8d 100644
>> > > ---
>> a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
>> > > +++
>> b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
>> > > @@ -1,7 +1,7 @@
>> > > -From f3dbe29f7620a063af4d8eb3ea7c48ecd410200d Mon Sep 17 00:00:00
>> 2001
>> > > -From: Chen Qi <Qi.Chen@windriver.com>
>> > > -Date: Mon, 25 Feb 2019 14:04:21 +0800
>> > > -Subject: [PATCH 04/26] add fallback parse_printf_format
>> implementation
>> > > +From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00:00:00
>> 2001
>> > > +From: Alexander Kanavin <alex.kanavin@gmail.com>
>> > > +Date: Sat, 22 May 2021 20:26:24 +0200
>> > > +Subject: [PATCH] [PATCH] add fallback parse_printf_format
>> implementation
>> > >
>> > >  Upstream-Status: Inappropriate [musl specific]
>> > >
>> > > @@ -11,21 +11,21 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> > >  [rebased for systemd 243]
>> > >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
>> > >  ---
>> > > - meson.build                     |   1 +
>> > > - src/basic/meson.build           |   5 +
>> > > - src/basic/parse-printf-format.c | 273
>> ++++++++++++++++++++++++++++++++
>> > > - src/basic/parse-printf-format.h |  57 +++++++
>> > > - src/basic/stdio-util.h          |   2 +-
>> > > - src/journal/journal-send.c      |   2 +-
>> > > + meson.build                              |   1 +
>> > > + src/basic/meson.build                    |   5 +
>> > > + src/basic/parse-printf-format.c          | 273
>> +++++++++++++++++++++++
>> > > + src/basic/parse-printf-format.h          |  57 +++++
>> > > + src/basic/stdio-util.h                   |   2 +-
>> > > + src/libsystemd/sd-journal/journal-send.c |   2 +-
>> > >   6 files changed, 338 insertions(+), 2 deletions(-)
>> > >   create mode 100644 src/basic/parse-printf-format.c
>> > >   create mode 100644 src/basic/parse-printf-format.h
>> > >
>> > >  diff --git a/meson.build b/meson.build
>> > > -index f406d595e6..6aa47fc755 100644
>> > > +index 27186d63a3..2abb7b3188 100644
>> > >  --- a/meson.build
>> > >  +++ b/meson.build
>> > > -@@ -646,6 +646,7 @@ endif
>> > > +@@ -675,6 +675,7 @@ endif
>> > >   foreach header : ['crypt.h',
>> > >                     'linux/memfd.h',
>> > >                     'linux/vm_sockets.h',
>> > > @@ -34,21 +34,21 @@ index f406d595e6..6aa47fc755 100644
>> > >                     'valgrind/memcheck.h',
>> > >                     'valgrind/valgrind.h',
>> > >  diff --git a/src/basic/meson.build b/src/basic/meson.build
>> > > -index 1183ea83ad..aa5c958850 100644
>> > > +index 60ef801a25..aba2172edd 100644
>> > >  --- a/src/basic/meson.build
>> > >  +++ b/src/basic/meson.build
>> > > -@@ -322,6 +322,11 @@ foreach item : [['af',     af_list_txt,
>>  'af',         ''],
>> > > - endforeach
>> > > +@@ -341,6 +341,11 @@ endforeach
>> > >
>> > >   basic_sources += generated_gperf_headers
>> > > -+
>> > > +
>> > >  +if conf.get('HAVE_PRINTF_H') != 1
>> > >  +        basic_sources += [files('parse-printf-format.c')]
>> > >  +endif
>> > >  +
>> > > - basic_gcrypt_sources = files(
>> > > -         'gcrypt-util.c',
>> > > -         'gcrypt-util.h')
>> > > ++
>> > > + ############################################################
>> > > +
>> > > + arch_list = [
>> > >  diff --git a/src/basic/parse-printf-format.c
>> b/src/basic/parse-printf-format.c
>> > >  new file mode 100644
>> > >  index 0000000000..49437e5445
>> > > @@ -410,10 +410,10 @@ index 6dc1e72312..cea76b36cf 100644
>> > >
>> > >   #define snprintf_ok(buf, len, fmt, ...) \
>> > >           ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
>> > > -diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
>> > > +diff --git a/src/libsystemd/sd-journal/journal-send.c
>> b/src/libsystemd/sd-journal/journal-send.c
>> > >  index fd3fd7ef9c..e8e6ad555b 100644
>> > > ---- a/src/journal/journal-send.c
>> > > -+++ b/src/journal/journal-send.c
>> > > +--- a/src/libsystemd/sd-journal/journal-send.c
>> > > ++++ b/src/libsystemd/sd-journal/journal-send.c
>> > >  @@ -2,7 +2,6 @@
>> > >
>> > >   #include <errno.h>
>> > > @@ -431,5 +431,5 @@ index fd3fd7ef9c..e8e6ad555b 100644
>> > >   #define SNDBUF_SIZE (8*1024*1024)
>> > >
>> > >  --
>> > > -2.27.0
>> > > +2.24.0
>> > >
>> > > diff --git
>> a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
>> b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
>> > > index d63e3c0d09..a0d757b3f3 100644
>> > > ---
>> a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
>> > > +++
>> b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
>> > > @@ -1,7 +1,7 @@
>> > > -From 5aeae0ea89f5af74ed5d95bed1d87a03b3801ff0 Mon Sep 17 00:00:00
>> 2001
>> > > +From 6b0732ac7164914ce16e231e35980b849bdfc4c8 Mon Sep 17 00:00:00
>> 2001
>> > >  From: Chen Qi <Qi.Chen@windriver.com>
>> > >  Date: Mon, 25 Feb 2019 14:18:21 +0800
>> > > -Subject: [PATCH 05/26] src/basic/missing.h: check for missing
>> strndupa
>> > > +Subject: [PATCH] src/basic/missing.h: check for missing strndupa
>> > >
>> > >  include missing.h  for definition of strndupa
>> > >
>> > > @@ -17,6 +17,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com
>> >
>> > >  [rebased for systemd 244]
>> > >  [Rebased for v247]
>> > >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>> > > +
>> > >  ---
>> > >   meson.build                                |  1 +
>> > >   src/backlight/backlight.c                  |  1 +
>> > > @@ -25,6 +26,7 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >   src/basic/log.c                            |  1 +
>> > >   src/basic/missing_stdlib.h                 | 12 ++++++++++++
>> > >   src/basic/mkdir.c                          |  1 +
>> > > + src/basic/mountpoint-util.c                |  1 +
>> > >   src/basic/parse-util.c                     |  1 +
>> > >   src/basic/path-lookup.c                    |  1 +
>> > >   src/basic/proc-cmdline.c                   |  1 +
>> > > @@ -41,12 +43,12 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >   src/coredump/coredump-vacuum.c             |  1 +
>> > >   src/journal-remote/journal-remote-main.c   |  1 +
>> > >   src/journal/journalctl.c                   |  1 +
>> > > - src/journal/sd-journal.c                   |  1 +
>> > >   src/libsystemd/sd-bus/bus-message.c        |  1 +
>> > >   src/libsystemd/sd-bus/bus-objects.c        |  1 +
>> > >   src/libsystemd/sd-bus/bus-socket.c         |  1 +
>> > >   src/libsystemd/sd-bus/sd-bus.c             |  1 +
>> > >   src/libsystemd/sd-bus/test-bus-benchmark.c |  1 +
>> > > + src/libsystemd/sd-journal/sd-journal.c     |  1 +
>> > >   src/locale/keymap-util.c                   |  1 +
>> > >   src/login/pam_systemd.c                    |  1 +
>> > >   src/network/generator/network-generator.c  |  1 +
>> > > @@ -68,18 +70,22 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >   src/udev/udev-builtin-path_id.c            |  1 +
>> > >   src/udev/udev-event.c                      |  1 +
>> > >   src/udev/udev-rules.c                      |  1 +
>> > > - 50 files changed, 61 insertions(+)
>> > > + 51 files changed, 62 insertions(+)
>> > >
>> > > +diff --git a/meson.build b/meson.build
>> > > +index 2abb7b3188..c97f09062b 100644
>> > >  --- a/meson.build
>> > >  +++ b/meson.build
>> > > -@@ -535,6 +535,7 @@ foreach ident : [
>> > > -                                  #include <sys/wait.h>'''],
>> > > -         ['mallinfo',          '''#include <malloc.h>'''],
>> > > +@@ -550,6 +550,7 @@ foreach ident : [
>> > > +         ['execveat',          '''#include <unistd.h>'''],
>> > >           ['close_range',       '''#include <unistd.h>'''],
>> > > +         ['epoll_pwait2',      '''#include <sys/epoll.h>'''],
>> > >  +        ['strndupa' ,         '''#include <string.h>'''],
>> > >   ]
>> > >
>> > >           have = cc.has_function(ident[0], prefix : ident[1], args :
>> '-D_GNU_SOURCE')
>> > > +diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
>> > > +index 86927be62e..a34be158a0 100644
>> > >  --- a/src/backlight/backlight.c
>> > >  +++ b/src/backlight/backlight.c
>> > >  @@ -19,6 +19,7 @@
>> > > @@ -90,6 +96,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static int help(void) {
>> > >           _cleanup_free_ char *link = NULL;
>> > > +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
>> > > +index 8dd3f8cd95..50c1ae1b2b 100644
>> > >  --- a/src/basic/cgroup-util.c
>> > >  +++ b/src/basic/cgroup-util.c
>> > >  @@ -38,6 +38,7 @@
>> > > @@ -100,9 +108,11 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static int cg_enumerate_items(const char *controller, const char
>> *path, FILE **_f, const char *item) {
>> > >           _cleanup_free_ char *fs = NULL;
>> > > +diff --git a/src/basic/env-util.c b/src/basic/env-util.c
>> > > +index c110a750a5..e1f091b01e 100644
>> > >  --- a/src/basic/env-util.c
>> > >  +++ b/src/basic/env-util.c
>> > > -@@ -15,6 +15,7 @@
>> > > +@@ -18,6 +18,7 @@
>> > >   #include "string-util.h"
>> > >   #include "strv.h"
>> > >   #include "utf8.h"
>> > > @@ -110,6 +120,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   /* We follow bash for the character set. Different shells have
>> different rules. */
>> > >   #define VALID_BASH_ENV_NAME_CHARS               \
>> > > +diff --git a/src/basic/log.c b/src/basic/log.c
>> > > +index 595db0c395..daff8eb68a 100644
>> > >  --- a/src/basic/log.c
>> > >  +++ b/src/basic/log.c
>> > >  @@ -36,6 +36,7 @@
>> > > @@ -120,6 +132,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   #define SNDBUF_SIZE (8*1024*1024)
>> > >
>> > > +diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
>> > > +index 8c76f93eb2..9068bfb4f0 100644
>> > >  --- a/src/basic/missing_stdlib.h
>> > >  +++ b/src/basic/missing_stdlib.h
>> > >  @@ -11,3 +11,15 @@
>> > > @@ -138,6 +152,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >  +    (char *)memcpy(__new, __old, __len); \
>> > >  +  })
>> > >  +#endif
>> > > +diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
>> > > +index f91f8f7a08..fb31596216 100644
>> > >  --- a/src/basic/mkdir.c
>> > >  +++ b/src/basic/mkdir.c
>> > >  @@ -14,6 +14,7 @@
>> > > @@ -148,9 +164,23 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   int mkdir_safe_internal(
>> > >                   const char *path,
>> > > +diff --git a/src/basic/mountpoint-util.c
>> b/src/basic/mountpoint-util.c
>> > > +index 1d617e87b2..346f9a47d7 100644
>> > > +--- a/src/basic/mountpoint-util.c
>> > > ++++ b/src/basic/mountpoint-util.c
>> > > +@@ -12,6 +12,7 @@
>> > > + #include "missing_stat.h"
>> > > + #include "missing_syscall.h"
>> > > + #include "mkdir.h"
>> > > ++#include "missing_stdlib.h"
>> > > + #include "mountpoint-util.h"
>> > > + #include "parse-util.h"
>> > > + #include "path-util.h"
>> > > +diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
>> > > +index b79c885dfd..6dabda5691 100644
>> > >  --- a/src/basic/parse-util.c
>> > >  +++ b/src/basic/parse-util.c
>> > > -@@ -22,6 +22,7 @@
>> > > +@@ -19,6 +19,7 @@
>> > >   #include "stat-util.h"
>> > >   #include "string-util.h"
>> > >   #include "strv.h"
>> > > @@ -158,6 +188,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   int parse_boolean(const char *v) {
>> > >           if (!v)
>> > > +diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
>> > > +index e53c2302b1..ca1d40ccbe 100644
>> > >  --- a/src/basic/path-lookup.c
>> > >  +++ b/src/basic/path-lookup.c
>> > >  @@ -15,6 +15,7 @@
>> > > @@ -168,6 +200,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   int xdg_user_runtime_dir(char **ret, const char *suffix) {
>> > >           const char *e;
>> > > +diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
>> > > +index 410b8a3eb5..f2c4355609 100644
>> > >  --- a/src/basic/proc-cmdline.c
>> > >  +++ b/src/basic/proc-cmdline.c
>> > >  @@ -15,6 +15,7 @@
>> > > @@ -178,6 +212,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   int proc_cmdline(char **ret) {
>> > >           const char *e;
>> > > +diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
>> > > +index ccab71f7d2..8f9eee8d36 100644
>> > >  --- a/src/basic/procfs-util.c
>> > >  +++ b/src/basic/procfs-util.c
>> > >  @@ -11,6 +11,7 @@
>> > > @@ -188,6 +224,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   int procfs_tasks_get_limit(uint64_t *ret) {
>> > >           _cleanup_free_ char *value = NULL;
>> > > +diff --git a/src/basic/selinux-util.c b/src/basic/selinux-util.c
>> > > +index ee9e34ed47..96c1e9362d 100644
>> > >  --- a/src/basic/selinux-util.c
>> > >  +++ b/src/basic/selinux-util.c
>> > >  @@ -27,6 +27,7 @@
>> > > @@ -197,7 +235,9 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >  +#include "missing_stdlib.h"
>> > >
>> > >   #if HAVE_SELINUX
>> > > - DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free);
>> > > + DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(context_t, context_free, NULL);
>> > > +diff --git a/src/basic/time-util.c b/src/basic/time-util.c
>> > > +index 78d0390a00..47c38ca691 100644
>> > >  --- a/src/basic/time-util.c
>> > >  +++ b/src/basic/time-util.c
>> > >  @@ -27,6 +27,7 @@
>> > > @@ -208,6 +248,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static clockid_t map_clock_id(clockid_t c) {
>> > >
>> > > +diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
>> > > +index 97ad1e0cb5..9d60f3cc79 100644
>> > >  --- a/src/boot/bless-boot.c
>> > >  +++ b/src/boot/bless-boot.c
>> > >  @@ -18,6 +18,7 @@
>> > > @@ -218,16 +260,20 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static char **arg_path = NULL;
>> > >
>> > > +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
>> > > +index 04d2ba34f3..651ca9412e 100644
>> > >  --- a/src/core/dbus-cgroup.c
>> > >  +++ b/src/core/dbus-cgroup.c
>> > > -@@ -16,6 +16,7 @@
>> > > - #include "fileio.h"
>> > > +@@ -17,6 +17,7 @@
>> > >   #include "limits-util.h"
>> > >   #include "path-util.h"
>> > > + #include "percent-util.h"
>> > >  +#include "missing_stdlib.h"
>> > >
>> > >   BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax,
>> tasks_max_resolve);
>> > >
>> > > +diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
>> > > +index 5239c41d67..0f604efe98 100644
>> > >  --- a/src/core/dbus-execute.c
>> > >  +++ b/src/core/dbus-execute.c
>> > >  @@ -41,6 +41,7 @@
>> > > @@ -238,9 +284,11 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output,
>> exec_output, ExecOutput);
>> > >   static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input,
>> exec_input, ExecInput);
>> > > +diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
>> > > +index 44a2ccfca0..3926ccfa4a 100644
>> > >  --- a/src/core/dbus-util.c
>> > >  +++ b/src/core/dbus-util.c
>> > > -@@ -7,6 +7,7 @@
>> > > +@@ -9,6 +9,7 @@
>> > >   #include "unit-printf.h"
>> > >   #include "user-util.h"
>> > >   #include "unit.h"
>> > > @@ -248,16 +296,20 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   int bus_property_get_triggered_unit(
>> > >                   sd_bus *bus,
>> > > +diff --git a/src/core/execute.c b/src/core/execute.c
>> > > +index 922913e7af..f82fc294c0 100644
>> > >  --- a/src/core/execute.c
>> > >  +++ b/src/core/execute.c
>> > >  @@ -96,6 +96,7 @@
>> > > - #include "unit.h"
>> > > + #include "unit-serialize.h"
>> > >   #include "user-util.h"
>> > >   #include "utmp-wtmp.h"
>> > >  +#include "missing_stdlib.h"
>> > >
>> > >   #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
>> > >   #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
>> > > +diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
>> > > +index a56f12f47f..6b8729ef67 100644
>> > >  --- a/src/core/kmod-setup.c
>> > >  +++ b/src/core/kmod-setup.c
>> > >  @@ -11,6 +11,7 @@
>> > > @@ -268,6 +320,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   #if HAVE_KMOD
>> > >   #include "module-util.h"
>> > > +diff --git a/src/core/service.c b/src/core/service.c
>> > > +index 4c5bfb17fb..8c05f36119 100644
>> > >  --- a/src/core/service.c
>> > >  +++ b/src/core/service.c
>> > >  @@ -41,6 +41,7 @@
>> > > @@ -278,6 +332,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static const UnitActiveState
>> state_translation_table[_SERVICE_STATE_MAX] = {
>> > >           [SERVICE_DEAD] = UNIT_INACTIVE,
>> > > +diff --git a/src/coredump/coredump-vacuum.c
>> b/src/coredump/coredump-vacuum.c
>> > > +index 95c3fca661..d4a9f27b08 100644
>> > >  --- a/src/coredump/coredump-vacuum.c
>> > >  +++ b/src/coredump/coredump-vacuum.c
>> > >  @@ -16,6 +16,7 @@
>> > > @@ -288,9 +344,11 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL)
>>        /* 1 MiB */
>> > >   #define DEFAULT_MAX_USE_UPPER (uint64_t)
>> (4ULL*1024ULL*1024ULL*1024ULL)   /* 4 GiB */
>> > > +diff --git a/src/journal-remote/journal-remote-main.c
>> b/src/journal-remote/journal-remote-main.c
>> > > +index ae1d43756a..24de98c9f3 100644
>> > >  --- a/src/journal-remote/journal-remote-main.c
>> > >  +++ b/src/journal-remote/journal-remote-main.c
>> > > -@@ -22,6 +22,7 @@
>> > > +@@ -24,6 +24,7 @@
>> > >   #include "stat-util.h"
>> > >   #include "string-table.h"
>> > >   #include "strv.h"
>> > > @@ -298,9 +356,11 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
>> > >   #define CERT_FILE     CERTIFICATE_ROOT "/certs/journal-remote.pem"
>> > > +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
>> > > +index 76d05c1eee..0beb77b2e5 100644
>> > >  --- a/src/journal/journalctl.c
>> > >  +++ b/src/journal/journalctl.c
>> > > -@@ -73,6 +73,7 @@
>> > > +@@ -72,6 +72,7 @@
>> > >   #include "unit-name.h"
>> > >   #include "user-util.h"
>> > >   #include "varlink.h"
>> > > @@ -308,19 +368,11 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
>> > >   #define PROCESS_INOTIFY_INTERVAL 1024   /* Every 1,024 messages
>> processed */
>> > > ---- a/src/journal/sd-journal.c
>> > > -+++ b/src/journal/sd-journal.c
>> > > -@@ -40,6 +40,7 @@
>> > > - #include "string-util.h"
>> > > - #include "strv.h"
>> > > - #include "syslog-util.h"
>> > > -+#include "missing_stdlib.h"
>> > > -
>> > > - #define JOURNAL_FILES_MAX 7168
>> > > -
>> > > +diff --git a/src/libsystemd/sd-bus/bus-message.c
>> b/src/libsystemd/sd-bus/bus-message.c
>> > > +index b25064b672..b3bbe63a91 100644
>> > >  --- a/src/libsystemd/sd-bus/bus-message.c
>> > >  +++ b/src/libsystemd/sd-bus/bus-message.c
>> > > -@@ -21,6 +21,7 @@
>> > > +@@ -20,6 +20,7 @@
>> > >   #include "strv.h"
>> > >   #include "time-util.h"
>> > >   #include "utf8.h"
>> > > @@ -328,9 +380,11 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static int message_append_basic(sd_bus_message *m, char type, const
>> void *p, const void **stored);
>> > >
>> > > +diff --git a/src/libsystemd/sd-bus/bus-objects.c
>> b/src/libsystemd/sd-bus/bus-objects.c
>> > > +index bfd42aea7d..daefc56e3e 100644
>> > >  --- a/src/libsystemd/sd-bus/bus-objects.c
>> > >  +++ b/src/libsystemd/sd-bus/bus-objects.c
>> > > -@@ -13,6 +13,7 @@
>> > > +@@ -12,6 +12,7 @@
>> > >   #include "set.h"
>> > >   #include "string-util.h"
>> > >   #include "strv.h"
>> > > @@ -338,6 +392,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static int node_vtable_get_userdata(
>> > >                   sd_bus *bus,
>> > > +diff --git a/src/libsystemd/sd-bus/bus-socket.c
>> b/src/libsystemd/sd-bus/bus-socket.c
>> > > +index 832526cc1b..7bff701806 100644
>> > >  --- a/src/libsystemd/sd-bus/bus-socket.c
>> > >  +++ b/src/libsystemd/sd-bus/bus-socket.c
>> > >  @@ -28,6 +28,7 @@
>> > > @@ -348,29 +404,47 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   #define SNDBUF_SIZE (8*1024*1024)
>> > >
>> > > +diff --git a/src/libsystemd/sd-bus/sd-bus.c
>> b/src/libsystemd/sd-bus/sd-bus.c
>> > > +index e719c74370..ac2a605680 100644
>> > >  --- a/src/libsystemd/sd-bus/sd-bus.c
>> > >  +++ b/src/libsystemd/sd-bus/sd-bus.c
>> > >  @@ -41,6 +41,7 @@
>> > > - #include "process-util.h"
>> > >   #include "string-util.h"
>> > >   #include "strv.h"
>> > > + #include "user-util.h"
>> > >  +#include "missing_stdlib.h"
>> > >
>> > >   #define log_debug_bus_message(m)
>>      \
>> > >           do {
>>      \
>> > > +diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c
>> b/src/libsystemd/sd-bus/test-bus-benchmark.c
>> > > +index 13c08fe295..9aae83486e 100644
>> > >  --- a/src/libsystemd/sd-bus/test-bus-benchmark.c
>> > >  +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
>> > >  @@ -14,6 +14,7 @@
>> > > - #include "missing_resource.h"
>> > > + #include "string-util.h"
>> > >   #include "time-util.h"
>> > >   #include "util.h"
>> > >  +#include "missing_stdlib.h"
>> > >
>> > >   #define MAX_SIZE (2*1024*1024)
>> > >
>> > > +diff --git a/src/libsystemd/sd-journal/sd-journal.c
>> b/src/libsystemd/sd-journal/sd-journal.c
>> > > +index c90b4c926e..0efdccff5d 100644
>> > > +--- a/src/libsystemd/sd-journal/sd-journal.c
>> > > ++++ b/src/libsystemd/sd-journal/sd-journal.c
>> > > +@@ -40,6 +40,7 @@
>> > > + #include "string-util.h"
>> > > + #include "strv.h"
>> > > + #include "syslog-util.h"
>> > > ++#include "missing_stdlib.h"
>> > > +
>> > > + #define JOURNAL_FILES_MAX 7168
>> > > +
>> > > +diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
>> > > +index d2f0566dbc..3b7746557e 100644
>> > >  --- a/src/locale/keymap-util.c
>> > >  +++ b/src/locale/keymap-util.c
>> > > -@@ -21,6 +21,7 @@
>> > > +@@ -24,6 +24,7 @@
>> > >   #include "string-util.h"
>> > >   #include "strv.h"
>> > >   #include "tmpfile-util.h"
>> > > @@ -378,6 +452,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static bool startswith_comma(const char *s, const char *prefix) {
>> > >           s = startswith(s, prefix);
>> > > +diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
>> > > +index 2021c31bd5..58eb09808d 100644
>> > >  --- a/src/login/pam_systemd.c
>> > >  +++ b/src/login/pam_systemd.c
>> > >  @@ -31,6 +31,7 @@
>> > > @@ -388,6 +464,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >   #include "pam-util.h"
>> > >   #include "parse-util.h"
>> > >   #include "path-util.h"
>> > > +diff --git a/src/network/generator/network-generator.c
>> b/src/network/generator/network-generator.c
>> > > +index ae673ddf5b..a79e5114ca 100644
>> > >  --- a/src/network/generator/network-generator.c
>> > >  +++ b/src/network/generator/network-generator.c
>> > >  @@ -13,6 +13,7 @@
>> > > @@ -398,6 +476,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   /*
>> > >     # .network
>> > > +diff --git a/src/nspawn/nspawn-settings.c
>> b/src/nspawn/nspawn-settings.c
>> > > +index d4619bead5..0e832fd994 100644
>> > >  --- a/src/nspawn/nspawn-settings.c
>> > >  +++ b/src/nspawn/nspawn-settings.c
>> > >  @@ -16,6 +16,7 @@
>> > > @@ -408,19 +488,23 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   Settings *settings_new(void) {
>> > >           Settings *s;
>> > > +diff --git a/src/nss-mymachines/nss-mymachines.c
>> b/src/nss-mymachines/nss-mymachines.c
>> > > +index 44715bb3e5..bc1e688b5e 100644
>> > >  --- a/src/nss-mymachines/nss-mymachines.c
>> > >  +++ b/src/nss-mymachines/nss-mymachines.c
>> > > -@@ -19,6 +19,7 @@
>> > > +@@ -21,6 +21,7 @@
>> > >   #include "nss-util.h"
>> > >   #include "signal-util.h"
>> > >   #include "string-util.h"
>> > >  +#include "missing_stdlib.h"
>> > >
>> > > - NSS_GETHOSTBYNAME_PROTOTYPES(mymachines);
>> > > - NSS_GETPW_PROTOTYPES(mymachines);
>> > > + static void setup_logging(void) {
>> > > +         /* We need a dummy function because log_parse_environment
>> is a macro. */
>> > > +diff --git a/src/portable/portable.c b/src/portable/portable.c
>> > > +index f201f52531..c78ad0f471 100644
>> > >  --- a/src/portable/portable.c
>> > >  +++ b/src/portable/portable.c
>> > > -@@ -31,6 +31,7 @@
>> > > +@@ -32,6 +32,7 @@
>> > >   #include "strv.h"
>> > >   #include "tmpfile-util.h"
>> > >   #include "user-util.h"
>> > > @@ -428,9 +512,11 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static const char profile_dirs[] =
>> CONF_PATHS_NULSTR("systemd/portable/profile");
>> > >
>> > > +diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
>> > > +index 52bbae3293..4ccbae09c4 100644
>> > >  --- a/src/resolve/resolvectl.c
>> > >  +++ b/src/resolve/resolvectl.c
>> > > -@@ -37,6 +37,7 @@
>> > > +@@ -41,6 +41,7 @@
>> > >   #include "terminal-util.h"
>> > >   #include "utf8.h"
>> > >   #include "verbs.h"
>> > > @@ -438,6 +524,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static int arg_family = AF_UNSPEC;
>> > >   static int arg_ifindex = 0;
>> > > +diff --git a/src/shared/bus-get-properties.c
>> b/src/shared/bus-get-properties.c
>> > > +index feb6d3807f..eb11d29e50 100644
>> > >  --- a/src/shared/bus-get-properties.c
>> > >  +++ b/src/shared/bus-get-properties.c
>> > >  @@ -4,6 +4,7 @@
>> > > @@ -448,6 +536,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   int bus_property_get_bool(
>> > >                   sd_bus *bus,
>> > > +diff --git a/src/shared/bus-unit-procs.c
>> b/src/shared/bus-unit-procs.c
>> > > +index b76125e551..2e0892242f 100644
>> > >  --- a/src/shared/bus-unit-procs.c
>> > >  +++ b/src/shared/bus-unit-procs.c
>> > >  @@ -10,6 +10,7 @@
>> > > @@ -458,9 +548,11 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   struct CGroupInfo {
>> > >           char *cgroup_path;
>> > > +diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
>> > > +index a75178068b..3de06e2bd5 100644
>> > >  --- a/src/shared/bus-unit-util.c
>> > >  +++ b/src/shared/bus-unit-util.c
>> > > -@@ -44,6 +44,7 @@
>> > > +@@ -45,6 +45,7 @@
>> > >   #include "unit-def.h"
>> > >   #include "user-util.h"
>> > >   #include "utf8.h"
>> > > @@ -468,6 +560,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
>> > >           assert(message);
>> > > +diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
>> > > +index 64ca67993c..31e3d148ea 100644
>> > >  --- a/src/shared/bus-util.c
>> > >  +++ b/src/shared/bus-util.c
>> > >  @@ -21,6 +21,7 @@
>> > > @@ -478,6 +572,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static int name_owner_change_callback(sd_bus_message *m, void
>> *userdata, sd_bus_error *ret_error) {
>> > >           sd_event *e = userdata;
>> > > +diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
>> > > +index e43aa12882..cec9b413c1 100644
>> > >  --- a/src/shared/dns-domain.c
>> > >  +++ b/src/shared/dns-domain.c
>> > >  @@ -17,6 +17,7 @@
>> > > @@ -488,6 +584,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   int dns_label_unescape(const char **name, char *dest, size_t sz,
>> DNSLabelFlags flags) {
>> > >           const char *n;
>> > > +diff --git a/src/shared/journal-importer.c
>> b/src/shared/journal-importer.c
>> > > +index b2785f0552..5f00902882 100644
>> > >  --- a/src/shared/journal-importer.c
>> > >  +++ b/src/shared/journal-importer.c
>> > >  @@ -14,6 +14,7 @@
>> > > @@ -498,6 +596,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   enum {
>> > >           IMPORTER_STATE_LINE = 0,    /* waiting to read, or reading
>> line */
>> > > +diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
>> > > +index e63c59bd94..dd9773c009 100644
>> > >  --- a/src/shared/logs-show.c
>> > >  +++ b/src/shared/logs-show.c
>> > >  @@ -41,6 +41,7 @@
>> > > @@ -508,6 +608,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   /* up to three lines (each up to 100 characters) or 300 characters,
>> whichever is less */
>> > >   #define PRINT_LINE_THRESHOLD 3
>> > > +diff --git a/src/shared/pager.c b/src/shared/pager.c
>> > > +index 4bbad7e37b..eefcdd068c 100644
>> > >  --- a/src/shared/pager.c
>> > >  +++ b/src/shared/pager.c
>> > >  @@ -26,6 +26,7 @@
>> > > @@ -518,6 +620,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static pid_t pager_pid = 0;
>> > >
>> > > +diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
>> > > +index 5d5bf7f21d..f1002ffa6c 100644
>> > >  --- a/src/shared/uid-range.c
>> > >  +++ b/src/shared/uid-range.c
>> > >  @@ -9,6 +9,7 @@
>> > > @@ -528,6 +632,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static bool uid_range_intersect(UidRange *range, uid_t start, uid_t
>> nr) {
>> > >           assert(range);
>> > > +diff --git a/src/socket-proxy/socket-proxyd.c
>> b/src/socket-proxy/socket-proxyd.c
>> > > +index 6e3ee0d76b..7727e33d95 100644
>> > >  --- a/src/socket-proxy/socket-proxyd.c
>> > >  +++ b/src/socket-proxy/socket-proxyd.c
>> > >  @@ -26,6 +26,7 @@
>> > > @@ -538,6 +644,8 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   #define BUFFER_SIZE (256 * 1024)
>> > >
>> > > +diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
>> > > +index c9d318b8d1..fcb8d40805 100644
>> > >  --- a/src/test/test-hexdecoct.c
>> > >  +++ b/src/test/test-hexdecoct.c
>> > >  @@ -6,6 +6,7 @@
>> > > @@ -548,19 +656,23 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   static void test_hexchar(void) {
>> > >           assert_se(hexchar(0xa) == 'a');
>> > > +diff --git a/src/udev/udev-builtin-path_id.c
>> b/src/udev/udev-builtin-path_id.c
>> > > +index 09cc1c3bd8..8a7d3152a7 100644
>> > >  --- a/src/udev/udev-builtin-path_id.c
>> > >  +++ b/src/udev/udev-builtin-path_id.c
>> > >  @@ -22,6 +22,7 @@
>> > > - #include "strv.h"
>> > >   #include "sysexits.h"
>> > >   #include "udev-builtin.h"
>> > > + #include "udev-util.h"
>> > >  +#include "missing_stdlib.h"
>> > >
>> > >   _printf_(2,3)
>> > >   static void path_prepend(char **path, const char *fmt, ...) {
>> > > +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
>> > > +index 12597194a9..208b2458b5 100644
>> > >  --- a/src/udev/udev-event.c
>> > >  +++ b/src/udev/udev-event.c
>> > > -@@ -34,6 +34,7 @@
>> > > +@@ -33,6 +33,7 @@
>> > >   #include "udev-util.h"
>> > >   #include "udev-watch.h"
>> > >   #include "user-util.h"
>> > > @@ -568,9 +680,11 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   typedef struct Spawn {
>> > >           sd_device *device;
>> > > +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
>> > > +index 57ede6a197..dc59857765 100644
>> > >  --- a/src/udev/udev-rules.c
>> > >  +++ b/src/udev/udev-rules.c
>> > > -@@ -30,6 +30,7 @@
>> > > +@@ -31,6 +31,7 @@
>> > >   #include "udev-rules.h"
>> > >   #include "user-util.h"
>> > >   #include "virt.h"
>> > > @@ -578,13 +692,3 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >
>> > >   #define RULES_DIRS (const char* const*)
>> CONF_PATHS_STRV("udev/rules.d")
>> > >
>> > > ---- a/src/basic/mountpoint-util.c
>> > > -+++ b/src/basic/mountpoint-util.c
>> > > -@@ -10,6 +10,7 @@
>> > > - #include "fs-util.h"
>> > > - #include "missing_stat.h"
>> > > - #include "missing_syscall.h"
>> > > -+#include "missing_stdlib.h"
>> > > - #include "mountpoint-util.h"
>> > > - #include "parse-util.h"
>> > > - #include "path-util.h"
>> > > diff --git
>> a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
>> b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
>> > > index a978558b42..54d714266e 100644
>> > > ---
>> a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
>> > > +++
>> b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
>> > > @@ -1,7 +1,7 @@
>> > > -From d3ed0da271738fd0fc3d3e4d82d6f5810334b05e Mon Sep 17 00:00:00
>> 2001
>> > > +From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 Mon Sep 17 00:00:00
>> 2001
>> > >  From: Khem Raj <raj.khem@gmail.com>
>> > >  Date: Thu, 26 Oct 2017 22:10:42 -0700
>> > > -Subject: [PATCH 06/26] Include netinet/if_ether.h
>> > > +Subject: [PATCH] Include netinet/if_ether.h
>> > >
>> > >  Fixes
>> > >
>> /path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8:
>> error: redefinition of 'struct ethhdr'
>> > > @@ -31,6 +31,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> > >  Signed-off-by: Scott Murray <scott.murray@konsulko.com>
>> > >  [rebased for systemd 247]
>> > >  Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
>> > > +
>> > >  ---
>> > >   src/libsystemd-network/sd-dhcp6-client.c  | 1 -
>> > >   src/libsystemd/sd-netlink/netlink-types.c | 1 +
>> > > @@ -56,7 +57,7 @@ Signed-off-by: Luca Boccassi <
>> luca.boccassi@microsoft.com>
>> > >   21 files changed, 26 insertions(+), 8 deletions(-)
>> > >
>> > >  diff --git a/src/libsystemd-network/sd-dhcp6-client.c
>> b/src/libsystemd-network/sd-dhcp6-client.c
>> > > -index 66f87c4b95..de1264ae46 100644
>> > > +index 410bfda10e..e70ed8be92 100644
>> > >  --- a/src/libsystemd-network/sd-dhcp6-client.c
>> > >  +++ b/src/libsystemd-network/sd-dhcp6-client.c
>> > >  @@ -5,7 +5,6 @@
>> > > @@ -68,7 +69,7 @@ index 66f87c4b95..de1264ae46 100644
>> > >
>> > >   #include "sd-dhcp6-client.h"
>> > >  diff --git a/src/libsystemd/sd-netlink/netlink-types.c
>> b/src/libsystemd/sd-netlink/netlink-types.c
>> > > -index 6fb6c147d9..8eda02d202 100644
>> > > +index ed7b9a8cd1..112c0b09e4 100644
>> > >  --- a/src/libsystemd/sd-netlink/netlink-types.c
>> > >  +++ b/src/libsystemd/sd-netlink/netlink-types.c
>> > >  @@ -3,6 +3,7 @@
>> > > @@ -80,7 +81,7 @@ index 6fb6c147d9..8eda02d202 100644
>> > >   #include <linux/netlink.h>
>> > >   #include <linux/rtnetlink.h>
>> > >  diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
>> > > -index bb67beb665..f5780f1aec 100644
>> > > +index e7c4ed3c7c..3a1e4f9072 100644
>> > >  --- a/src/machine/machine-dbus.c
>> > >  +++ b/src/machine/machine-dbus.c
>> > >  @@ -3,6 +3,7 @@
>> > > @@ -92,7 +93,7 @@ index bb67beb665..f5780f1aec 100644
>> > >   /* When we include libgen.h because we need dirname() we immediately
>> > >    * undefine basename() since libgen.h defines it as a macro to the
>> POSIX
>> > >  diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
>> > > -index e27f36067b..8868f1da5d 100644
>> > > +index cf7ca88d6f..34ab468191 100644
>> > >  --- a/src/network/netdev/bond.c
>> > >  +++ b/src/network/netdev/bond.c
>> > >  @@ -1,5 +1,6 @@
>> > > @@ -103,7 +104,7 @@ index e27f36067b..8868f1da5d 100644
>> > >   #include "bond.h"
>> > >   #include "bond-util.h"
>> > >  diff --git a/src/network/netdev/bridge.c
>> b/src/network/netdev/bridge.c
>> > > -index 1f59cd8b42..5fdbae7e99 100644
>> > > +index 38432f1578..79ccfe578e 100644
>> > >  --- a/src/network/netdev/bridge.c
>> > >  +++ b/src/network/netdev/bridge.c
>> > >  @@ -1,5 +1,6 @@
>> > > @@ -114,7 +115,7 @@ index 1f59cd8b42..5fdbae7e99 100644
>> > >
>> > >   #include "bridge.h"
>> > >  diff --git a/src/network/netdev/macsec.c
>> b/src/network/netdev/macsec.c
>> > > -index 82e71c3920..fbae86e216 100644
>> > > +index 77c5f8c4e7..04be1b4ab2 100644
>> > >  --- a/src/network/netdev/macsec.c
>> > >  +++ b/src/network/netdev/macsec.c
>> > >  @@ -1,5 +1,6 @@
>> > > @@ -125,19 +126,19 @@ index 82e71c3920..fbae86e216 100644
>> > >   #include <linux/if_ether.h>
>> > >   #include <linux/if_macsec.h>
>> > >  diff --git a/src/network/netdev/netdev-gperf.gperf
>> b/src/network/netdev/netdev-gperf.gperf
>> > > -index 4e89761f2c..91251fa6ec 100644
>> > > +index 8abe044890..3c54c58928 100644
>> > >  --- a/src/network/netdev/netdev-gperf.gperf
>> > >  +++ b/src/network/netdev/netdev-gperf.gperf
>> > > -@@ -2,6 +2,7 @@
>> > > +@@ -3,6 +3,7 @@
>> > >   #if __GNUC__ >= 7
>> > >   _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
>> > >   #endif
>> > >  +#include <netinet/if_ether.h>
>> > >   #include <stddef.h>
>> > >   #include "bareudp.h"
>> > > - #include "bond.h"
>> > > + #include "batadv.h"
>> > >  diff --git a/src/network/netdev/netdev.c
>> b/src/network/netdev/netdev.c
>> > > -index 9f390b5781..62aeafb1e4 100644
>> > > +index b31f0fa81a..c80e1ff537 100644
>> > >  --- a/src/network/netdev/netdev.c
>> > >  +++ b/src/network/netdev/netdev.c
>> > >  @@ -1,5 +1,6 @@
>> > > @@ -148,7 +149,7 @@ index 9f390b5781..62aeafb1e4 100644
>> > >   #include <netinet/in.h>
>> > >   #include <unistd.h>
>> > >  diff --git a/src/network/networkd-brvlan.c
>> b/src/network/networkd-brvlan.c
>> > > -index e53c73c30c..9bf0771b84 100644
>> > > +index 2847b336c9..4d6af8c642 100644
>> > >  --- a/src/network/networkd-brvlan.c
>> > >  +++ b/src/network/networkd-brvlan.c
>> > >  @@ -4,6 +4,7 @@
>> > > @@ -160,7 +161,7 @@ index e53c73c30c..9bf0771b84 100644
>> > >   #include <stdbool.h>
>> > >
>> > >  diff --git a/src/network/networkd-dhcp-common.c
>> b/src/network/networkd-dhcp-common.c
>> > > -index 9f58121350..554d006cb8 100644
>> > > +index 00d055cf8d..65821c1d31 100644
>> > >  --- a/src/network/networkd-dhcp-common.c
>> > >  +++ b/src/network/networkd-dhcp-common.c
>> > >  @@ -1,7 +1,8 @@
>> > > @@ -171,9 +172,9 @@ index 9f58121350..554d006cb8 100644
>> > >  +#include <net/if_arp.h>
>> > >  +#include <net/if.h>
>> > >
>> > > + #include "bus-error.h"
>> > >   #include "dhcp-internal.h"
>> > > - #include "dhcp6-internal.h"
>> > > -@@ -10,6 +11,7 @@
>> > > +@@ -11,6 +12,7 @@
>> > >   #include "networkd-dhcp-common.h"
>> > >   #include "networkd-link.h"
>> > >   #include "networkd-manager.h"
>> > > @@ -182,7 +183,7 @@ index 9f58121350..554d006cb8 100644
>> > >   #include "parse-util.h"
>> > >   #include "socket-util.h"
>> > >  diff --git a/src/network/networkd-dhcp-server.c
>> b/src/network/networkd-dhcp-server.c
>> > > -index cf279c640d..bae541029b 100644
>> > > +index 5cdf432c27..93cffb9863 100644
>> > >  --- a/src/network/networkd-dhcp-server.c
>> > >  +++ b/src/network/networkd-dhcp-server.c
>> > >  @@ -1,8 +1,8 @@
>> > > @@ -197,7 +198,7 @@ index cf279c640d..bae541029b 100644
>> > >   #include "sd-dhcp-server.h"
>> > >
>> > >  diff --git a/src/network/networkd-dhcp4.c
>> b/src/network/networkd-dhcp4.c
>> > > -index f3c1e5f609..e4ef6eca63 100644
>> > > +index 23dc3a45db..7ae6c2467a 100644
>> > >  --- a/src/network/networkd-dhcp4.c
>> > >  +++ b/src/network/networkd-dhcp4.c
>> > >  @@ -1,9 +1,9 @@
>> > > @@ -212,7 +213,7 @@ index f3c1e5f609..e4ef6eca63 100644
>> > >   #include "escape.h"
>> > >   #include "alloc-util.h"
>> > >  diff --git a/src/network/networkd-dhcp6.c
>> b/src/network/networkd-dhcp6.c
>> > > -index 5c077c1ec8..fa98042aa5 100644
>> > > +index aa077d6219..4f6ce22059 100644
>> > >  --- a/src/network/networkd-dhcp6.c
>> > >  +++ b/src/network/networkd-dhcp6.c
>> > >  @@ -3,9 +3,9 @@
>> > > @@ -227,7 +228,7 @@ index 5c077c1ec8..fa98042aa5 100644
>> > >   #include "sd-dhcp6-client.h"
>> > >
>> > >  diff --git a/src/network/networkd-link.c
>> b/src/network/networkd-link.c
>> > > -index 3bfe636691..e0c68c8ad3 100644
>> > > +index 8219d95b0d..c92230453b 100644
>> > >  --- a/src/network/networkd-link.c
>> > >  +++ b/src/network/networkd-link.c
>> > >  @@ -1,8 +1,8 @@
>> > > @@ -241,7 +242,7 @@ index 3bfe636691..e0c6
>>
>>

[-- Attachment #2: Type: text/html, Size: 103432 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [OE-core] [PATCH 02/21] systemd: update 247.6 -> 248.3
  2021-05-25 14:02           ` Alexander Kanavin
@ 2021-05-25 14:16             ` Richard Purdie
  2021-05-25 14:29               ` Alexander Kanavin
  0 siblings, 1 reply; 29+ messages in thread
From: Richard Purdie @ 2021-05-25 14:16 UTC (permalink / raw)
  To: Alexander Kanavin, Khem Raj
  Cc: Patches and discussions about the oe-core layer

On Tue, 2021-05-25 at 16:02 +0200, Alexander Kanavin wrote:
> Sorry, but that is not a good answer. If the next version upgrade 
> is a pain because of those patches, I will actually make a patch
> that drops them.

I'm going to wade in on this at this point.

systemd is a tricky one. Khem has been doing a good job keeping it 
working on musl and that is important to some set of our users so 
I'm going to continue to enable him and others to do that.

I'm not sure the current patch approach cases a huge issue, worst
case it gets broken and then fixed as just happened.

Cheers,

Richard


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [OE-core] [PATCH 02/21] systemd: update 247.6 -> 248.3
  2021-05-25 14:16             ` Richard Purdie
@ 2021-05-25 14:29               ` Alexander Kanavin
  0 siblings, 0 replies; 29+ messages in thread
From: Alexander Kanavin @ 2021-05-25 14:29 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Khem Raj, Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 884 bytes --]

On Tue, 25 May 2021 at 16:16, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Tue, 2021-05-25 at 16:02 +0200, Alexander Kanavin wrote:
> > Sorry, but that is not a good answer. If the next version upgrade
> > is a pain because of those patches, I will actually make a patch
> > that drops them.
>
> I'm going to wade in on this at this point.
>
> systemd is a tricky one. Khem has been doing a good job keeping it
> working on musl and that is important to some set of our users so
> I'm going to continue to enable him and others to do that.
>
> I'm not sure the current patch approach cases a huge issue, worst
> case it gets broken and then fixed as just happened.
>

That's ok, but then I would suggest that systemd version updates do not
rebase the musl patches, and that is dealt with after the fact by those who
need the feature.

Alex

[-- Attachment #2: Type: text/html, Size: 1273 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [OE-core] [PATCH 18/21] libdnf: update 0.62.0 -> 0.63.0
  2021-05-24  9:13 ` [PATCH 18/21] libdnf: update 0.62.0 -> 0.63.0 Alexander Kanavin
@ 2021-05-28  2:49   ` Chen Qi
  0 siblings, 0 replies; 29+ messages in thread
From: Chen Qi @ 2021-05-28  2:49 UTC (permalink / raw)
  To: Alexander Kanavin, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 1413 bytes --]

Hi Alexander,

This upgrade introduces a regression of building nativesdk-libdnf.
`bitbake nativesdk-libdnf' and we can see do_package failure.

Regards,
Chen Qi

On 05/24/2021 05:13 PM, Alexander Kanavin wrote:
> Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> ---
>   .../libdnf/{libdnf_0.62.0.bb => libdnf_0.63.0.bb}             | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>   rename meta/recipes-devtools/libdnf/{libdnf_0.62.0.bb => libdnf_0.63.0.bb} (94%)
>
> diff --git a/meta/recipes-devtools/libdnf/libdnf_0.62.0.bb b/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb
> similarity index 94%
> rename from meta/recipes-devtools/libdnf/libdnf_0.62.0.bb
> rename to meta/recipes-devtools/libdnf/libdnf_0.63.0.bb
> index e2c2c41c6a..79e8865456 100644
> --- a/meta/recipes-devtools/libdnf/libdnf_0.62.0.bb
> +++ b/meta/recipes-devtools/libdnf/libdnf_0.63.0.bb
> @@ -14,8 +14,8 @@ SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master \
>              file://0001-libdnf-config.h-avoid-the-use-of-non-portable-__WORD.patch \
>              "
>   
> -SRCREV = "9a0e17562b19586b3ffa70fa93eb961b558794c7"
> -UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
> +SRCREV = "669a5c691acba91693d238d6262ac99a440aa9b3"
> +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(?!4\.90)\d+(\.\d+)+)"
>   
>   S = "${WORKDIR}/git"
>   
>
>
> 
>


[-- Attachment #2: Type: text/html, Size: 2174 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2021-05-28  2:40 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-24  9:13 [PATCH 01/21] gdk-pixbuf: update a patch status Alexander Kanavin
2021-05-24  9:13 ` [PATCH 02/21] systemd: update 247.6 -> 248.3 Alexander Kanavin
2021-05-25  0:18   ` [OE-core] " Khem Raj
2021-05-25  1:40     ` Khem Raj
2021-05-25  7:55       ` Alexander Kanavin
2021-05-25 13:52         ` Khem Raj
2021-05-25 14:02           ` Alexander Kanavin
2021-05-25 14:16             ` Richard Purdie
2021-05-25 14:29               ` Alexander Kanavin
2021-05-24  9:13 ` [PATCH 03/21] systemd-conf: do not version in lockstep with systemd Alexander Kanavin
2021-05-24  9:13 ` [PATCH 04/21] gnu-config: update to latest revision Alexander Kanavin
2021-05-24  9:13 ` [PATCH 05/21] mmc-utils: " Alexander Kanavin
2021-05-24  9:13 ` [PATCH 06/21] python3-smartypants: fix upstream version check Alexander Kanavin
2021-05-24  9:13 ` [PATCH 07/21] at: upgrade 3.2.1 -> 3.2.2 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 08/21] gnomebase: trim the SRC_URI directory from the back Alexander Kanavin
2021-05-24  9:13 ` [PATCH 09/21] gsettings-desktop-schemas: upgrade 3.38.0 -> 40.0 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 10/21] igt-gpu-tools: upgrade 1.25 -> 1.26 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 11/21] mesa: update 21.0.3 -> 21.1.1 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 12/21] vulkan-samples: update to latest revision Alexander Kanavin
2021-05-24  9:13 ` [PATCH 13/21] libgpg-error: update 1.41 -> 1.42 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 14/21] webkitgtk: update 2.32.0 -> 2.32.1 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 15/21] glib-2.0: update 2.68.1 -> 2.68.2 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 16/21] apt: upgrade 2.2.2 -> 2.2.3 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 17/21] cmake: update 3.20.1 -> 3.20.2 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 18/21] libdnf: update 0.62.0 -> 0.63.0 Alexander Kanavin
2021-05-28  2:49   ` [OE-core] " Chen Qi
2021-05-24  9:13 ` [PATCH 19/21] harfbuzz: update 2.8.0 -> 2.8.1 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 20/21] curl: update 7.76.0 -> 7.76.1 Alexander Kanavin
2021-05-24  9:13 ` [PATCH 21/21] systemtap: update 4.4 -> 4.5 Alexander Kanavin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.