diff mbox series

[v2] systemd: sysusersd: change how the root home directory is set

Message ID 20231005-sysusers3-v2-1-938c9cca79b7@syslinbit.com
State New
Headers show
Series [v2] systemd: sysusersd: change how the root home directory is set | expand

Commit Message

Louis Rannou Oct. 5, 2023, 8:55 p.m. UTC
From: Louis Rannou <lrannou@baylibre.com>

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>
Signed-off-by: Louis Rannou <louis.rannou@syslinbit.com>
---
 ...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(-)


---
base-commit: 095021ac61c1df357e5f1868badd38038004317f
change-id: 20231005-sysusers3-f448703f294f

Best regards,

Comments

Julien Stephan Oct. 6, 2023, 1:16 p.m. UTC | #1
Le jeu. 5 oct. 2023 à 22:55, Louis Rannou <louis.rannou@syslinbit.com> a écrit :
>
> From: Louis Rannou <lrannou@baylibre.com>
>
> 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>
> Signed-off-by: Louis Rannou <louis.rannou@syslinbit.com>
> ---
>  ...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 <kas@example.com>

Hi Louis,

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

> +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_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

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 <louis.rannou@syslinbit.com>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#188739): https://lists.openembedded.org/g/openembedded-core/message/188739
> Mute This Topic: https://lists.openembedded.org/mt/101785446/4356723
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [jstephan@baylibre.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Louis Rannou Oct. 6, 2023, 2:37 p.m. UTC | #2
On 06/10/2023 15:16, Julien Stephan wrote:
> Le jeu. 5 oct. 2023 à 22:55, Louis Rannou <louis.rannou@syslinbit.com> a écrit :
>>
>> From: Louis Rannou <lrannou@baylibre.com>
>>
>> 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>
>> Signed-off-by: Louis Rannou <louis.rannou@syslinbit.com>
>> ---
>>   ...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 <kas@example.com>
> 
> 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 <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_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 <louis.rannou@syslinbit.com>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#188739): https://lists.openembedded.org/g/openembedded-core/message/188739
>> Mute This Topic: https://lists.openembedded.org/mt/101785446/4356723
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [jstephan@baylibre.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
Alexandre Belloni Oct. 6, 2023, 9:55 p.m. UTC | #3
Hello,

This causes the following warnings:

https://autobuilder.yoctoproject.org/typhoon/#/builders/106/builds/6888/steps/11/logs/warnings

On 05/10/2023 22:55:08+0200, Louis Rannou wrote:
> From: Louis Rannou <lrannou@baylibre.com>
> 
> 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>
> Signed-off-by: Louis Rannou <louis.rannou@syslinbit.com>
> ---
>  ...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 <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_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 \
>             ${@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 <louis.rannou@syslinbit.com>
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#188739): https://lists.openembedded.org/g/openembedded-core/message/188739
> Mute This Topic: https://lists.openembedded.org/mt/101785446/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

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 <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_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 \
            ${@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 (){