From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173]) by mx.groups.io with SMTP id smtpd.web08.10180.1621950775506587628 for ; Tue, 25 May 2021 06:52:56 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20161025 header.b=GqhhuKm6; spf=pass (domain: gmail.com, ip: 209.85.222.173, mailfrom: raj.khem@gmail.com) Received: by mail-qk1-f173.google.com with SMTP id j184so8369750qkd.6 for ; Tue, 25 May 2021 06:52:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Zwm84Ftmg9LQ6md+XO/Q4oELEoVpyyh8Z8z+a1J7YVI=; b=GqhhuKm604cbyd8W01ffhy8Th7pqO6JS2OyAgMsA2dvIDw5wrWfzRigHm2TOlQwtJP tdakFKKvnLYO/Go42/pQ4C9Fl4PupN/kiT9C8LSed+M40Kg7QH3V87b1pOmOVX/xN11u 6uuwNOmYxsNjrN5QA88SRwkW0IElCIF85xkfydJEAmUeBlPeJ74v1vLePPysSsQouViP rXqSiwf47skpOZm0QEkQlSEkYxoybsoMs7QtqQuBft0ZkngkKNH2D0WOo1NhVfE3TYvy yF/u93fr3aonXDAIebk/LpjR4CmgfssUbtToDkpg34pBx5icEBSAE8CmHUnmQHC6F4jM uqiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Zwm84Ftmg9LQ6md+XO/Q4oELEoVpyyh8Z8z+a1J7YVI=; b=TwnKtLrCkmNLeE/Pu58QjB4ecUjT8JbnKQxLqq/Wv3sWeCq4oaSUJQSuW+UzchkSG2 QJiHc8+jv1Cf03LEt9mOYJo+vQClqHppwtE9R16H1f0nQ7PaYlgjHlNItqKneEXLIUCp 30Yd8f+B231AxaSyCi1tuACv/JTfLmC/gIGUQFFbWhGpOkBXJClSx2Vej00x8cAOkPEH 0nWGoXOg47Qj/PddTR7SKBv9AM944u5GcWR8pl1nwsH6/FFExb4MVRVwYA+BhWJ1YU5A Ee/IlDVSUGSpYY8pVkWbP5+wQpeAL6iQPMooQVOyt/Z0aVUteZcucUhOt08Y1DEZik88 s3ZA== X-Gm-Message-State: AOAM531OscfQJrhLWMaQyuwJNdTRDIq9K84oy5H6A3ZKPSBHgglsCirm VfPR0km/7Exm0XcgmNtpgNW04cIZfAE+1DDFmwE= X-Google-Smtp-Source: ABdhPJz2TwkOIq6i+l4VKxaGIOmMuPtml8XlZLNXPwyGK7QHiT2mWRChirC05WFUWbcYisrwC94qR52vrfYHcDDaA4M= X-Received: by 2002:a37:270d:: with SMTP id n13mr34017664qkn.146.1621950774102; Tue, 25 May 2021 06:52:54 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a37:5643:0:0:0:0:0 with HTTP; Tue, 25 May 2021 06:52:53 -0700 (PDT) In-Reply-To: References: <20210524091347.419253-1-alex.kanavin@gmail.com> <20210524091347.419253-2-alex.kanavin@gmail.com> From: "Khem Raj" Date: Tue, 25 May 2021 06:52:53 -0700 Message-ID: Subject: Re: [OE-core] [PATCH 02/21] systemd: update 247.6 -> 248.3 To: Alexander Kanavin Cc: Richard Purdie , Patches and discussions about the oe-core layer Content-Type: multipart/alternative; boundary="000000000000bbd0c905c327d751" --000000000000bbd0c905c327d751 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tuesday, May 25, 2021, Alexander Kanavin wrote: > I have to ask: should musl patches for systemd be maintained separately? > It's a big pile, they aren't accepted by upstream, they aren't tested on > the AB (hence I didn't even notice the breakage), and they cause rebase > problems at every version upgrade. > > I would propose that a separate recipe is made that takes the sources fro= m > a repo, rather than carry the patches in oe-core. > It=E2=80=99s fine as it is > > 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 =3D> 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 =3D> 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 =3D> > 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 =3D> > systemd_248.3.bb} (99%) > > > > > > diff --git a/meta/recipes-core/systemd/files/ > 48fff0a2af3f62acd446ebec8081b039b72caad8.patch > b/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b0 > 39b72caad8.patch > > > deleted file mode 100644 > > > index e3ce296741..0000000000 > > > --- a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b0 > 39b72caad8.patch > > > +++ /dev/null > > > @@ -1,179 +0,0 @@ > > > -From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00 > 2001 > > > -From: Daan De Meyer > > > -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 =3D > EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID; > > > - static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx; > > > -diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h > > > -index 41df3a406e..2c69af552a 100644 > > > ---- a/src/boot/efi/console.h > > > -+++ b/src/boot/efi/console.h > > > -@@ -1,11 +1,7 @@ > > > - /* SPDX-License-Identifier: LGPL-2.1-or-later */ > > > - #pragma once > > > - > > > --#define EFI_SHIFT_STATE_VALID 0x80000000 > > > --#define EFI_RIGHT_CONTROL_PRESSED 0x00000004 > > > --#define EFI_LEFT_CONTROL_PRESSED 0x00000008 > > > --#define EFI_RIGHT_ALT_PRESSED 0x00000010 > > > --#define EFI_LEFT_ALT_PRESSED 0x00000020 > > > -+#include "missing_efi.h" > > > - > > > - #define EFI_CONTROL_PRESSED (EFI_RIGHT_CONTROL_PRESSED| > EFI_LEFT_CONTROL_PRESSED) > > > - #define EFI_ALT_PRESSED (EFI_RIGHT_ALT_PRESSED|EFI_ > LEFT_ALT_PRESSED) > > > -diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h > > > -index 1b838af2a4..b6aae1eb5b 100644 > > > ---- a/src/boot/efi/missing_efi.h > > > -+++ b/src/boot/efi/missing_efi.h > > > -@@ -53,3 +53,70 @@ typedef struct _EFI_RNG_PROTOCOL { > > > - } EFI_RNG_PROTOCOL; > > > - > > > - #endif > > > -+ > > > -+#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID > > > -+ > > > -+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \ > > > -+ { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, > 0x17, 0xa6, 0x25, 0xaa } } > > > -+ > > > -+#define EFI_SHIFT_STATE_VALID 0x80000000 > > > -+#define EFI_RIGHT_CONTROL_PRESSED 0x00000004 > > > -+#define EFI_LEFT_CONTROL_PRESSED 0x00000008 > > > -+#define EFI_RIGHT_ALT_PRESSED 0x00000010 > > > -+#define EFI_LEFT_ALT_PRESSED 0x00000020 > > > -+ > > > -+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL; > > > -+ > > > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)( > > > -+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, > > > -+ BOOLEAN ExtendedVerification > > > -+); > > > -+ > > > -+typedef UINT8 EFI_KEY_TOGGLE_STATE; > > > -+ > > > -+typedef struct { > > > -+ UINT32 KeyShiftState; > > > -+ EFI_KEY_TOGGLE_STATE KeyToggleState; > > > -+} EFI_KEY_STATE; > > > -+ > > > -+typedef struct { > > > -+ EFI_INPUT_KEY Key; > > > -+ EFI_KEY_STATE KeyState; > > > -+} EFI_KEY_DATA; > > > -+ > > > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)( > > > -+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, > > > -+ EFI_KEY_DATA *KeyData > > > -+); > > > -+ > > > -+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)( > > > -+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, > > > -+ EFI_KEY_TOGGLE_STATE *KeyToggleState > > > -+); > > > -+ > > > -+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)( > > > -+ EFI_KEY_DATA *KeyData > > > -+); > > > -+ > > > -+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)( > > > -+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, > > > -+ EFI_KEY_DATA KeyData, > > > -+ EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction, > > > -+ VOID **NotifyHandle > > > -+); > > > -+ > > > -+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)( > > > -+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, > > > -+ VOID *NotificationHandle > > > -+); > > > -+ > > > -+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL { > > > -+ EFI_INPUT_RESET_EX Reset; > > > -+ EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx; > > > -+ EFI_EVENT WaitForKeyEx; > > > -+ EFI_SET_STATE SetState; > > > -+ EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify; > > > -+ EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify; > > > -+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL; > > > -+ > > > -+#endif > > > diff --git a/meta/recipes-core/systemd/files/ > 7c5fd25119a495009ea62f79e5daec34cc464628.patch > b/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec > 34cc464628.patch > > > deleted file mode 100644 > > > index ae449791f1..0000000000 > > > --- a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec > 34cc464628.patch > > > +++ /dev/null > > > @@ -1,53 +0,0 @@ > > > -From 7c5fd25119a495009ea62f79e5daec34cc464628 Mon Sep 17 00:00:00 > 2001 > > > -From: =3D?UTF-8?q?Zbigniew=3D20J=3DC4=3D99drzejewski-Szmek?=3D < > 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 =3D custom_target( > > > - depends : html_pages, > > > - command : ['echo']) > > > - > > > --run_target( > > > -- 'doc-sync', > > > -- depends : man_pages + html_pages, > > > -- command : ['rsync', '-rlv', > > > -- '--delete-excluded', > > > -- '--include=3Dman', > > > -- '--include=3D*.html', > > > -- '--exclude=3D*', > > > -- '--omit-dir-times', > > > -- meson.current_build_dir(), > > > -- get_option('www-target')]) > > > -+rsync =3D find_program('rsync', required : false) > > > -+if rsync.found() > > > -+ run_target( > > > -+ 'doc-sync', > > > -+ depends : man_pages + html_pages, > > > -+ command : [rsync, '-rlv', > > > -+ '--delete-excluded', > > > -+ '--include=3Dman', > > > -+ '--include=3D*.html', > > > -+ '--exclude=3D*', > > > -+ '--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 =3D "GPLv2 & LGPLv2.1" > > > LIC_FILES_CHKSUM =3D "file://LICENSE.GPL2;md5=3D > 751419260aa954499f7abaabaa882bbe \ > > > file://LICENSE.LGPL2.1;md5=3D > 4fbd65380cdd255951079008b364516c" > > > > > > -SRCREV =3D "17472dca0160cbe7b807ca648475fd70d0d62fe5" > > > -SRCBRANCH =3D "v247-stable" > > > +SRCREV =3D "37c4cfde0ce613f0f00544d3f4e2e72bf93d9c76" > > > +SRCBRANCH =3D "v248-stable" > > > SRC_URI =3D "git://github.com/systemd/systemd-stable.git;protocol=3D > git;branch=3D${SRCBRANCH} > > \ > > > - file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \ > > > - file://48fff0a2af3f62acd446ebec8081b039b72caad8.patch \ > > > " > > > > > > S =3D "${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 i= s > not executable: %m", exec->path); > > > -+ r =3D find_executable_full(exec->path, false, NULL); > > > -+ if (r < 0) > > > -+ return log_unit_error_errno(u, r, "Command %s is no= t > 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 polki= t > > > - > > > -4acf0cfd2f ("logind: check PolicyKit before allowing VT switch") bro= ke > > > -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 PolicyKi= t > > > -policy so that non-root users are again allowed to switch the VT. Th= is > > > -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 =3D bus_verify_polkit_async( > > > -- message, > > > -- CAP_SYS_ADMIN, > > > -- "org.freedesktop.login1.chvt", > > > -- NULL, > > > -- false, > > > -- UID_INVALID, > > > -- &m->polkit_registry, > > > -- error); > > > -+ r =3D check_polkit_chvt(message, m, error); > > > - if (r < 0) > > > - return r; > > > - if (r =3D=3D 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_messa= ge > *message, void *userdata, sd_b > > > - if (session->seat !=3D s) > > > - return sd_bus_error_setf(error, > BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id); > > > - > > > -- r =3D bus_verify_polkit_async( > > > -- message, > > > -- CAP_SYS_ADMIN, > > > -- "org.freedesktop.login1.chvt", > > > -- NULL, > > > -- false, > > > -- UID_INVALID, > > > -- &s->manager->polkit_registry, > > > -- error); > > > -+ r =3D check_polkit_chvt(message, s->manager, error); > > > - if (r < 0) > > > - return r; > > > - if (r =3D=3D 0) > > > -@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message > *message, void *userdata, sd_bus_erro > > > - if (to <=3D 0) > > > - return sd_bus_error_setf(error, > SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal"); > > > - > > > -- r =3D bus_verify_polkit_async( > > > -- message, > > > -- CAP_SYS_ADMIN, > > > -- "org.freedesktop.login1.chvt", > > > -- NULL, > > > -- false, > > > -- UID_INVALID, > > > -- &s->manager->polkit_registry, > > > -- error); > > > -+ r =3D check_polkit_chvt(message, s->manager, error); > > > - if (r < 0) > > > - return r; > > > - if (r =3D=3D 0) > > > -@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message > *message, void *userdata, sd_bus > > > - assert(message); > > > - assert(s); > > > - > > > -- r =3D bus_verify_polkit_async( > > > -- message, > > > -- CAP_SYS_ADMIN, > > > -- "org.freedesktop.login1.chvt", > > > -- NULL, > > > -- false, > > > -- UID_INVALID, > > > -- &s->manager->polkit_registry, > > > -- error); > > > -+ r =3D check_polkit_chvt(message, s->manager, error); > > > - if (r < 0) > > > - return r; > > > - if (r =3D=3D 0) > > > -@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_mes= sage > *message, void *userdata, sd > > > - assert(message); > > > - assert(s); > > > - > > > -- r =3D bus_verify_polkit_async( > > > -- message, > > > -- CAP_SYS_ADMIN, > > > -- "org.freedesktop.login1.chvt", > > > -- NULL, > > > -- false, > > > -- UID_INVALID, > > > -- &s->manager->polkit_registry, > > > -- error); > > > -+ r =3D check_polkit_chvt(message, s->manager, error); > > > - if (r < 0) > > > - return r; > > > - if (r =3D=3D 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 =3D bus_verify_polkit_async( > > > -- message, > > > -- CAP_SYS_ADMIN, > > > -- "org.freedesktop.login1.chvt", > > > -- NULL, > > > -- false, > > > -- UID_INVALID, > > > -- &s->manager->polkit_registry, > > > -- error); > > > -+ r =3D check_polkit_chvt(message, s->manager, error); > > > - if (r < 0) > > > - return r; > > > - if (r =3D=3D 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 =3D 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-s= pecific-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])*) =3D 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 <=3D 1) > > > - return; > > > @@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644 > > > - int (*_func_)(const typeof(p[0])*, const > typeof(p[0])*, typeof(userdata)) =3D 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 =3D 0; i < n_rows; i++) > > > sorted[i] =3D 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 =3D 0; i < n_rows; i++) > > > sorted[i] =3D 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[] =3D { > > > "/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 implementati= on > > > +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 +=3D generated_gperf_headers > > > -+ > > > + > > > +if conf.get('HAVE_PRINTF_H') !=3D 1 > > > + basic_sources +=3D [files('parse-printf-format.c')] > > > +endif > > > + > > > - basic_gcrypt_sources =3D files( > > > - 'gcrypt-util.c', > > > - 'gcrypt-util.h') > > > ++ > > > + ############################################################ > > > + > > > + arch_list =3D [ > > > 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 strndu= pa > > > +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 =3D 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 =3D 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 =3D 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 =3D 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 =3D 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] > =3D { > > > [SERVICE_DEAD] =3D 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 =3D 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 i= s > 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[] =3D 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 =3D AF_UNSPEC; > > > static int arg_ifindex =3D 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 =3D 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 =3D 0, /* waiting to read, or readin= g > 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 =3D 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) =3D=3D '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-i= f_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 immediatel= y > > > * 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__ >=3D 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..e0c6 > > --000000000000bbd0c905c327d751 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Tuesday, May 25, 2021, Alexander Kanavin <alex.kanavin@gmail.com> wrote:
I have to ask: should musl patche= s 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 versio= n upgrade.

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

