Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Louis Rannou <lrannou@baylibre.com>
To: openembedded-core@lists.openembedded.org
Cc: Qi.Chen@windriver.com, tgamblin@baylibre.com,
	 Louis Rannou <lrannou@baylibre.com>,
	 Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Subject: [PATCH] systemd: sysusersd: change how the root home directory is set
Date: Thu, 27 Jul 2023 11:28:37 +0200	[thread overview]
Message-ID: <20230727-sysusers_root-v1-1-e39b7602d80e@baylibre.com> (raw)

Modifying the sources brings troubles in the devtool command. Therefore it is
better to patch the source with a custom variable, and later replace it with the
correct root path.

Suggestion from :
<https://lore.kernel.org/all/DB5PR02MB102137939DE6D43E423A9D296EF03A@DB5PR02MB10213.eurprd02.prod.outlook.com/>

Signed-off-by: Louis Rannou <lrannou@baylibre.com>
Suggested-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
---
 ...usersd-Change-the-user-root-s-home-direct.patch | 32 ++++++++++++++++++++++
 meta/recipes-core/systemd/systemd_253.3.bb         | 11 ++++----
 2 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd/0029-sysusersd-Change-the-user-root-s-home-direct.patch b/meta/recipes-core/systemd/systemd/0029-sysusersd-Change-the-user-root-s-home-direct.patch
new file mode 100644
index 0000000000..738413ec93
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0029-sysusersd-Change-the-user-root-s-home-direct.patch
@@ -0,0 +1,32 @@
+From bf97001978cdefad644f7b4b909f281368e5a4dd Mon Sep 17 00:00:00 2001
+From: Kas User <kas@example.com>
+Date: Thu, 27 Jul 2023 08:23:06 +0000
+Subject: [PATCH] sysusers.d: Change the user root's home directory
+
+The default sysusers basic.conf.in file sets the root home directory to `/root`
+and does not permit its configuration. Change this to `:ROOT_HOME:` which must
+be set before the installation.
+
+The upstream considers the root home directory should not be changed
+<https://github.com/systemd/systemd/issues/27959>
+
+Upstream-Status: Denied
+Signed-off-by: Louis Rannou <lrannou@baylibre.com>
+---
+ sysusers.d/basic.conf.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysusers.d/basic.conf.in b/sysusers.d/basic.conf.in
+index 0aec080a4c..f26c224341 100644
+--- a/sysusers.d/basic.conf.in
++++ b/sysusers.d/basic.conf.in
+@@ -7,7 +7,7 @@
+ 
+ # The superuser
+ g root    0       -            -
+-u root    0:0     "Super User" /root
++u root    0:0     "Super User" :ROOT_HOME:
+ 
+ # The nobody user/group for NFS file systems
+ g {{NOBODY_GROUP_NAME}} 65534       -            -
+
diff --git a/meta/recipes-core/systemd/systemd_253.3.bb b/meta/recipes-core/systemd/systemd_253.3.bb
index cf0e17ff00..0f96140025 100644
--- a/meta/recipes-core/systemd/systemd_253.3.bb
+++ b/meta/recipes-core/systemd/systemd_253.3.bb
@@ -17,7 +17,6 @@ REQUIRED_DISTRO_FEATURES = "systemd"
 SRC_URI += " \
            file://touchscreen.rules \
            file://00-create-volatile.conf \
-           file://basic.conf.in \
            ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \
            ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \
            file://init \
@@ -28,6 +27,7 @@ SRC_URI += " \
            file://0004-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch \
            file://27254.patch \
            file://27253.patch \
+           file://0029-sysusersd-Change-the-user-root-s-home-direct.patch \
            "
 
 # patches needed by musl
@@ -253,10 +253,6 @@ EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \
 # The 60 seconds is watchdog's default vaule.
 WATCHDOG_TIMEOUT ??= "60"
 
-do_configure:prepend() {
-  sed s@:ROOT_HOME:@${ROOT_HOME}@g ${WORKDIR}/basic.conf.in > ${S}/sysusers.d/basic.conf.in
-}
-
 do_install() {
 	meson_do_install
 	install -d ${D}/${base_sbindir}
@@ -368,6 +364,11 @@ do_install() {
         sed -i -e 's/#RebootWatchdogSec=10min/RebootWatchdogSec=${WATCHDOG_TIMEOUT}/' \
             ${D}/${sysconfdir}/systemd/system.conf
     fi
+
+	# The root home directory specified in sysusers.d/ was patched to
+	# `:ROOT_HOME:`. Change now to the correct path given by ${ROOT_HOME}.
+	[ ! -f ${D}${libdir}/sysusers.d/basic.conf ] ||
+		sed -i s@:ROOT_HOME:@${ROOT_HOME}@g ${D}${libdir}/sysusers.d/basic.conf
 }
 
 python populate_packages:prepend (){

---
base-commit: 23d9e2e210f18401ac669a930f2328aefacdc925
change-id: 20230726-sysusers_root-adb4c6b4cd05

Best regards,
-- 
Louis Rannou <lrannou@baylibre.com>



             reply	other threads:[~2023-07-27  9:28 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-27  9:28 Louis Rannou [this message]
2023-08-06 20:07 ` [OE-core] [PATCH] systemd: sysusersd: change how the root home directory is set Alexandre Belloni

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=20230727-sysusers_root-v1-1-e39b7602d80e@baylibre.com \
    --to=lrannou@baylibre.com \
    --cc=Qi.Chen@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=peter.kjellerstedt@axis.com \
    --cc=tgamblin@baylibre.com \
    /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