The logind.conf config snippet installed by this recipe unconditionally
sets KillUserProcesses=yes, so logind terminates the whole session scope
when a login session ends. Among other things this kills detached screen
or tmux sessions on logout, which is surprising on interactive development
images, and there is currently no recipe-level way to turn the policy off.

Add a 'kill-user-processes' PACKAGECONFIG option, enabled by default,
so behaviour is unchanged unless a distro or image opts out with:

  PACKAGECONFIG:remove:pn-systemd-conf = "kill-user-processes"

Signed-off-by: Carlos Alberto Lopez Perez <[email protected]>
---
 meta/recipes-core/systemd/systemd-conf/logind.conf | 2 +-
 meta/recipes-core/systemd/systemd-conf_1.0.bb      | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd-conf/logind.conf 
b/meta/recipes-core/systemd/systemd-conf/logind.conf
index bf7f6920fa..25f01f3fb6 100644
--- a/meta/recipes-core/systemd/systemd-conf/logind.conf
+++ b/meta/recipes-core/systemd/systemd-conf/logind.conf
@@ -1,2 +1,2 @@
 [Login]
-KillUserProcesses=yes
+KillUserProcesses=@KILL_USER_PROCESSES@
diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb 
b/meta/recipes-core/systemd/systemd-conf_1.0.bb
index 60066cd60a..55bbeb69eb 100644
--- a/meta/recipes-core/systemd/systemd-conf_1.0.bb
+++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb
@@ -10,8 +10,9 @@ REQUIRED_DISTRO_FEATURES += "usrmerge"
 
 PE = "1"
 
-PACKAGECONFIG ??= "dhcp-ethernet"
+PACKAGECONFIG ??= "dhcp-ethernet kill-user-processes"
 PACKAGECONFIG[dhcp-ethernet] = ""
+PACKAGECONFIG[kill-user-processes] = ""
 
 SRC_URI = "\
     file://journald.conf \
@@ -28,6 +29,9 @@ do_install() {
        install -D -m0644 ${S}/logind.conf 
${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf
        install -D -m0644 ${S}/system.conf 
${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf
 
+        KILL_USER_PROCESSES="${@bb.utils.contains('PACKAGECONFIG', 
'kill-user-processes', 'yes', 'no', d)}"
+        sed -i "s/@KILL_USER_PROCESSES@/${KILL_USER_PROCESSES}/" 
${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf
+
         if ${@bb.utils.contains('PACKAGECONFIG', 'dhcp-ethernet', 'true', 
'false', d)}; then
                install -D -m0644 ${S}/wired.network 
${D}${systemd_unitdir}/network/80-wired.network
         fi
-- 
2.47.3

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

  • [OE-core] [PATCH] sy... Carlos Alberto Lopez Perez via lists.openembedded.org

Reply via email to