It=E2=80=99s fine as= it is=C2=A0
=C2=A0

Alex

= On Tue, 25 May 2021 at 03:41, Khem Raj <raj.khem@gmail.com> wrote:
since master-next broke my CI, I have sent a fix on top= of this.
Please include that

On Mon, May 24, 2021 at 5:18 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> Fails to compile for musl
>
> https://errors.yoctoproject.org/Erro= rs/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-st= rndupa.patch
>
> On Mon, May 24, 2021 at 2:14 AM Alexander Kanavin
> <alex.k= anavin@gmail.com> wrote:
> >
> > Drop backports:
> > 48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > 7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > 0001-analyze-resolve-executable-path-if-it-is-relative.= patch
> > 0001-analyze-resolve-executable-path-if-it-is-relative.= patch
> >
> > Drop 0027-proc-dont-trigger-mount-error-with-invalid-options= -o.patch
> > as difficult to rebase; please resend if you feel strongly that > > it is needed.
> >
> > Rebase the big pile of musl patches.
> >
> > Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ---
> >=C2=A0 ...f0a2af3f62acd446ebec8081b039b72caad8.patch | 1= 79 --------------
> >=C2=A0 ...d25119a495009ea62f79e5daec34cc464628.patch |= =C2=A0 53 ----
> >=C2=A0 ...md-boot_247.6.bb =3D> systemd-boot_248.3.bb}= |=C2=A0 =C2=A00
> >=C2=A0 meta/recipes-core/systemd/systemd.inc=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0|=C2=A0 =C2=A06 +-
> >=C2=A0 ...ve-executable-path-if-it-is-relative.patch |=C2=A0 = 39 ---
> >=C2=A0 ...chvt-as-non-root-user-without-polkit.patch | 227 --= ----------------
> >=C2=A0 ...002-don-t-use-glibc-specific-qsort_r.patch |=C2=A0 = 29 ++-
> >=C2=A0 ...dd-__compare_fn_t-and-comparison_fn_.patch |=C2=A0 = 26 +-
> >=C2=A0 ...k-parse_printf_format-implementation.patch |=C2=A0 = 46 ++--
> >=C2=A0 ...missing.h-check-for-missing-strndupa.patch | 204 ++= ++++++++++----
> >=C2=A0 .../0006-Include-netinet-if_ether.h.patch=C2=A0 =C2=A0= =C2=A0|=C2=A0 56 +++--
> >=C2=A0 ...OB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch |=C2=A0 = 17 +-
> >=C2=A0 ...008-add-missing-FTW_-macros-for-musl.patch |=C2=A0 = =C2=A08 +-
> >=C2=A0 ..._register_atfork-for-non-glibc-build.patch |=C2=A0 = 12 +-
> >=C2=A0 ...10-Use-uintmax_t-for-handling-rlim_t.patch |=C2=A0 = 18 +-
> >=C2=A0 ...sable-tests-for-missing-typedefs-in-.patch |=C2=A0 = =C2=A09 +-
> >=C2=A0 ...T_SYMLINK_NOFOLLOW-flag-to-faccessat.patch |=C2=A0 = 19 +-
> >=C2=A0 ...patible-basename-for-non-glibc-syste.patch |=C2=A0 = 11 +-
> >=C2=A0 ...uffering-when-writing-to-oom_score_a.patch |=C2=A0 = 12 +-
> >=C2=A0 ...compliant-strerror_r-from-GNU-specif.patch |=C2=A0 = 46 ++--
> >=C2=A0 ...S_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch |=C2=A0 = =C2=A08 +-
> >=C2=A0 ...ype.h-add-__compar_d_fn_t-definition.patch |=C2=A0 = =C2=A08 +-
> >=C2=A0 ...definition-of-prctl_mm_map-structure.patch |=C2=A0 = =C2=A08 +-
> >=C2=A0 .../systemd/0019-Handle-missing-LOCK_EX.patch |=C2=A0 = 10 +-
> >=C2=A0 ...ible-pointer-type-struct-sockaddr_un.patch |=C2=A0 = 12 +-
> >=C2=A0 .../0021-test-json.c-define-M_PIl.patch=C2=A0 =C2=A0 = =C2=A0 =C2=A0|=C2=A0 =C2=A08 +-
> >=C2=A0 ...-not-disable-buffer-in-writing-files.patch | 116 ++= ++-----
> >=C2=A0 .../0025-Handle-__cpu_mask-usage.patch=C2=A0 =C2=A0 = =C2=A0 =C2=A0 |=C2=A0 =C2=A08 +-
> >=C2=A0 .../systemd/0026-Handle-missing-gshadow.patch |=C2=A0 = 20 +-
> >=C2=A0 ...r-mount-error-with-invalid-options-o.patch |=C2=A0 = 97 --------
> >=C2=A0 ...l.h-Define-MIPS-ABI-defines-for-musl.patch |=C2=A0 = 16 +-
> >=C2=A0 .../{systemd_247.6.bb =3D> systemd_248.3.bb}=C2=A0 = =C2=A0 |=C2=A0 11 +-
> >=C2=A0 32 files changed, 388 insertions(+), 951 deletions(-)
> >=C2=A0 delete mode 100644 meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> >=C2=A0 delete mode 100644 meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> >=C2=A0 rename meta/recipes-core/systemd/{systemd-boot_247.= 6.bb =3D> systemd-boot_248.3.bb} (100%)
> >=C2=A0 delete mode 100644 meta/recipes-core/systemd/systemd/0= 001-analyze-resolve-executable-path-if-it-is-relative.patch
> >=C2=A0 delete mode 100644 meta/recipes-core/systemd/systemd/0= 001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
> >=C2=A0 delete mode 100644 meta/recipes-core/systemd/systemd/0= 027-proc-dont-trigger-mount-error-with-invalid-options-o.patch > >=C2=A0 rename meta/recipes-core/systemd/{systemd_247.6.bb = =3D> systemd_248.3.bb} (99%)
> >
> > diff --git a/meta/recipes-core/systemd/files/48fff0a2af= 3f62acd446ebec8081b039b72caad8.patch b/meta/recipes-core/systemd/= files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
> > deleted file mode 100644
> > index e3ce296741..0000000000
> > --- a/meta/recipes-core/systemd/files/48fff0a2af3f62acd= 446ebec8081b039b72caad8.patch
> > +++ /dev/null
> > @@ -1,179 +0,0 @@
> > -From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00= :00:00 2001
> > -From: Daan De Meyer <daan.j.demeyer@gmail.com>
> > -Date: Fri, 12 Mar 2021 22:09:44 +0000
> > -Subject: [PATCH] boot: Move console declarations to missing_efi.= h
> > -
> > -These were added to eficonex.h in gnu-efi 3.0.13. Let's move= them
> > -to missing_efi.h behind an appropriate guard to fix the build wi= th
> > -recent versions of gnu-efi.
> > -
> > -(cherry picked from commit 95ba433a5f34baf92921fb58051bc824= 1f908c0e)
> > -
> > -Upstream-Status: Backport
> > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ----
> > - src/boot/efi/console.c=C2=A0 =C2=A0 =C2=A0| 57 ----------------= ----------------
> > - src/boot/efi/console.h=C2=A0 =C2=A0 =C2=A0|=C2=A0 6 +---
> > - src/boot/efi/missing_efi.h | 67 ++++++++++++++++++++++++++++++<= wbr>++++++++
> > - 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 \
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 { 0xdd9e7534, 0x7762, 0x4698, { 0x8= c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
> > --
> > --struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 BOOLEAN ExtendedVerification
> > --);
> > --
> > --typedef UINT8 EFI_KEY_TOGGLE_STATE;
> > --
> > --typedef struct {
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 UINT32 KeyShiftState;
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_TOGGLE_STATE KeyToggleState= ;
> > --} EFI_KEY_STATE;
> > --
> > --typedef struct {
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_INPUT_KEY Key;
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_STATE KeyState;
> > --} EFI_KEY_DATA;
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_DATA *KeyData
> > --);
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_TOGGLE_STATE *KeyToggleStat= e
> > --);
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_DATA *KeyData
> > --);
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)= (
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_DATA KeyData,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_NOTIFY_FUNCTION KeyNotifica= tionFunction,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 VOID **NotifyHandle
> > --);
> > --
> > --typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIF= Y)(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 VOID *NotificationHandle
> > --);
> > --
> > --typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_INPUT_RESET_EX Reset;
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_INPUT_READ_KEY_EX ReadKeyStroke= Ex;
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_EVENT WaitForKeyEx;
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_SET_STATE SetState;
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_REGISTER_KEYSTROKE_NOTIFY Regis= terKeyNotify;
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_UNREGISTER_KEYSTROKE_NOTIF= Y UnregisterKeyNotify;
> > --} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > --
> > - EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0EFI_GUID EfiSimpleTextInputExP= rotocolGuid =3D EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0static EFI_SIMPLE_TEXT_INPUT_E= X_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=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A00x80000000
> > --#define EFI_RIGHT_CONTROL_PRESSED=C2=A0 =C2=A0 =C2=A0 =C2=A00x0= 0000004
> > --#define EFI_LEFT_CONTROL_PRESSED=C2=A0 =C2=A0 =C2=A0 =C2=A0 0x0= 0000008
> > --#define EFI_RIGHT_ALT_PRESSED=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A00x00000010
> > --#define EFI_LEFT_ALT_PRESSED=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 0x00000020
> > -+#include "missing_efi.h"
> > -
> > - #define EFI_CONTROL_PRESSED=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0(EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED)
> > - #define EFI_ALT_PRESSED=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0(EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED) > > -diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_e= fi.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 \
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 { 0xdd9e7534, 0x7762, 0x4698, { 0x8= c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
> > -+
> > -+#define EFI_SHIFT_STATE_VALID=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A00x80000000
> > -+#define EFI_RIGHT_CONTROL_PRESSED=C2=A0 =C2=A0 =C2=A0 =C2=A00x0= 0000004
> > -+#define EFI_LEFT_CONTROL_PRESSED=C2=A0 =C2=A0 =C2=A0 =C2=A0 0x0= 0000008
> > -+#define EFI_RIGHT_ALT_PRESSED=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A00x00000010
> > -+#define EFI_LEFT_ALT_PRESSED=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 0x00000020
> > -+
> > -+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 BOOLEAN ExtendedVerification
> > -+);
> > -+
> > -+typedef UINT8 EFI_KEY_TOGGLE_STATE;
> > -+
> > -+typedef struct {
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 UINT32 KeyShiftState;
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_TOGGLE_STATE KeyToggleState= ;
> > -+} EFI_KEY_STATE;
> > -+
> > -+typedef struct {
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_INPUT_KEY Key;
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_STATE KeyState;
> > -+} EFI_KEY_DATA;
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_DATA *KeyData
> > -+);
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_TOGGLE_STATE *KeyToggleStat= e
> > -+);
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_DATA *KeyData
> > -+);
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)= (
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_DATA KeyData,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_KEY_NOTIFY_FUNCTION KeyNotifica= tionFunction,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 VOID **NotifyHandle
> > -+);
> > -+
> > -+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIF= Y)(
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 VOID *NotificationHandle
> > -+);
> > -+
> > -+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_INPUT_RESET_EX Reset;
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_INPUT_READ_KEY_EX ReadKeyStroke= Ex;
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_EVENT WaitForKeyEx;
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_SET_STATE SetState;
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_REGISTER_KEYSTROKE_NOTIFY Regis= terKeyNotify;
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 EFI_UNREGISTER_KEYSTROKE_NOTIF= Y UnregisterKeyNotify;
> > -+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
> > -+
> > -+#endif
> > diff --git a/meta/recipes-core/systemd/files/7c5fd25119= a495009ea62f79e5daec34cc464628.patch b/meta/recipes-core/systemd/= files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
> > deleted file mode 100644
> > index ae449791f1..0000000000
> > --- a/meta/recipes-core/systemd/files/7c5fd25119a495009= ea62f79e5daec34cc464628.patch
> > +++ /dev/null
> > @@ -1,53 +0,0 @@
> > -From 7c5fd25119a495009ea62f79e5daec34cc464628 Mon Sep 17 00= :00:00 2001
> > -From: =3D?UTF-8?q?Zbigniew=3D20J=3DC4=3D99drzejewski-Szmek?= =3D <zbyszek@in.w= aw.pl>
> > -Date: Mon, 12 Apr 2021 14:03:32 +0200
> > -Subject: [PATCH] meson: do not fail if rsync is not installed wi= th meson
> > - 0.57.2
> > -
> > -https://github.com/mesonbuild/meson/= issues/8641
> > -
> > -Our CI started to fail. Even if the change is reverted in meson,=
> > -we need a quick workaround here.
> > -
> > -Upstream-Status: Backport
> > -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
> > ----
> > - man/meson.build | 25 ++++++++++++++-----------
> > - 1 file changed, 14 insertions(+), 11 deletions(-)
> > -
> > -diff --git a/man/meson.build b/man/meson.build
> > -index 3cae8446cda..f9c4b83dc81 100644
> > ---- a/man/meson.build
> > -+++ b/man/meson.build
> > -@@ -184,17 +184,20 @@ html =3D custom_target(
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0depends : html_pages,
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0command : ['echo']) > > -
> > --run_target(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 'doc-sync',
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 depends : man_pages + html_pages, > > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 command : ['rsync', '-r= lv',
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0'--delete-excluded',
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0'--include=3Dman',
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0'--include=3D*.html',
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0'--exclude=3D*',
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0'--omit-dir-times',
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0meson.current_build_dir(),
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0get_option('www-target')])
> > -+rsync =3D find_program('rsync', required : false)
> > -+if rsync.found()
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 run_target(
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 'do= c-sync',
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 depends= : man_pages + html_pages,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 command= : [rsync, '-rlv',
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'--delete-excluded',
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'--include=3Dman',
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'--include=3D*.html',
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'--exclude=3D*',
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'--omit-dir-times',
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0meson.current_build_dir(),
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0get_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/re= cipes-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 =3D "GPLv2 & LGPLv2.1" > >=C2=A0 LIC_FILES_CHKSUM =3D "file://LICENSE.GPL2;md5=3D7= 51419260aa954499f7abaabaa882bbe \
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 file://LICENSE.LGPL2.1;md5=3D4fbd65380cdd255951079008b36451= 6c"
> >
> > -SRCREV =3D "17472dca0160cbe7b807ca648475fd70d0d62= fe5"
> > -SRCBRANCH =3D "v247-stable"
> > +SRCREV =3D "37c4cfde0ce613f0f00544d3f4e2e72bf93d9= c76"
> > +SRCBRANCH =3D "v248-stable"
> >=C2=A0 SRC_URI =3D "git://github.com/systemd/systemd-stable.git;protoco= l=3Dgit;branch=3D${SRCBRANCH} \
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0file://7c5fd25119a= 495009ea62f79e5daec34cc464628.patch \
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0file://48fff0a2af3= f62acd446ebec8081b039b72caad8.patch \
> >=C2=A0 "
> >
> >=C2=A0 S =3D "${WORKDIR}/git"
> > diff --git a/meta/recipes-core/systemd/systemd/0001-analyze-= resolve-executable-path-if-it-is-relative.patch b/meta/recipes-co= re/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-= relative.patch
> > deleted file mode 100644
> > index fd7f94a61d..0000000000
> > --- a/meta/recipes-core/systemd/systemd/0001-analyze-resolve= -executable-path-if-it-is-relative.patch
> > +++ /dev/null
> > @@ -1,39 +0,0 @@
> > -From b9b7a8e3825f0433e120f7a6d7d5d635a839cab9 Mon Sep 17 00= :00:00 2001
> > -From: Mingli Yu <mingli.yu@windriver.com>
> > -Date: Thu, 21 Jan 2021 06:19:44 +0000
> > -Subject: [PATCH] analyze: resolve executable path if it is relat= ive
> > -
> > -Upstream-Status: Backport [https://github.com/systemd/systemd/commit/f1f= b046a985521f7d4a662f02546686ff20b7e5d]
> > -
> > -Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
> > ----
> > - src/analyze/analyze-verify.c | 7 +++++--
> > - 1 file changed, 5 insertions(+), 2 deletions(-)
> > -
> > -diff --git a/src/analyze/analyze-verify.c b/src/analyze/analyze-= verify.c
> > -index a9c89173bf..969523df18 100644
> > ---- a/src/analyze/analyze-verify.c
> > -+++ b/src/analyze/analyze-verify.c
> > -@@ -115,14 +115,17 @@ static int verify_socket(Unit *u) {
> > - }
> > -
> > - int verify_executable(Unit *u, const ExecCommand *exec) {
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 int r;
> > -+
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (!exec)
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn 0;
> > -
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (exec->flags & EXEC_= COMMAND_IGNORE_FAILURE)
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn 0;
> > -
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (access(exec->path, X_OK) <= ; 0)
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return = log_unit_error_errno(u, errno, "Command %s is not executable: %m"= , exec->path);
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D find_executable_full(exec->= ;path, false, NULL);
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (r < 0)
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return = log_unit_error_errno(u, r, "Command %s is not executable: %m", ex= ec->path);
> > -
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return 0;
> > - }
> > ---
> > -2.26.2
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0001-logind-R= estore-chvt-as-non-root-user-without-polkit.patch b/meta/recipes-= core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-wi= thout-polkit.patch
> > deleted file mode 100644
> > index 89ef39bc3e..0000000000
> > --- a/meta/recipes-core/systemd/systemd/0001-logind-Restore-= chvt-as-non-root-user-without-polkit.patch
> > +++ /dev/null
> > @@ -1,227 +0,0 @@
> > -From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00= :00:00 2001
> > -From: Joshua Watt <JPEWhacker@gmail.com>
> > -Date: Fri, 30 Oct 2020 08:15:43 -0500
> > -Subject: [PATCH] logind: Restore chvt as non-root user without p= olkit
> > -
> > -4acf0cfd2f ("logind: check PolicyKit before allowing VT swi= tch") broke
> > -the ability to write user sessions that run graphical sessions (= e.g.
> > -weston/X11). This was partially amended in 19bb87fbfa ("log= in: 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 gr= aphical
> > -sessions as a non-root user.
> > -
> > -Closes #17473
> > ----
> > - src/login/logind-dbus.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 11 += +-------
> > - src/login/logind-polkit.c=C2=A0 =C2=A0 =C2=A0 =C2=A0| 26 ++++++= +++++++++++++++
> > - src/login/logind-polkit.h=C2=A0 =C2=A0 =C2=A0 =C2=A0| 10 ++++++= ++
> > - src/login/logind-seat-dbus.c=C2=A0 =C2=A0 | 41 ++++------------= -----------------
> > - src/login/logind-session-dbus.c | 11 ++-------
> > - src/login/meson.build=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|= =C2=A0 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
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT,
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 "Session %s not on seat %s", session_name, seat_name);=
> > -
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D bus_verify_polkit_async(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 message,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 CAP_SYS_ADMIN,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 "org.freedesktop.login1.chvt",
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 NULL,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 false,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 UID_INVALID,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 &m->polkit_registry,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 error);
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D check_polkit_chvt(message, m,= error);
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r < 0)
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn r;
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r =3D=3D 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 *ma= nager, sd_bus_error *error) {
> > -+#if ENABLE_POLKIT
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 return bus_verify_polkit_async(
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 message,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 CAP_SYS_ADMIN,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 "org.freedesktop.login1.chvt",
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 NULL,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 false,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 UID_INVALID,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 &manager->polkit_registry,
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 error);
> > -+#else
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Allow chvt when polkit is not pr= esent. This allows a service to start a graphical session as a
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* non-root user when polkit i= s not compiled in, matching the default polkit policy */
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 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 *ma= nager, sd_bus_error *error);
> > -+
> > -diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-sea= t-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
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (session->seat !=3D s) > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, "Session = %s not on seat %s", name, s->id);
> > -
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D bus_verify_polkit_async(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 message,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 CAP_SYS_ADMIN,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 "org.freedesktop.login1.chvt",
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 NULL,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 false,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 UID_INVALID,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 &s->manager->polkit_registry,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 error);
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D check_polkit_chvt(message, s-= >manager, error);
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r < 0)
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn r;
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r =3D=3D 0)
> > -@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_mes= sage *message, void *userdata, sd_bus_erro
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (to <=3D 0)
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid virt= ual terminal");
> > -
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D bus_verify_polkit_async(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 message,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 CAP_SYS_ADMIN,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 "org.freedesktop.login1.chvt",
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 NULL,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 false,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 UID_INVALID,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 &s->manager->polkit_registry,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 error);
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D check_polkit_chvt(message, s-= >manager, error);
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r < 0)
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn r;
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r =3D=3D 0)
> > -@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message *message, void *userdata, sd_bus
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0assert(message);
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0assert(s);
> > -
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D bus_verify_polkit_async(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 message,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 CAP_SYS_ADMIN,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 "org.freedesktop.login1.chvt",
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 NULL,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 false,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 UID_INVALID,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 &s->manager->polkit_registry,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 error);
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D check_polkit_chvt(message, s-= >manager, error);
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r < 0)
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn r;
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r =3D=3D 0)
> > -@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_message *message, void *userdata, sd
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0assert(message);
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0assert(s);
> > -
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D bus_verify_polkit_async(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 message,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 CAP_SYS_ADMIN,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 "org.freedesktop.login1.chvt",
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 NULL,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 false,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 UID_INVALID,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 &s->manager->polkit_registry,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 error);
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D check_polkit_chvt(message, s-= >manager, error);
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r < 0)
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn r;
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r =3D=3D 0)
> > -diff --git a/src/login/logind-session-dbus.c b/src/login/lo= gind-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_
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0assert(message);
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0assert(s);
> > -
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D bus_verify_polkit_async(
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 message,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 CAP_SYS_ADMIN,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 "org.freedesktop.login1.chvt",
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 NULL,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 false,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 UID_INVALID,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 &s->manager->polkit_registry,
> > --=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 error);
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 r =3D check_polkit_chvt(message, s-= >manager, error);
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r < 0)
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0re= turn r;
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (r =3D=3D 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 =3D files(''= 9;
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0logind-device.h
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0logind-inhibit.c
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0logind-inhibit.h
> > -+=C2=A0 =C2=A0 =C2=A0 =C2=A0 logind-polkit.c
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0logind-seat-dbus.c
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0logind-seat-dbus.h
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0logind-seat.c
> > ---
> > -2.28.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0002-don-t-us= e-glibc-specific-qsort_r.patch b/meta/recipes-core/systemd/system= d/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
> >=C2=A0 From: Chen Qi <Qi.Chen@windriver.com>
> >=C2=A0 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
> >
> >=C2=A0 Upstream-Status: Inappropriate [musl specific]
> >
> > @@ -12,6 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >=C2=A0 Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> >=C2=A0 [Rebased for v247]
> >=C2=A0 Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com><= br> > > +
> >=C2=A0 ---
> >=C2=A0 =C2=A0src/basic/sort-util.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 | 14 ------------
> >=C2=A0 =C2=A0src/libsystemd/sd-hwdb/hwdb-util.c | 19 ++++++++= +++-----
> > @@ -19,14 +20,13 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >=C2=A0 =C2=A03 files changed, 38 insertions(+), 31 deletions(-) > >
> >=C2=A0 diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h<= br> > > -index 1d194a1f04..3394c9eb72 100644
> > +index 49586a4a24..d92a5ab0ed 100644
> >=C2=A0 --- a/src/basic/sort-util.h
> >=C2=A0 +++ b/src/basic/sort-util.h
> > -@@ -54,17 +54,3 @@ static inline void _qsort_safe(void *base, si= ze_t nmemb, size_t size, __compar_f
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0in= t (*_func_)(const typeof(p[0])*, const typeof(p[0])*) =3D func; \
> > +@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, si= ze_t nmemb, size_t size, __compar_f
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0_qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0})
> > --
> > +
> >=C2=A0 -static inline void qsort_r_safe(void *base, size_t nmemb, = size_t size, __compar_d_fn_t compar, void *userdata) {
> >=C2=A0 -=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (nmemb <=3D 1)
> >=C2=A0 -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 re= turn;
> > @@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644
> >=C2=A0 -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 in= t (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) =3D= func; \
> >=C2=A0 -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 qs= ort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \=
> >=C2=A0 -=C2=A0 =C2=A0 =C2=A0 =C2=A0 })
> > +-
> > + int cmp_int(const int *a, const int *b);
> >=C2=A0 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
> >=C2=A0 --- a/src/libsystemd/sd-hwdb/hwdb-util.c
> >=C2=A0 +++ b/src/libsystemd/sd-hwdb/hwdb-util.c
> > -@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) {<= br> > > +@@ -126,9 +126,13 @@ static struct trie* trie_free(struct trie *= trie) {
> >
> >=C2=A0 =C2=A0DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_f= ree);
> >
> > @@ -85,10 +87,10 @@ index 4c94ba9c88..95495dba6d 100644
> >=C2=A0 =C2=A0}
> >
> >=C2=A0 diff --git a/src/shared/format-table.c b/src/shared/format-= table.c
> > -index a13a198b7a..bce10bc607 100644
> > +index dccb796b26..c3ab8ac296 100644
> >=C2=A0 --- a/src/shared/format-table.c
> >=C2=A0 +++ 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
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return CMP(index_a, index= _b);
> >=C2=A0 =C2=A0}
> >
> > @@ -131,7 +133,7 @@ index a13a198b7a..bce10bc607 100644
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
> >
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* 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) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0for (size_t i =3D 0; i < n_rows; i++)
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sorted[i] =3D i * t->n_columns;
> >
> > @@ -145,7 +147,7 @@ index a13a198b7a..bce10bc607 100644
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
> >
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (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) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0for (size_t i =3D 0; i < n_rows; i++)
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sorted[i] =3D i * t->n_columns;
> >
> > @@ -159,6 +161,3 @@ index a13a198b7a..bce10bc607 100644
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}
> >
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (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
> >=C2=A0 From: Chen Qi <Qi.Chen@windriver.com>
> >=C2=A0 Date: Mon, 25 Feb 2019 13:55:12 +0800
> > -Subject: [PATCH 03/26] missing_type.h: add __compare_fn_t and co= mparison_fn_t
> > +Subject: [PATCH] missing_type.h: add __compare_fn_t and comparis= on_fn_t
> >
> >=C2=A0 Make it work with musl where comparison_fn_t and __compare_= fn_t
> >=C2=A0 is not provided.
> > @@ -13,11 +13,12 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com&g= t;
> >=C2=A0 Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >=C2=A0 [Rebased for v242]
> >=C2=A0 Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> > +
> >=C2=A0 ---
> > - src/basic/missing_type.h | 9 +++++++++
> > - src/basic/sort-util.h=C2=A0 =C2=A0 | 1 +
> > - src/core/kmod-setup.c=C2=A0 =C2=A0 | 1 +
> > - src/journal/catalog.c=C2=A0 =C2=A0 | 1 +
> > + src/basic/missing_type.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 | 9 +++++++++
> > + src/basic/sort-util.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0| 1 +
> > + src/core/kmod-setup.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0| 1 +
> > + src/libsystemd/sd-journal/catalog.c | 1 +
> >=C2=A0 =C2=A04 files changed, 12 insertions(+)
> >
> >=C2=A0 diff --git a/src/basic/missing_type.h b/src/basic/missing_t= ype.h
> > @@ -38,7 +39,7 @@ index f6233090a9..aeaf6ad5ec 100644
> >=C2=A0 +typedef int (*__compar_fn_t)(const void *, const void *);<= br> > >=C2=A0 +#endif
> >=C2=A0 diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h<= br> > > -index 3394c9eb72..d9cb2aecb6 100644
> > +index d92a5ab0ed..a63867c716 100644
> >=C2=A0 --- a/src/basic/sort-util.h
> >=C2=A0 +++ b/src/basic/sort-util.h
> >=C2=A0 @@ -4,6 +4,7 @@
> > @@ -61,10 +62,10 @@ index 8a7f82812a..a56f12f47f 100644
> >
> >=C2=A0 =C2=A0#if HAVE_KMOD
> >=C2=A0 =C2=A0#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/libs= ystemd/sd-journal/catalog.c
> > +index aea3241d18..75e6c56a28 100644
> > +--- a/src/libsystemd/sd-journal/catalog.c
> > ++++ b/src/libsystemd/sd-journal/catalog.c
> >=C2=A0 @@ -28,6 +28,7 @@
> >=C2=A0 =C2=A0#include "string-util.h"
> >=C2=A0 =C2=A0#include "strv.h"
> > @@ -73,6 +74,3 @@ index 0f6ad8a29e..4e1077ade4 100644
> >
> >=C2=A0 =C2=A0const char * const catalog_file_dirs[] =3D {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"/usr/local/lib/syst= emd/catalog/",
> > ---
> > -2.27.0
> > -
> > diff --git a/meta/recipes-core/systemd/systemd/0004-add-fall= back-parse_printf_format-implementation.patch b/meta/recipes-core= /systemd/systemd/0004-add-fallback-parse_printf_format-imple= mentation.patch
> > index bdd64a0252..dc40a2fe8d 100644
> > --- a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> > +++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
> > @@ -1,7 +1,7 @@
> > -From f3dbe29f7620a063af4d8eb3ea7c48ecd410200d Mon Sep 17 00= :00:00 2001
> > -From: Chen Qi <Qi.Chen@windriver.com>
> > -Date: Mon, 25 Feb 2019 14:04:21 +0800
> > -Subject: [PATCH 04/26] add fallback parse_printf_format implemen= tation
> > +From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00= :00:00 2001
> > +From: Alexander Kanavin <alex.kanavin@gmail.com>
> > +Date: Sat, 22 May 2021 20:26:24 +0200
> > +Subject: [PATCH] [PATCH] add fallback parse_printf_format implem= entation
> >
> >=C2=A0 Upstream-Status: Inappropriate [musl specific]
> >
> > @@ -11,21 +11,21 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >=C2=A0 [rebased for systemd 243]
> >=C2=A0 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> >=C2=A0 ---
> > - meson.build=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A01 +
> > - src/basic/meson.build=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|= =C2=A0 =C2=A05 +
> > - src/basic/parse-printf-format.c | 273 ++++++++++++++++++++= ++++++++++++
> > - src/basic/parse-printf-format.h |=C2=A0 57 +++++++
> > - src/basic/stdio-util.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2= =A0 =C2=A02 +-
> > - src/journal/journal-send.c=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 = +-
> > + meson.build=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A01 +
> > + src/basic/meson.build=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A05 +
> > + src/basic/parse-printf-format.c=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 | 273 +++++++++++++++++++++++
> > + src/basic/parse-printf-format.h=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 |=C2=A0 57 +++++
> > + src/basic/stdio-util.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A02 +-
> > + src/libsystemd/sd-journal/journal-send.c |=C2=A0 =C2=A02 += -
> >=C2=A0 =C2=A06 files changed, 338 insertions(+), 2 deletions(-) > >=C2=A0 =C2=A0create mode 100644 src/basic/parse-printf-format.c
> >=C2=A0 =C2=A0create mode 100644 src/basic/parse-printf-format.h
> >
> >=C2=A0 diff --git a/meson.build b/meson.build
> > -index f406d595e6..6aa47fc755 100644
> > +index 27186d63a3..2abb7b3188 100644
> >=C2=A0 --- a/meson.build
> >=C2=A0 +++ b/meson.build
> > -@@ -646,6 +646,7 @@ endif
> > +@@ -675,6 +675,7 @@ endif
> >=C2=A0 =C2=A0foreach header : ['crypt.h',
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0'linux/memfd.h',
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0'linux/vm_sockets.h',
> > @@ -34,21 +34,21 @@ index f406d595e6..6aa47fc755 100644
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0'valgrind/memcheck.h',
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0'valgrind/valgrind.h',
> >=C2=A0 diff --git a/src/basic/meson.build b/src/basic/meson.build<= br> > > -index 1183ea83ad..aa5c958850 100644
> > +index 60ef801a25..aba2172edd 100644
> >=C2=A0 --- a/src/basic/meson.build
> >=C2=A0 +++ b/src/basic/meson.build
> > -@@ -322,6 +322,11 @@ foreach item : [['af',=C2=A0 =C2=A0= =C2=A0af_list_txt,=C2=A0 =C2=A0 =C2=A0'af',=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0''],
> > - endforeach
> > +@@ -341,6 +341,11 @@ endforeach
> >
> >=C2=A0 =C2=A0basic_sources +=3D generated_gperf_headers
> > -+
> > +
> >=C2=A0 +if conf.get('HAVE_PRINTF_H') !=3D 1
> >=C2=A0 +=C2=A0 =C2=A0 =C2=A0 =C2=A0 basic_sources +=3D [files('= ;parse-printf-format.c')]
> >=C2=A0 +endif
> >=C2=A0 +
> > - basic_gcrypt_sources =3D files(
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'gcrypt-util.c',
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'gcrypt-util.h')
> > ++
> > + ##########################################################= ##
> > +
> > + arch_list =3D [
> >=C2=A0 diff --git a/src/basic/parse-printf-format.c b/src/bas= ic/parse-printf-format.c
> >=C2=A0 new file mode 100644
> >=C2=A0 index 0000000000..49437e5445
> > @@ -410,10 +410,10 @@ index 6dc1e72312..cea76b36cf 100644
> >
> >=C2=A0 =C2=A0#define snprintf_ok(buf, len, fmt, ...) \
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((size_t) snprintf(buf, l= en, fmt, __VA_ARGS__) < (len))
> > -diff --git a/src/journal/journal-send.c b/src/journal/journal-se= nd.c
> > +diff --git a/src/libsystemd/sd-journal/journal-send.c b/src= /libsystemd/sd-journal/journal-send.c
> >=C2=A0 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
> >=C2=A0 @@ -2,7 +2,6 @@
> >
> >=C2=A0 =C2=A0#include <errno.h>
> > @@ -431,5 +431,5 @@ index fd3fd7ef9c..e8e6ad555b 100644
> >=C2=A0 =C2=A0#define SNDBUF_SIZE (8*1024*1024)
> >
> >=C2=A0 --
> > -2.27.0
> > +2.24.0
> >
> > diff --git a/meta/recipes-core/systemd/systemd/0005-src-basi= c-missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/= systemd/systemd/0005-src-basic-missing.h-check-for-missing-s= trndupa.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
> >=C2=A0 From: Chen Qi <Qi.Chen@windriver.com>
> >=C2=A0 Date: Mon, 25 Feb 2019 14:18:21 +0800
> > -Subject: [PATCH 05/26] src/basic/missing.h: check for missing st= rndupa
> > +Subject: [PATCH] src/basic/missing.h: check for missing strndupa=
> >
> >=C2=A0 include missing.h=C2=A0 for definition of strndupa
> >
> > @@ -17,6 +17,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>=
> >=C2=A0 [rebased for systemd 244]
> >=C2=A0 [Rebased for v247]
> >=C2=A0 Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com><= br> > > +
> >=C2=A0 ---
> >=C2=A0 =C2=A0meson.build=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2= =A0 1 +
> >=C2=A0 =C2=A0src/backlight/backlight.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 1 +
> > @@ -25,6 +26,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.= com>
> >=C2=A0 =C2=A0src/basic/log.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 1 +
> >=C2=A0 =C2=A0src/basic/missing_stdlib.h=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| 12 ++++++++++++
> >=C2=A0 =C2=A0src/basic/mkdir.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 1 +
> > + src/basic/mountpoint-util.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 |=C2=A0 1 +
> >=C2=A0 =C2=A0src/basic/parse-util.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 1 +
> >=C2=A0 =C2=A0src/basic/path-lookup.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 1 +
> >=C2=A0 =C2=A0src/basic/proc-cmdline.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 1 +
> > @@ -41,12 +43,12 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >=C2=A0 =C2=A0src/coredump/coredump-vacuum.c=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 1 +
> >=C2=A0 =C2=A0src/journal-remote/journal-remote-main.c=C2=A0 = =C2=A0|=C2=A0 1 +
> >=C2=A0 =C2=A0src/journal/journalctl.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 1 +
> > - src/journal/sd-journal.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 1 +
> >=C2=A0 =C2=A0src/libsystemd/sd-bus/bus-message.c=C2=A0 =C2=A0= =C2=A0 =C2=A0 |=C2=A0 1 +
> >=C2=A0 =C2=A0src/libsystemd/sd-bus/bus-objects.c=C2=A0 =C2=A0= =C2=A0 =C2=A0 |=C2=A0 1 +
> >=C2=A0 =C2=A0src/libsystemd/sd-bus/bus-socket.c=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0|=C2=A0 1 +
> >=C2=A0 =C2=A0src/libsystemd/sd-bus/sd-bus.c=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 1 +
> >=C2=A0 =C2=A0src/libsystemd/sd-bus/test-bus-benchmark.c |=C2= =A0 1 +
> > + src/libsystemd/sd-journal/sd-journal.c=C2=A0 =C2=A0 =C2=A0= |=C2=A0 1 +
> >=C2=A0 =C2=A0src/locale/keymap-util.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 1 +
> >=C2=A0 =C2=A0src/login/pam_systemd.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 1 +
> >=C2=A0 =C2=A0src/network/generator/network-generator.c=C2=A0 = |=C2=A0 1 +
> > @@ -68,18 +70,22 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >=C2=A0 =C2=A0src/udev/udev-builtin-path_id.c=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 1 +
> >=C2=A0 =C2=A0src/udev/udev-event.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 1 +
> >=C2=A0 =C2=A0src/udev/udev-rules.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 1 +
> > - 50 files changed, 61 insertions(+)
> > + 51 files changed, 62 insertions(+)
> >
> > +diff --git a/meson.build b/meson.build
> > +index 2abb7b3188..c97f09062b 100644
> >=C2=A0 --- a/meson.build
> >=C2=A0 +++ b/meson.build
> > -@@ -535,6 +535,7 @@ foreach ident : [
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 #include <sys/wa= it.h>'''],
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0['mallinfo',=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 '''#include <malloc.h>''= '],
> > +@@ -550,6 +550,7 @@ foreach ident : [
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0['execveat',=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 '''#include <unistd.h>''= '],
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0['close_range',= =C2=A0 =C2=A0 =C2=A0 =C2=A0'''#include <unistd.h>'= 9;'],
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0['epoll_pwait2',=C2=A0= =C2=A0 =C2=A0 '''#include <sys/epoll.h>'''],=
> >=C2=A0 +=C2=A0 =C2=A0 =C2=A0 =C2=A0 ['strndupa' ,=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0'''#include <string.h>'= 9;'],
> >=C2=A0 =C2=A0]
> >
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0have =3D 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
> >=C2=A0 --- a/src/backlight/backlight.c
> >=C2=A0 +++ b/src/backlight/backlight.c
> >=C2=A0 @@ -19,6 +19,7 @@
> > @@ -90,6 +96,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.= com>
> >
> >=C2=A0 =C2=A0static int help(void) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0_cleanup_free_ char *link= =3D NULL;
> > +diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c > > +index 8dd3f8cd95..50c1ae1b2b 100644
> >=C2=A0 --- a/src/basic/cgroup-util.c
> >=C2=A0 +++ b/src/basic/cgroup-util.c
> >=C2=A0 @@ -38,6 +38,7 @@
> > @@ -100,9 +108,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microso= ft.com>
> >
> >=C2=A0 =C2=A0static int cg_enumerate_items(const char *controller,= const char *path, FILE **_f, const char *item) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0_cleanup_free_ char *fs = =3D NULL;
> > +diff --git a/src/basic/env-util.c b/src/basic/env-util.c
> > +index c110a750a5..e1f091b01e 100644
> >=C2=A0 --- a/src/basic/env-util.c
> >=C2=A0 +++ b/src/basic/env-util.c
> > -@@ -15,6 +15,7 @@
> > +@@ -18,6 +18,7 @@
> >=C2=A0 =C2=A0#include "string-util.h"
> >=C2=A0 =C2=A0#include "strv.h"
> >=C2=A0 =C2=A0#include "utf8.h"
> > @@ -110,6 +120,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0/* We follow bash for the character set. Different sh= ells have different rules. */
> >=C2=A0 =C2=A0#define VALID_BASH_ENV_NAME_CHARS=C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\
> > +diff --git a/src/basic/log.c b/src/basic/log.c
> > +index 595db0c395..daff8eb68a 100644
> >=C2=A0 --- a/src/basic/log.c
> >=C2=A0 +++ b/src/basic/log.c
> >=C2=A0 @@ -36,6 +36,7 @@
> > @@ -120,6 +132,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0#define SNDBUF_SIZE (8*1024*1024)
> >
> > +diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdl= ib.h
> > +index 8c76f93eb2..9068bfb4f0 100644
> >=C2=A0 --- a/src/basic/missing_stdlib.h
> >=C2=A0 +++ b/src/basic/missing_stdlib.h
> >=C2=A0 @@ -11,3 +11,15 @@
> > @@ -138,6 +152,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >=C2=A0 +=C2=A0 =C2=A0 (char *)memcpy(__new, __old, __len); \
> >=C2=A0 +=C2=A0 })
> >=C2=A0 +#endif
> > +diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
> > +index f91f8f7a08..fb31596216 100644
> >=C2=A0 --- a/src/basic/mkdir.c
> >=C2=A0 +++ b/src/basic/mkdir.c
> >=C2=A0 @@ -14,6 +14,7 @@
> > @@ -148,9 +164,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microso= ft.com>
> >
> >=C2=A0 =C2=A0int mkdir_safe_internal(
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0const 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
> >=C2=A0 --- a/src/basic/parse-util.c
> >=C2=A0 +++ b/src/basic/parse-util.c
> > -@@ -22,6 +22,7 @@
> > +@@ -19,6 +19,7 @@
> >=C2=A0 =C2=A0#include "stat-util.h"
> >=C2=A0 =C2=A0#include "string-util.h"
> >=C2=A0 =C2=A0#include "strv.h"
> > @@ -158,6 +188,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0int parse_boolean(const char *v) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (!v)
> > +diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c > > +index e53c2302b1..ca1d40ccbe 100644
> >=C2=A0 --- a/src/basic/path-lookup.c
> >=C2=A0 +++ b/src/basic/path-lookup.c
> >=C2=A0 @@ -15,6 +15,7 @@
> > @@ -168,6 +200,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0int xdg_user_runtime_dir(char **ret, const char *suff= ix) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0const char *e;
> > +diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c=
> > +index 410b8a3eb5..f2c4355609 100644
> >=C2=A0 --- a/src/basic/proc-cmdline.c
> >=C2=A0 +++ b/src/basic/proc-cmdline.c
> >=C2=A0 @@ -15,6 +15,7 @@
> > @@ -178,6 +212,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0int proc_cmdline(char **ret) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0const char *e;
> > +diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c > > +index ccab71f7d2..8f9eee8d36 100644
> >=C2=A0 --- a/src/basic/procfs-util.c
> >=C2=A0 +++ b/src/basic/procfs-util.c
> >=C2=A0 @@ -11,6 +11,7 @@
> > @@ -188,6 +224,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0int procfs_tasks_get_limit(uint64_t *ret) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0_cleanup_free_ char *valu= e =3D NULL;
> > +diff --git a/src/basic/selinux-util.c b/src/basic/selinux-util.c=
> > +index ee9e34ed47..96c1e9362d 100644
> >=C2=A0 --- a/src/basic/selinux-util.c
> >=C2=A0 +++ b/src/basic/selinux-util.c
> >=C2=A0 @@ -27,6 +27,7 @@
> > @@ -197,7 +235,9 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >=C2=A0 +#include "missing_stdlib.h"
> >
> >=C2=A0 =C2=A0#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
> >=C2=A0 --- a/src/basic/time-util.c
> >=C2=A0 +++ b/src/basic/time-util.c
> >=C2=A0 @@ -27,6 +27,7 @@
> > @@ -208,6 +248,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0static 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
> >=C2=A0 --- a/src/boot/bless-boot.c
> >=C2=A0 +++ b/src/boot/bless-boot.c
> >=C2=A0 @@ -18,6 +18,7 @@
> > @@ -218,16 +260,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@micros= oft.com>
> >
> >=C2=A0 =C2=A0static char **arg_path =3D NULL;
> >
> > +diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
> > +index 04d2ba34f3..651ca9412e 100644
> >=C2=A0 --- a/src/core/dbus-cgroup.c
> >=C2=A0 +++ b/src/core/dbus-cgroup.c
> > -@@ -16,6 +16,7 @@
> > - #include "fileio.h"
> > +@@ -17,6 +17,7 @@
> >=C2=A0 =C2=A0#include "limits-util.h"
> >=C2=A0 =C2=A0#include "path-util.h"
> > + #include "percent-util.h"
> >=C2=A0 +#include "missing_stdlib.h"
> >
> >=C2=A0 =C2=A0BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_m= ax, "t", TasksMax, tasks_max_resolve);
> >
> > +diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c > > +index 5239c41d67..0f604efe98 100644
> >=C2=A0 --- a/src/core/dbus-execute.c
> >=C2=A0 +++ b/src/core/dbus-execute.c
> >=C2=A0 @@ -41,6 +41,7 @@
> > @@ -238,9 +284,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microso= ft.com>
> >
> >=C2=A0 =C2=A0BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_ex= ec_output, exec_output, ExecOutput);
> >=C2=A0 =C2=A0static 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
> >=C2=A0 --- a/src/core/dbus-util.c
> >=C2=A0 +++ b/src/core/dbus-util.c
> > -@@ -7,6 +7,7 @@
> > +@@ -9,6 +9,7 @@
> >=C2=A0 =C2=A0#include "unit-printf.h"
> >=C2=A0 =C2=A0#include "user-util.h"
> >=C2=A0 =C2=A0#include "unit.h"
> > @@ -248,16 +296,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@micros= oft.com>
> >
> >=C2=A0 =C2=A0int bus_property_get_triggered_unit(
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0sd_bus *bus,
> > +diff --git a/src/core/execute.c b/src/core/execute.c
> > +index 922913e7af..f82fc294c0 100644
> >=C2=A0 --- a/src/core/execute.c
> >=C2=A0 +++ b/src/core/execute.c
> >=C2=A0 @@ -96,6 +96,7 @@
> > - #include "unit.h"
> > + #include "unit-serialize.h"
> >=C2=A0 =C2=A0#include "user-util.h"
> >=C2=A0 =C2=A0#include "utmp-wtmp.h"
> >=C2=A0 +#include "missing_stdlib.h"
> >
> >=C2=A0 =C2=A0#define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
> >=C2=A0 =C2=A0#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
> >=C2=A0 --- a/src/core/kmod-setup.c
> >=C2=A0 +++ b/src/core/kmod-setup.c
> >=C2=A0 @@ -11,6 +11,7 @@
> > @@ -268,6 +320,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0#if HAVE_KMOD
> >=C2=A0 =C2=A0#include "module-util.h"
> > +diff --git a/src/core/service.c b/src/core/service.c
> > +index 4c5bfb17fb..8c05f36119 100644
> >=C2=A0 --- a/src/core/service.c
> >=C2=A0 +++ b/src/core/service.c
> >=C2=A0 @@ -41,6 +41,7 @@
> > @@ -278,6 +332,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0static const UnitActiveState state_translation_table[= _SERVICE_STATE_MAX] =3D {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[SERVICE_DEAD] =3D UNIT_I= NACTIVE,
> > +diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/= coredump-vacuum.c
> > +index 95c3fca661..d4a9f27b08 100644
> >=C2=A0 --- a/src/coredump/coredump-vacuum.c
> >=C2=A0 +++ b/src/coredump/coredump-vacuum.c
> >=C2=A0 @@ -16,6 +16,7 @@
> > @@ -288,9 +344,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microso= ft.com>
> >
> >=C2=A0 =C2=A0#define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024UL= L*1024ULL)=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* 1 MiB */
> >=C2=A0 =C2=A0#define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024UL= L*1024ULL*1024ULL)=C2=A0 =C2=A0/* 4 GiB */
> > +diff --git a/src/journal-remote/journal-remote-main.c b/src= /journal-remote/journal-remote-main.c
> > +index ae1d43756a..24de98c9f3 100644
> >=C2=A0 --- a/src/journal-remote/journal-remote-main.c
> >=C2=A0 +++ b/src/journal-remote/journal-remote-main.c
> > -@@ -22,6 +22,7 @@
> > +@@ -24,6 +24,7 @@
> >=C2=A0 =C2=A0#include "stat-util.h"
> >=C2=A0 =C2=A0#include "string-table.h"
> >=C2=A0 =C2=A0#include "strv.h"
> > @@ -298,9 +356,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microso= ft.com>
> >
> >=C2=A0 =C2=A0#define PRIV_KEY_FILE CERTIFICATE_ROOT "/private= /journal-remote.pem"
> >=C2=A0 =C2=A0#define CERT_FILE=C2=A0 =C2=A0 =C2=A0CERTIFICATE_ROOT= "/certs/journal-remote.pem"
> > +diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c=
> > +index 76d05c1eee..0beb77b2e5 100644
> >=C2=A0 --- a/src/journal/journalctl.c
> >=C2=A0 +++ b/src/journal/journalctl.c
> > -@@ -73,6 +73,7 @@
> > +@@ -72,6 +72,7 @@
> >=C2=A0 =C2=A0#include "unit-name.h"
> >=C2=A0 =C2=A0#include "user-util.h"
> >=C2=A0 =C2=A0#include "varlink.h"
> > @@ -308,19 +368,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@micros= oft.com>
> >
> >=C2=A0 =C2=A0#define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE= )
> >=C2=A0 =C2=A0#define PROCESS_INOTIFY_INTERVAL 1024=C2=A0 =C2=A0/* = 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/libs= ystemd/sd-bus/bus-message.c
> > +index b25064b672..b3bbe63a91 100644
> >=C2=A0 --- a/src/libsystemd/sd-bus/bus-message.c
> >=C2=A0 +++ b/src/libsystemd/sd-bus/bus-message.c
> > -@@ -21,6 +21,7 @@
> > +@@ -20,6 +20,7 @@
> >=C2=A0 =C2=A0#include "strv.h"
> >=C2=A0 =C2=A0#include "time-util.h"
> >=C2=A0 =C2=A0#include "utf8.h"
> > @@ -328,9 +380,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microso= ft.com>
> >
> >=C2=A0 =C2=A0static 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/libs= ystemd/sd-bus/bus-objects.c
> > +index bfd42aea7d..daefc56e3e 100644
> >=C2=A0 --- a/src/libsystemd/sd-bus/bus-objects.c
> >=C2=A0 +++ b/src/libsystemd/sd-bus/bus-objects.c
> > -@@ -13,6 +13,7 @@
> > +@@ -12,6 +12,7 @@
> >=C2=A0 =C2=A0#include "set.h"
> >=C2=A0 =C2=A0#include "string-util.h"
> >=C2=A0 =C2=A0#include "strv.h"
> > @@ -338,6 +392,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0static int node_vtable_get_userdata(
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0sd_bus *bus,
> > +diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsy= stemd/sd-bus/bus-socket.c
> > +index 832526cc1b..7bff701806 100644
> >=C2=A0 --- a/src/libsystemd/sd-bus/bus-socket.c
> >=C2=A0 +++ b/src/libsystemd/sd-bus/bus-socket.c
> >=C2=A0 @@ -28,6 +28,7 @@
> > @@ -348,29 +404,47 @@ Signed-off-by: Luca Boccassi <luca.boccassi@micros= oft.com>
> >
> >=C2=A0 =C2=A0#define SNDBUF_SIZE (8*1024*1024)
> >
> > +diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystem= d/sd-bus/sd-bus.c
> > +index e719c74370..ac2a605680 100644
> >=C2=A0 --- a/src/libsystemd/sd-bus/sd-bus.c
> >=C2=A0 +++ b/src/libsystemd/sd-bus/sd-bus.c
> >=C2=A0 @@ -41,6 +41,7 @@
> > - #include "process-util.h"
> >=C2=A0 =C2=A0#include "string-util.h"
> >=C2=A0 =C2=A0#include "strv.h"
> > + #include "user-util.h"
> >=C2=A0 +#include "missing_stdlib.h"
> >
> >=C2=A0 =C2=A0#define log_debug_bus_message(m)=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0do {=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0\
> > +diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/s= rc/libsystemd/sd-bus/test-bus-benchmark.c
> > +index 13c08fe295..9aae83486e 100644
> >=C2=A0 --- a/src/libsystemd/sd-bus/test-bus-benchmark.c
> >=C2=A0 +++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
> >=C2=A0 @@ -14,6 +14,7 @@
> > - #include "missing_resource.h"
> > + #include "string-util.h"
> >=C2=A0 =C2=A0#include "time-util.h"
> >=C2=A0 =C2=A0#include "util.h"
> >=C2=A0 +#include "missing_stdlib.h"
> >
> >=C2=A0 =C2=A0#define MAX_SIZE (2*1024*1024)
> >
> > +diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/l= ibsystemd/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
> >=C2=A0 --- a/src/locale/keymap-util.c
> >=C2=A0 +++ b/src/locale/keymap-util.c
> > -@@ -21,6 +21,7 @@
> > +@@ -24,6 +24,7 @@
> >=C2=A0 =C2=A0#include "string-util.h"
> >=C2=A0 =C2=A0#include "strv.h"
> >=C2=A0 =C2=A0#include "tmpfile-util.h"
> > @@ -378,6 +452,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0static bool startswith_comma(const char *s, const cha= r *prefix) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0s =3D startswith(s, prefi= x);
> > +diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c > > +index 2021c31bd5..58eb09808d 100644
> >=C2=A0 --- a/src/login/pam_systemd.c
> >=C2=A0 +++ b/src/login/pam_systemd.c
> >=C2=A0 @@ -31,6 +31,7 @@
> > @@ -388,6 +464,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >=C2=A0 =C2=A0#include "pam-util.h"
> >=C2=A0 =C2=A0#include "parse-util.h"
> >=C2=A0 =C2=A0#include "path-util.h"
> > +diff --git a/src/network/generator/network-generator.c b/sr= c/network/generator/network-generator.c
> > +index ae673ddf5b..a79e5114ca 100644
> >=C2=A0 --- a/src/network/generator/network-generator.c
> >=C2=A0 +++ b/src/network/generator/network-generator.c
> >=C2=A0 @@ -13,6 +13,7 @@
> > @@ -398,6 +476,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0/*
> >=C2=A0 =C2=A0 =C2=A0# .network
> > +diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-se= ttings.c
> > +index d4619bead5..0e832fd994 100644
> >=C2=A0 --- a/src/nspawn/nspawn-settings.c
> >=C2=A0 +++ b/src/nspawn/nspawn-settings.c
> >=C2=A0 @@ -16,6 +16,7 @@
> > @@ -408,19 +488,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@micros= oft.com>
> >
> >=C2=A0 =C2=A0Settings *settings_new(void) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Settings *s;
> > +diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-= mymachines/nss-mymachines.c
> > +index 44715bb3e5..bc1e688b5e 100644
> >=C2=A0 --- a/src/nss-mymachines/nss-mymachines.c
> >=C2=A0 +++ b/src/nss-mymachines/nss-mymachines.c
> > -@@ -19,6 +19,7 @@
> > +@@ -21,6 +21,7 @@
> >=C2=A0 =C2=A0#include "nss-util.h"
> >=C2=A0 =C2=A0#include "signal-util.h"
> >=C2=A0 =C2=A0#include "string-util.h"
> >=C2=A0 +#include "missing_stdlib.h"
> >
> > - NSS_GETHOSTBYNAME_PROTOTYPES(mymachines);
> > - NSS_GETPW_PROTOTYPES(mymachines);
> > + static void setup_logging(void) {
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* We need a dummy function be= cause log_parse_environment is a macro. */
> > +diff --git a/src/portable/portable.c b/src/portable/portable.c > > +index f201f52531..c78ad0f471 100644
> >=C2=A0 --- a/src/portable/portable.c
> >=C2=A0 +++ b/src/portable/portable.c
> > -@@ -31,6 +31,7 @@
> > +@@ -32,6 +32,7 @@
> >=C2=A0 =C2=A0#include "strv.h"
> >=C2=A0 =C2=A0#include "tmpfile-util.h"
> >=C2=A0 =C2=A0#include "user-util.h"
> > @@ -428,9 +512,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microso= ft.com>
> >
> >=C2=A0 =C2=A0static const char profile_dirs[] =3D CONF_PATHS_NULST= R("systemd/portable/profile");
> >
> > +diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c=
> > +index 52bbae3293..4ccbae09c4 100644
> >=C2=A0 --- a/src/resolve/resolvectl.c
> >=C2=A0 +++ b/src/resolve/resolvectl.c
> > -@@ -37,6 +37,7 @@
> > +@@ -41,6 +41,7 @@
> >=C2=A0 =C2=A0#include "terminal-util.h"
> >=C2=A0 =C2=A0#include "utf8.h"
> >=C2=A0 =C2=A0#include "verbs.h"
> > @@ -438,6 +524,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0static int arg_family =3D AF_UNSPEC;
> >=C2=A0 =C2=A0static int arg_ifindex =3D 0;
> > +diff --git a/src/shared/bus-get-properties.c b/src/shared/b= us-get-properties.c
> > +index feb6d3807f..eb11d29e50 100644
> >=C2=A0 --- a/src/shared/bus-get-properties.c
> >=C2=A0 +++ b/src/shared/bus-get-properties.c
> >=C2=A0 @@ -4,6 +4,7 @@
> > @@ -448,6 +536,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0int bus_property_get_bool(
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0sd_bus *bus,
> > +diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-p= rocs.c
> > +index b76125e551..2e0892242f 100644
> >=C2=A0 --- a/src/shared/bus-unit-procs.c
> >=C2=A0 +++ b/src/shared/bus-unit-procs.c
> >=C2=A0 @@ -10,6 +10,7 @@
> > @@ -458,9 +548,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microso= ft.com>
> >
> >=C2=A0 =C2=A0struct CGroupInfo {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0char *cgroup_path;
> > +diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-ut= il.c
> > +index a75178068b..3de06e2bd5 100644
> >=C2=A0 --- a/src/shared/bus-unit-util.c
> >=C2=A0 +++ b/src/shared/bus-unit-util.c
> > -@@ -44,6 +44,7 @@
> > +@@ -45,6 +45,7 @@
> >=C2=A0 =C2=A0#include "unit-def.h"
> >=C2=A0 =C2=A0#include "user-util.h"
> >=C2=A0 =C2=A0#include "utf8.h"
> > @@ -468,6 +560,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0int bus_parse_unit_info(sd_bus_message *message,= UnitInfo *u) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0assert(message);
> > +diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
> > +index 64ca67993c..31e3d148ea 100644
> >=C2=A0 --- a/src/shared/bus-util.c
> >=C2=A0 +++ b/src/shared/bus-util.c
> >=C2=A0 @@ -21,6 +21,7 @@
> > @@ -478,6 +572,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0static int name_owner_change_callback(sd_bus_mes= sage *m, void *userdata, sd_bus_error *ret_error) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sd_event *e =3D userdata;=
> > +diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c > > +index e43aa12882..cec9b413c1 100644
> >=C2=A0 --- a/src/shared/dns-domain.c
> >=C2=A0 +++ b/src/shared/dns-domain.c
> >=C2=A0 @@ -17,6 +17,7 @@
> > @@ -488,6 +584,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0int dns_label_unescape(const char **name, char *dest,= size_t sz, DNSLabelFlags flags) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0const char *n;
> > +diff --git a/src/shared/journal-importer.c b/src/shared/jou= rnal-importer.c
> > +index b2785f0552..5f00902882 100644
> >=C2=A0 --- a/src/shared/journal-importer.c
> >=C2=A0 +++ b/src/shared/journal-importer.c
> >=C2=A0 @@ -14,6 +14,7 @@
> > @@ -498,6 +596,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0enum {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0IMPORTER_STATE_LINE =3D 0= ,=C2=A0 =C2=A0 /* waiting to read, or reading line */
> > +diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
> > +index e63c59bd94..dd9773c009 100644
> >=C2=A0 --- a/src/shared/logs-show.c
> >=C2=A0 +++ b/src/shared/logs-show.c
> >=C2=A0 @@ -41,6 +41,7 @@
> > @@ -508,6 +608,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0/* up to three lines (each up to 100 characters) or 3= 00 characters, whichever is less */
> >=C2=A0 =C2=A0#define PRINT_LINE_THRESHOLD 3
> > +diff --git a/src/shared/pager.c b/src/shared/pager.c
> > +index 4bbad7e37b..eefcdd068c 100644
> >=C2=A0 --- a/src/shared/pager.c
> >=C2=A0 +++ b/src/shared/pager.c
> >=C2=A0 @@ -26,6 +26,7 @@
> > @@ -518,6 +620,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0static pid_t pager_pid =3D 0;
> >
> > +diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
> > +index 5d5bf7f21d..f1002ffa6c 100644
> >=C2=A0 --- a/src/shared/uid-range.c
> >=C2=A0 +++ b/src/shared/uid-range.c
> >=C2=A0 @@ -9,6 +9,7 @@
> > @@ -528,6 +632,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0static bool uid_range_intersect(UidRange *range, uid_= t start, uid_t nr) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0assert(range);
> > +diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-= proxy/socket-proxyd.c
> > +index 6e3ee0d76b..7727e33d95 100644
> >=C2=A0 --- a/src/socket-proxy/socket-proxyd.c
> >=C2=A0 +++ b/src/socket-proxy/socket-proxyd.c
> >=C2=A0 @@ -26,6 +26,7 @@
> > @@ -538,6 +644,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsof= t.com>
> >
> >=C2=A0 =C2=A0#define BUFFER_SIZE (256 * 1024)
> >
> > +diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct= .c
> > +index c9d318b8d1..fcb8d40805 100644
> >=C2=A0 --- a/src/test/test-hexdecoct.c
> >=C2=A0 +++ b/src/test/test-hexdecoct.c
> >=C2=A0 @@ -6,6 +6,7 @@
> > @@ -548,19 +656,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@micros= oft.com>
> >
> >=C2=A0 =C2=A0static void test_hexchar(void) {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0assert_se(hexchar(0xa) = =3D=3D 'a');
> > +diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/ude= v-builtin-path_id.c
> > +index 09cc1c3bd8..8a7d3152a7 100644
> >=C2=A0 --- a/src/udev/udev-builtin-path_id.c
> >=C2=A0 +++ b/src/udev/udev-builtin-path_id.c
> >=C2=A0 @@ -22,6 +22,7 @@
> > - #include "strv.h"
> >=C2=A0 =C2=A0#include "sysexits.h"
> >=C2=A0 =C2=A0#include "udev-builtin.h"
> > + #include "udev-util.h"
> >=C2=A0 +#include "missing_stdlib.h"
> >
> >=C2=A0 =C2=A0_printf_(2,3)
> >=C2=A0 =C2=A0static 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
> >=C2=A0 --- a/src/udev/udev-event.c
> >=C2=A0 +++ b/src/udev/udev-event.c
> > -@@ -34,6 +34,7 @@
> > +@@ -33,6 +33,7 @@
> >=C2=A0 =C2=A0#include "udev-util.h"
> >=C2=A0 =C2=A0#include "udev-watch.h"
> >=C2=A0 =C2=A0#include "user-util.h"
> > @@ -568,9 +680,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microso= ft.com>
> >
> >=C2=A0 =C2=A0typedef struct Spawn {
> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sd_device *device;
> > +diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
> > +index 57ede6a197..dc59857765 100644
> >=C2=A0 --- a/src/udev/udev-rules.c
> >=C2=A0 +++ b/src/udev/udev-rules.c
> > -@@ -30,6 +30,7 @@
> > +@@ -31,6 +31,7 @@
> >=C2=A0 =C2=A0#include "udev-rules.h"
> >=C2=A0 =C2=A0#include "user-util.h"
> >=C2=A0 =C2=A0#include "virt.h"
> > @@ -578,13 +692,3 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microso= ft.com>
> >
> >=C2=A0 =C2=A0#define RULES_DIRS (const char* const*) CONF_PATHS_ST= RV("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
> >=C2=A0 From: Khem Raj <raj.khem@gmail.com>
> >=C2=A0 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
> >
> >=C2=A0 Fixes
> >=C2=A0 /path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
> > @@ -31,6 +31,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> >=C2=A0 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
> >=C2=A0 [rebased for systemd 247]
> >=C2=A0 Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com><= br> > > +
> >=C2=A0 ---
> >=C2=A0 =C2=A0src/libsystemd-network/sd-dhcp6-client.c=C2=A0 |= 1 -
> >=C2=A0 =C2=A0src/libsystemd/sd-netlink/netlink-types.c | 1 +<= br> > > @@ -56,7 +57,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.= com>
> >=C2=A0 =C2=A021 files changed, 26 insertions(+), 8 deletions(-) > >
> >=C2=A0 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
> >=C2=A0 --- a/src/libsystemd-network/sd-dhcp6-client.c
> >=C2=A0 +++ b/src/libsystemd-network/sd-dhcp6-client.c
> >=C2=A0 @@ -5,7 +5,6 @@
> > @@ -68,7 +69,7 @@ index 66f87c4b95..de1264ae46 100644
> >
> >=C2=A0 =C2=A0#include "sd-dhcp6-client.h"
> >=C2=A0 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
> >=C2=A0 --- a/src/libsystemd/sd-netlink/netlink-types.c
> >=C2=A0 +++ b/src/libsystemd/sd-netlink/netlink-types.c
> >=C2=A0 @@ -3,6 +3,7 @@
> > @@ -80,7 +81,7 @@ index 6fb6c147d9..8eda02d202 100644
> >=C2=A0 =C2=A0#include <linux/netlink.h>
> >=C2=A0 =C2=A0#include <linux/rtnetlink.h>
> >=C2=A0 diff --git a/src/machine/machine-dbus.c b/src/machine/machi= ne-dbus.c
> > -index bb67beb665..f5780f1aec 100644
> > +index e7c4ed3c7c..3a1e4f9072 100644
> >=C2=A0 --- a/src/machine/machine-dbus.c
> >=C2=A0 +++ b/src/machine/machine-dbus.c
> >=C2=A0 @@ -3,6 +3,7 @@
> > @@ -92,7 +93,7 @@ index bb67beb665..f5780f1aec 100644
> >=C2=A0 =C2=A0/* When we include libgen.h because we need dirname()= we immediately
> >=C2=A0 =C2=A0 * undefine basename() since libgen.h defines it as a= macro to the POSIX
> >=C2=A0 diff --git a/src/network/netdev/bond.c b/src/network/netdev= /bond.c
> > -index e27f36067b..8868f1da5d 100644
> > +index cf7ca88d6f..34ab468191 100644
> >=C2=A0 --- a/src/network/netdev/bond.c
> >=C2=A0 +++ b/src/network/netdev/bond.c
> >=C2=A0 @@ -1,5 +1,6 @@
> > @@ -103,7 +104,7 @@ index e27f36067b..8868f1da5d 100644
> >=C2=A0 =C2=A0#include "bond.h"
> >=C2=A0 =C2=A0#include "bond-util.h"
> >=C2=A0 diff --git a/src/network/netdev/bridge.c b/src/network/netd= ev/bridge.c
> > -index 1f59cd8b42..5fdbae7e99 100644
> > +index 38432f1578..79ccfe578e 100644
> >=C2=A0 --- a/src/network/netdev/bridge.c
> >=C2=A0 +++ b/src/network/netdev/bridge.c
> >=C2=A0 @@ -1,5 +1,6 @@
> > @@ -114,7 +115,7 @@ index 1f59cd8b42..5fdbae7e99 100644
> >
> >=C2=A0 =C2=A0#include "bridge.h"
> >=C2=A0 diff --git a/src/network/netdev/macsec.c b/src/network/netd= ev/macsec.c
> > -index 82e71c3920..fbae86e216 100644
> > +index 77c5f8c4e7..04be1b4ab2 100644
> >=C2=A0 --- a/src/network/netdev/macsec.c
> >=C2=A0 +++ b/src/network/netdev/macsec.c
> >=C2=A0 @@ -1,5 +1,6 @@
> > @@ -125,19 +126,19 @@ index 82e71c3920..fbae86e216 100644
> >=C2=A0 =C2=A0#include <linux/if_ether.h>
> >=C2=A0 =C2=A0#include <linux/if_macsec.h>
> >=C2=A0 diff --git a/src/network/netdev/netdev-gperf.gperf b/s= rc/network/netdev/netdev-gperf.gperf
> > -index 4e89761f2c..91251fa6ec 100644
> > +index 8abe044890..3c54c58928 100644
> >=C2=A0 --- a/src/network/netdev/netdev-gperf.gperf
> >=C2=A0 +++ b/src/network/netdev/netdev-gperf.gperf
> > -@@ -2,6 +2,7 @@
> > +@@ -3,6 +3,7 @@
> >=C2=A0 =C2=A0#if __GNUC__ >=3D 7
> >=C2=A0 =C2=A0_Pragma("GCC diagnostic ignored \"-Wimplici= t-fallthrough\"")
> >=C2=A0 =C2=A0#endif
> >=C2=A0 +#include <netinet/if_ether.h>
> >=C2=A0 =C2=A0#include <stddef.h>
> >=C2=A0 =C2=A0#include "bareudp.h"
> > - #include "bond.h"
> > + #include "batadv.h"
> >=C2=A0 diff --git a/src/network/netdev/netdev.c b/src/network/netd= ev/netdev.c
> > -index 9f390b5781..62aeafb1e4 100644
> > +index b31f0fa81a..c80e1ff537 100644
> >=C2=A0 --- a/src/network/netdev/netdev.c
> >=C2=A0 +++ b/src/network/netdev/netdev.c
> >=C2=A0 @@ -1,5 +1,6 @@
> > @@ -148,7 +149,7 @@ index 9f390b5781..62aeafb1e4 100644
> >=C2=A0 =C2=A0#include <netinet/in.h>
> >=C2=A0 =C2=A0#include <unistd.h>
> >=C2=A0 diff --git a/src/network/networkd-brvlan.c b/src/netwo= rk/networkd-brvlan.c
> > -index e53c73c30c..9bf0771b84 100644
> > +index 2847b336c9..4d6af8c642 100644
> >=C2=A0 --- a/src/network/networkd-brvlan.c
> >=C2=A0 +++ b/src/network/networkd-brvlan.c
> >=C2=A0 @@ -4,6 +4,7 @@
> > @@ -160,7 +161,7 @@ index e53c73c30c..9bf0771b84 100644
> >=C2=A0 =C2=A0#include <stdbool.h>
> >
> >=C2=A0 diff --git a/src/network/networkd-dhcp-common.c b/src/= network/networkd-dhcp-common.c
> > -index 9f58121350..554d006cb8 100644
> > +index 00d055cf8d..65821c1d31 100644
> >=C2=A0 --- a/src/network/networkd-dhcp-common.c
> >=C2=A0 +++ b/src/network/networkd-dhcp-common.c
> >=C2=A0 @@ -1,7 +1,8 @@
> > @@ -171,9 +172,9 @@ index 9f58121350..554d006cb8 100644
> >=C2=A0 +#include <net/if_arp.h>
> >=C2=A0 +#include <net/if.h>
> >
> > + #include "bus-error.h"
> >=C2=A0 =C2=A0#include "dhcp-internal.h"
> > - #include "dhcp6-internal.h"
> > -@@ -10,6 +11,7 @@
> > +@@ -11,6 +12,7 @@
> >=C2=A0 =C2=A0#include "networkd-dhcp-common.h"
> >=C2=A0 =C2=A0#include "networkd-link.h"
> >=C2=A0 =C2=A0#include "networkd-manager.h"
> > @@ -182,7 +183,7 @@ index 9f58121350..554d006cb8 100644
> >=C2=A0 =C2=A0#include "parse-util.h"
> >=C2=A0 =C2=A0#include "socket-util.h"
> >=C2=A0 diff --git a/src/network/networkd-dhcp-server.c b/src/= network/networkd-dhcp-server.c
> > -index cf279c640d..bae541029b 100644
> > +index 5cdf432c27..93cffb9863 100644
> >=C2=A0 --- a/src/network/networkd-dhcp-server.c
> >=C2=A0 +++ b/src/network/networkd-dhcp-server.c
> >=C2=A0 @@ -1,8 +1,8 @@
> > @@ -197,7 +198,7 @@ index cf279c640d..bae541029b 100644
> >=C2=A0 =C2=A0#include "sd-dhcp-server.h"
> >
> >=C2=A0 diff --git a/src/network/networkd-dhcp4.c b/src/network/net= workd-dhcp4.c
> > -index f3c1e5f609..e4ef6eca63 100644
> > +index 23dc3a45db..7ae6c2467a 100644
> >=C2=A0 --- a/src/network/networkd-dhcp4.c
> >=C2=A0 +++ b/src/network/networkd-dhcp4.c
> >=C2=A0 @@ -1,9 +1,9 @@
> > @@ -212,7 +213,7 @@ index f3c1e5f609..e4ef6eca63 100644
> >=C2=A0 =C2=A0#include "escape.h"
> >=C2=A0 =C2=A0#include "alloc-util.h"
> >=C2=A0 diff --git a/src/network/networkd-dhcp6.c b/src/network/net= workd-dhcp6.c
> > -index 5c077c1ec8..fa98042aa5 100644
> > +index aa077d6219..4f6ce22059 100644
> >=C2=A0 --- a/src/network/networkd-dhcp6.c
> >=C2=A0 +++ b/src/network/networkd-dhcp6.c
> >=C2=A0 @@ -3,9 +3,9 @@
> > @@ -227,7 +228,7 @@ index 5c077c1ec8..fa98042aa5 100644
> >=C2=A0 =C2=A0#include "sd-dhcp6-client.h"
> >
> >=C2=A0 diff --git a/src/network/networkd-link.c b/src/network/netw= orkd-link.c
> > -index 3bfe636691..e0c68c8ad3 100644
> > +index 8219d95b0d..c92230453b 100644
> >=C2=A0 --- a/src/network/networkd-link.c
> >=C2=A0 +++ b/src/network/networkd-link.c
> >=C2=A0 @@ -1,8 +1,8 @@
> > @@ -241,7 +242,7 @@ index 3bfe636691..e0c6
--000000000000bbd0c905c327d751--