[Lunar-commits] <moonbase-other> slim: remove internal restart when using PAM

v4hn me at v4hn.de
Tue Nov 4 11:41:25 CET 2014


commit ef7b300a4c75677137998422713f2cc3474470bd
Author: v4hn <me at v4hn.de>
Date: Tue, 04 Nov 2014 11:29:20 +0100
URL: https://github.com/lunar-linux/moonbase-other/commit/ef7b300a4c75677137998422713f2cc3474470bd

slim: remove internal restart when using PAM

If slim doesn't _fully_ restart with PAM
the user will end up with broken keyboard input
when they log out again.

Thanks to timcowchip for reporting this.
---
  x11-utils/slim/PRE_BUILD              | +8/-0     
  x11-utils/slim/systemd.d/slim.service | +1/-0     
  2 files changed, 9 insertions(+)

--- a/x11-utils/slim/PRE_BUILD
+++ b/x11-utils/slim/PRE_BUILD
@@ -8,6 +8,14 @@ sedit 's at FREETYPE_INCLUDE_DIR_freetype2@FREETYPE_INCLUDE_DIR_ft2build@' CMakeLis
 # link against pam with USE_PAM
 sedit '/target_link_libraries(${PROJECT_NAME} ${PAM_LIBRARY})/ a target_link_libraries(libslim ${PAM_LIBRARY})' CMakeLists.txt &&
 
+# https://bugs.freedesktop.org/show_bug.cgi?id=62866
+# Lennart: no, you mustn't reuse a process after it used PAM once.
+# So we disable the internal restart completely
+if in_depends $MODULE "Linux-PAM"; then
+  sedit 's/\([^:]\)RestartServer/\1Exit/g' app.cpp &&
+  sedit "/void Exit/ d; /void RestartServer/ a void Exit();" app.h
+fi &&
+
 # fix their broken sample configuration
 sedit 's/^sessions.*/#\0/; T; a sessiondir /usr/share/xsessions' slim.conf &&
 
--- a/x11-utils/slim/systemd.d/slim.service
+++ b/x11-utils/slim/systemd.d/slim.service
@@ -6,6 +6,7 @@ After=systemd-user-sessions.service
 ExecStart=/usr/bin/slim -nodaemon
 StandardInput=tty-force
 TTYPath=/dev/tty7
+Restart=always
 
 [Install]
 Alias=display-manager.service




More information about the Lunar-commits mailing list