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 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 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 > > 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 > > > --- > > > ...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 > > > -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 > > > ---- > > > - 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 > > > ---- > > > - 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 > > > -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 > > > ---- > > > - 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 > > > -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 > > > 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 > > > Signed-off-by: Andrej Valek > > > [Rebased for v247] > > > Signed-off-by: Luca Boccassi > > > + > > > --- > > > 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 > > > 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 > > > [Rebased for v242] > > > Signed-off-by: Andrej Valek > > > + > > > --- > > > - 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 > > > -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 > > > +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 > > > [rebased for systemd 243] > > > Signed-off-by: Scott Murray > > > --- > > > - 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 > > > @@ -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 > > > 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 > > > [rebased for systemd 244] > > > [Rebased for v247] > > > Signed-off-by: Luca Boccassi > > > + > > > --- > > > 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 '''], > > > - ['mallinfo', '''#include '''], > > > +@@ -550,6 +550,7 @@ foreach ident : [ > > > + ['execveat', '''#include '''], > > > ['close_range', '''#include '''], > > > + ['epoll_pwait2', '''#include '''], > > > + ['strndupa' , '''#include '''], > > > ] > > > > > > 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 > > > 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 > > > Signed-off-by: Scott Murray > > > [rebased for systemd 247] > > > Signed-off-by: Luca Boccassi > > > + > > > --- > > > 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 > > > #include > > > 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 > > > #include > > > 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 > > > #include > > > #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 > > > #include > > > 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 > > > > > > 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 > > > +#include > > > > > > + #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 > > > > > > 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 > > > #include > > > 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 > > > #include > > > 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 > > > 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 > > > Signed-off-by: Chen Qi > > > [rebased for systemd 243] > > > Signed-off-by: Scott Murray > > > + > > > --- > > > 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 > > > 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 > > > + > > > --- > > > 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 > > > 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 > > > + > > > --- > > > 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 > > > 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 > > > [Rebased for v241] > > > Signed-off-by: Chen Qi > > > + > > > --- > > > 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 > > > 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 > > > Signed-off-by: Chen Qi > > > + > > > --- > > > 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 > > > 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 > > > + > > > --- > > > - 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 > > > 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 > > > + > > > --- > > > 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 > > > 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 > > > [rebased for systemd 243] > > > Signed-off-by: Scott Murray > > > + > > > --- > > > 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 > > > 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 > > > + > > > --- > > > - 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 > > > 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 > > > [Rebased for v241] > > > Signed-off-by: Chen Qi > > > + > > > --- > > > 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 > > > 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 > > > + > > > --- > > > 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 > > > 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 > > > + > > > --- > > > 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 > > > 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 > > > + > > > --- > > > 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 > > > 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 > > > + > > > --- > > > 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 > > > 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 > > > + > > > --- > > > 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 > > > 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 > > > Signed-off-by: Andrej Valek > > > [rebased for systemd 243] > > > Signed-off-by: Scott Murray > > > + > > > --- > > > 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 > > > 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 > > > + > > > --- > > > 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 > > > 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 > > > [Rebased for v247] > > > Signed-off-by: Luca Boccassi > > > + > > > --- > > > src/shared/user-record-nss.c | 20 ++++++++++++++++++++ > > > src/shared/user-record-nss.h | 4 ++++ > > > @@ -138,10 +139,10 @@ index 22ab04d6ee..4e52e7a911 100644 > > > #include > > > > > > 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 > > > -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 > > > - > > > -Index: git/src/core/namespace.c > > > -=================================================================== > > > ---- git.orig/src/core/namespace.c > > > -+++ git/src/core/namespace.c > > > -@@ -4,7 +4,9 @@ > > > - #include > > > - #include > > > - #include > > > -+#include > > > - #include > > > -+#include > > > - #include > > > - #include > > > - > > > -@@ -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 > > > 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 > > > + > > > --- > > > 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 > > > #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 > > > > > > > > > > > > >