Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Serhey Popovych <serhe.popovych@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 1/4] systemd: Correctly check ENABLE_GSHADOW with if/endif
Date: Sat, 12 Jan 2019 11:22:47 +0200	[thread overview]
Message-ID: <1547284970-20783-2-git-send-email-serhe.popovych@gmail.com> (raw)
In-Reply-To: <1547284970-20783-1-git-send-email-serhe.popovych@gmail.com>

Use commit 4f07ffa8f5ab ("Use #if instead of #ifdef for ENABLE_GSHADOW")
from upstream to check ENABLE_GSHADOW correctly that is defined as 0
in case of musl.

While there replace specific patch with one from upstream that does
exactly the same commit 66a5b5ce9b99 ("basic/user-util: properly protect
use of gshadow").

Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
---
 ...user-util-properly-protect-use-of-gshadow.patch | 38 ++++++++++++++++++++++
 ...clude-gshadow-only-if-ENABLE_GSHADOW-is-1.patch | 29 -----------------
 ...se-if-instead-of-ifdef-for-ENABLE_GSHADOW.patch | 28 ++++++++++++++++
 meta/recipes-core/systemd/systemd_239.bb           |  3 +-
 4 files changed, 68 insertions(+), 30 deletions(-)
 create mode 100644 meta/recipes-core/systemd/systemd/0005-basic-user-util-properly-protect-use-of-gshadow.patch
 delete mode 100644 meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch
 create mode 100644 meta/recipes-core/systemd/systemd/0022-Use-if-instead-of-ifdef-for-ENABLE_GSHADOW.patch

diff --git a/meta/recipes-core/systemd/systemd/0005-basic-user-util-properly-protect-use-of-gshadow.patch b/meta/recipes-core/systemd/systemd/0005-basic-user-util-properly-protect-use-of-gshadow.patch
new file mode 100644
index 0000000..518c05b
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0005-basic-user-util-properly-protect-use-of-gshadow.patch
@@ -0,0 +1,38 @@
+From 66a5b5ce9b991327d594f7b635de16999ca54093 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Wed, 21 Nov 2018 18:09:04 +0100
+Subject: basic/user-util: properly protect use of gshadow
+
+Commit 100d5f6ee6 (user-util: add new wrappers for [...] database
+files), ammended by commit 4f07ffa8f5 (Use #if instead of #ifdef for
+ENABLE_GSHADOW) moved code from sysuser to basic/user-util.
+
+In doing so, the combination of both commits properly propagated the
+ENABLE_GSHADOW conditions around the function manipulating gshadow, but
+they forgot to protect the inclusion of the gshadow.h header.
+
+Fix that to be able to build on C libraries that do not provide gshadow
+(e.g. uClibc-ng, where it does not exist.)
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/commit/66a5b5ce9b991327d594f7b635de16999ca54093]
+---
+ src/basic/user-util.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/basic/user-util.h b/src/basic/user-util.h
+index b6de0e423..cc899ee76 100644
+--- a/src/basic/user-util.h
++++ b/src/basic/user-util.h
+@@ -2,7 +2,9 @@
+ #pragma once
+ 
+ #include <grp.h>
++#if ENABLE_GSHADOW
+ #include <gshadow.h>
++#endif
+ #include <pwd.h>
+ #include <shadow.h>
+ #include <stdbool.h>
+-- 
+2.18.1
+
diff --git a/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch b/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch
deleted file mode 100644
index 6d5faf5..0000000
--- a/meta/recipes-core/systemd/systemd/0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a2c4d46944892174930135672508389a04e191f0 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 29 Jun 2018 13:53:29 +0800
-Subject: [PATCH 05/19] include gshadow only if ENABLE_GSHADOW is 1
-
-Upstream-Status: Inappropriate [musl]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/user-util.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/basic/user-util.h b/src/basic/user-util.h
-index b74f16885..f9c1e29c4 100644
---- a/src/basic/user-util.h
-+++ b/src/basic/user-util.h
-@@ -2,7 +2,9 @@
- #pragma once
- 
- #include <grp.h>
-+#if ENABLE_GSHADOW
- #include <gshadow.h>
-+#endif
- #include <pwd.h>
- #include <shadow.h>
- #include <stdbool.h>
--- 
-2.11.0
-
diff --git a/meta/recipes-core/systemd/systemd/0022-Use-if-instead-of-ifdef-for-ENABLE_GSHADOW.patch b/meta/recipes-core/systemd/systemd/0022-Use-if-instead-of-ifdef-for-ENABLE_GSHADOW.patch
new file mode 100644
index 0000000..a9c1c9c
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0022-Use-if-instead-of-ifdef-for-ENABLE_GSHADOW.patch
@@ -0,0 +1,28 @@
+From 4f07ffa8f5ab85011422bb7114f1cddf49d4923d Mon Sep 17 00:00:00 2001
+From: ChenQi1989 <40684930+ChenQi1989@users.noreply.github.com>
+Date: Fri, 29 Jun 2018 06:54:07 +0000
+Subject: Use #if instead of #ifdef for ENABLE_GSHADOW
+
+ENABLE_GSHADOW is defined to be 0 or 1. So #if should be used instead of #ifdef.
+
+Upstream-Status: Backport [https://github.com/systemd/systemd/commit/4f07ffa8f5ab85011422bb7114f1cddf49d4923d]
+---
+ src/basic/user-util.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/basic/user-util.h b/src/basic/user-util.h
+index b74f16885..b2f198c89 100644
+--- a/src/basic/user-util.h
++++ b/src/basic/user-util.h
+@@ -102,7 +102,7 @@ int fgetgrent_sane(FILE *stream, struct group **gr);
+ int putpwent_sane(const struct passwd *pw, FILE *stream);
+ int putspent_sane(const struct spwd *sp, FILE *stream);
+ int putgrent_sane(const struct group *gr, FILE *stream);
+-#ifdef ENABLE_GSHADOW
++#if ENABLE_GSHADOW
+ int fgetsgent_sane(FILE *stream, struct sgrp **sg);
+ int putsgent_sane(const struct sgrp *sg, FILE *stream);
+ #endif
+-- 
+2.18.1
+
diff --git a/meta/recipes-core/systemd/systemd_239.bb b/meta/recipes-core/systemd/systemd_239.bb
index be836ff..0f1fa27 100644
--- a/meta/recipes-core/systemd/systemd_239.bb
+++ b/meta/recipes-core/systemd/systemd_239.bb
@@ -46,7 +46,7 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa
                file://0002-don-t-use-glibc-specific-qsort_r.patch \
                file://0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch \
                file://0004-add-fallback-parse_printf_format-implementation.patch \
-               file://0005-include-gshadow-only-if-ENABLE_GSHADOW-is-1.patch \
+               file://0005-basic-user-util-properly-protect-use-of-gshadow.patch \
                file://0006-src-basic-missing.h-check-for-missing-strndupa.patch \
                file://0007-Include-netinet-if_ether.h.patch \
                file://0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
@@ -63,6 +63,7 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa
                file://0019-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
                file://0020-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
                file://0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
+               file://0022-Use-if-instead-of-ifdef-for-ENABLE_GSHADOW.patch \
                "
 
 # Workaround undefined reference to `__stack_chk_fail_local' on qemux86 and qemuppc for musl
-- 
2.7.4



  reply	other threads:[~2019-01-12  9:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-12  9:22 [PATCH 0/4] ppc/musl: Improve support Serhey Popovych
2019-01-12  9:22 ` Serhey Popovych [this message]
2019-01-12  9:22 ` [PATCH 2/4] systemd: Use arch overrides instead of machine Serhey Popovych
2019-01-12 15:35   ` Khem Raj
2019-01-12  9:22 ` [PATCH 3/4] mpfr: Disable float128 when building with musl as libc Serhey Popovych
2019-01-12  9:22 ` [PATCH 4/4] valgrind: Mark powerpc64 with musl as incompatible Serhey Popovych
2019-01-12 15:29   ` Khem Raj
2019-01-12 16:53     ` Serhey Popovych
2019-01-12 18:30       ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1547284970-20783-2-git-send-email-serhe.popovych@gmail.com \
    --to=serhe.popovych@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox