From: Christian Bräuner Sørensen <yo...@bsorensen.net>

Fixes a bug introducted in ebafe46379 systemd: upgrade to 255.1.

Besides updating systemd, that commit also made other changes. One of them
being when to perform the replacement in order to fix ROOT_HOME.

Previously, that happened on a configure prefunc and on
${S}/sysusers.d/basic.conf.in.
Now it happens in install and on image/usr/lib/sysusers.d/basic.conf.

However, that file is not present if sysusers is not in PACKAGECONFIG,
since that file in that case is not installed hence resulting in:
sed: can't read <redactedpath>/image/usr/lib/sysusers.d/basic.conf: No such 
file or directory

Previously, in the case of sysusers not being in PACKAGECONFIG, that was a
"silent error" since the replacement was done but the file was not really
used since the file was not installed.

Signed-off-by: Christian Bräuner Sørensen <yo...@bsorensen.net>
---
 meta/recipes-core/systemd/systemd_255.4.bb | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd_255.4.bb 
b/meta/recipes-core/systemd/systemd_255.4.bb
index e7498c802d..f58a1bc2b6 100644
--- a/meta/recipes-core/systemd/systemd_255.4.bb
+++ b/meta/recipes-core/systemd/systemd_255.4.bb
@@ -271,14 +271,16 @@ WATCHDOG_TIMEOUT ??= "60"
 
 do_install() {
        meson_do_install
-       # Change the root user's home directory in /lib/sysusers.d/basic.conf.
-       # This is done merely for backward compatibility with previous systemd 
recipes.
-       # systemd hardcodes root user's HOME to be "/root". Changing to use 
other values
-       # may have unexpected runtime behaviors.
-       if [ "${ROOT_HOME}" != "/root" ]; then
-               bbwarn "Using ${ROOT_HOME} as root user's home directory is not 
fully supported by systemd"
-               sed -i -e 's#/root#${ROOT_HOME}#g' 
${D}${exec_prefix}/lib/sysusers.d/basic.conf
-       fi
+       if ${@bb.utils.contains('PACKAGECONFIG', 'sysusers', 'true', 'false', 
d)}; then
+            # Change the root user's home directory in 
/lib/sysusers.d/basic.conf.
+            # This is done merely for backward compatibility with previous 
systemd recipes.
+            # systemd hardcodes root user's HOME to be "/root". Changing to 
use other values
+            # may have unexpected runtime behaviors.
+            if [ "${ROOT_HOME}" != "/root" ]; then
+                    bbwarn "Using ${ROOT_HOME} as root user's home directory 
is not fully supported by systemd"
+                    sed -i -e 's#/root#${ROOT_HOME}#g' 
${D}${exec_prefix}/lib/sysusers.d/basic.conf
+            fi
+        fi
        install -d ${D}/${base_sbindir}
        if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 
'false', 'true', d)}; then
                # Provided by a separate recipe
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#198500): 
https://lists.openembedded.org/g/openembedded-core/message/198500
Mute This Topic: https://lists.openembedded.org/mt/105593219/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to