On 06/10/2023 15:16, Julien Stephan wrote:
Le jeu. 5 oct. 2023 à 22:55, Louis Rannou <[email protected]> a écrit :

From: Louis Rannou <[email protected]>

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/db5pr02mb102137939de6d43e423a9d296ef...@db5pr02mb10213.eurprd02.prod.outlook.com/>

Signed-off-by: Louis Rannou <[email protected]>
Suggested-by: Peter Kjellerstedt <[email protected]>
Signed-off-by: Louis Rannou <[email protected]>
---
  ...usersd-Change-the-user-root-s-home-direct.patch | 31 ++++++++++++++++++++++
  meta/recipes-core/systemd/systemd_254.4.bb         | 11 ++++----
  2 files changed, 37 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..dd0d96d11b
--- /dev/null
+++ 
b/meta/recipes-core/systemd/systemd/0029-sysusersd-Change-the-user-root-s-home-direct.patch
@@ -0,0 +1,31 @@
+From bf97001978cdefad644f7b4b909f281368e5a4dd Mon Sep 17 00:00:00 2001
+From: Kas User <[email protected]>

Hi Louis,

Is this intended to have kas user and email address instead of yours?

No, I thought I changed that.

+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 <[email protected]>
+---
+ 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_254.4.bb 
b/meta/recipes-core/systemd/systemd_254.4.bb
index 77724eb822..3adf62935d 100644
--- a/meta/recipes-core/systemd/systemd_254.4.bb
+++ b/meta/recipes-core/systemd/systemd_254.4.bb
@@ -21,7 +21,6 @@ REQUIRED_DISTRO_FEATURES += "systemd"
  SRC_URI += " \
             file://touchscreen.rules \
             file://00-create-volatile.conf \
-           file://basic.conf.in \

If this file is not needed anymore you should probably delete it with
this commit

Good catch. Thanks
Louis


Cheers
Julien

             ${@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 \
@@ -30,6 +29,7 @@ SRC_URI += " \
             
file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
             file://0008-implment-systemd-sysv-install-for-OE.patch \
             
file://0004-Move-sysusers.d-sysctl.d-binfmt.d-modules-load.d-to-.patch \
+           file://0029-sysusersd-Change-the-user-root-s-home-direct.patch \
             "

  # patches needed by musl
@@ -260,10 +260,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}
@@ -375,6 +371,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: 095021ac61c1df357e5f1868badd38038004317f
change-id: 20231005-sysusers3-f448703f294f

Best regards,
--
Louis Rannou <[email protected]>




-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#188771): 
https://lists.openembedded.org/g/openembedded-core/message/188771
Mute This Topic: https://lists.openembedded.org/mt/101785446/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to