summaryrefslogtreecommitdiffstats
path: root/kde/post-install/plasma-workspace
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2019-10-06 23:36:02 +0200
committer Eric Hameleers <alien@slackware.com>2019-10-06 23:36:02 +0200
commit55bb52de959214602121867d55723cf27d7684a7 (patch)
tree62a82ef1ea1b67e72068d2e96583fe25594fbff4 /kde/post-install/plasma-workspace
parent57ec3da3a54f8380517de0b37f42be75ef04a307 (diff)
downloadktown-pam.tar.gz
ktown-pam.tar.xz
Add support for building Plasma5 on a PAM-ified Slackwarepam
Set the variable SLACKPAM to "yes" in kde/kde.options if you want to add support for PAM. These packages will be supplied by a pam-ified Slackware, so they should not be installed from 'ktown': deps:ConsoleKit2,cracklib These packages will react to SLACKPAM variable setting: plasma:kscreenlocker,plasma-workspace plasma-extra:sddm-qt5 Uncomment in kde/modules/plasma and compile: plasma:kwallet-pam
Diffstat (limited to '')
-rw-r--r--kde/post-install/plasma-workspace.post-install20
-rw-r--r--kde/post-install/plasma-workspace/pam.d/kde9
-rw-r--r--kde/post-install/plasma-workspace/xinit/xinitrc.plasma18
3 files changed, 33 insertions, 14 deletions
diff --git a/kde/post-install/plasma-workspace.post-install b/kde/post-install/plasma-workspace.post-install
index 19e5c71..e0dbe78 100644
--- a/kde/post-install/plasma-workspace.post-install
+++ b/kde/post-install/plasma-workspace.post-install
@@ -12,10 +12,6 @@ cat $CWD/post-install/plasma-workspace/scripts/startkwayland \
> $PKG/usr/bin/startkwayland
chmod 0755 $PKG/usr/bin/startkwayland
-# ck-launch-session is needed for a Wayland session, since we do not have PAM:
-sed -e 's/^Exec=dbus-launch/Exec=ck-launch-session dbus-launch --sh-syntax/' \
- -i $PKG/usr/share/wayland-sessions/plasmawayland.desktop
-
# Add a "fail-safe" version of KDE Plasma desktop session.
# Prefix the name with "z_" because SDDM is braindead:
mkdir -p $PKG/usr/share/xsessions
@@ -31,8 +27,16 @@ rmdir $PKG/usr/lib$LIBDIRSUFFIX/qt5/plugins/plugins
mkdir -p $PKG/etc
mv $PKG//etc/kde/dbus-1 $PKG/etc/
-# For shadow, this file needs to be setuid root just like the KDE4 version:
-if [ -f $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass ]; then
- chmod +s $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass
-fi
+if [ "$SLACKPAM" == "no" ]; then
+ # For shadow, this file needs to be setuid root just like the KDE4 version:
+ if [ -f $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass ]; then
+ chmod +s $PKG/usr/lib$LIBDIRSUFFIX/kcheckpass
+ fi
+ # ck-launch-session is needed for a Wayland session, since we do not have PAM:
+ sed -e 's/^Exec=dbus-launch/Exec=ck-launch-session dbus-launch --sh-syntax/' \
+ -i $PKG/usr/share/wayland-sessions/plasmawayland.desktop
+else
+ # Install a PAM file for Plasma5 workspace:
+ install -Dm644 $CWD/post-install/plasma-workspace/pam.d/kde $PKG/etc/pam.d/kde
+fi
diff --git a/kde/post-install/plasma-workspace/pam.d/kde b/kde/post-install/plasma-workspace/pam.d/kde
new file mode 100644
index 0000000..7acfd90
--- /dev/null
+++ b/kde/post-install/plasma-workspace/pam.d/kde
@@ -0,0 +1,9 @@
+#%PAM-1.0
+auth include system-auth
+auth include postlogin
+account include system-auth
+password include system-auth
+session include system-auth
+session required pam_loginuid.so
+session optional pam_ck_connector.so nox11
+session include postlogin
diff --git a/kde/post-install/plasma-workspace/xinit/xinitrc.plasma b/kde/post-install/plasma-workspace/xinit/xinitrc.plasma
index ff3c8a1..e70c281 100644
--- a/kde/post-install/plasma-workspace/xinit/xinitrc.plasma
+++ b/kde/post-install/plasma-workspace/xinit/xinitrc.plasma
@@ -9,24 +9,30 @@ sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
- xrdb -merge $sysresources
+ xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
- xmodmap $sysmodmap
+ xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
- xrdb -merge $userresources
+ xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
- xmodmap $usermodmap
+ xmodmap $usermodmap
fi
# Start the window manager:
+if which startplasma-x11 1>/dev/null 2>/dev/null ; then
+ START_KDE=startplasma-x11
+else
+ START_KDE=startkde
+fi
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
- ck-launch-session dbus-launch --sh-syntax --exit-with-session startkde
+ ck-launch-session dbus-launch --sh-syntax --exit-with-session $START_KDE
else
- dbus-launch --sh-syntax --exit-with-session startkde
+ dbus-launch --sh-syntax --exit-with-session $START_KDE
fi
+