diff options
author | Eric Hameleers <alien@slackware.com> | 2020-02-13 22:31:04 +0100 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2020-02-13 22:31:04 +0100 |
commit | 670b40d79ec8cfa0662eff5e9df438e618971515 (patch) | |
tree | 7155b7a27fbad88273ecab3a3bfc6971c3ddbb1e /kde/post-install/sddm-qt5 | |
parent | 445ea2ef242e33c9dd5b1accdab53b9cb5ef3189 (diff) | |
download | ktown-670b40d79ec8cfa0662eff5e9df438e618971515.tar.gz ktown-670b40d79ec8cfa0662eff5e9df438e618971515.tar.xz |
Add support for building Plasma5 on a PAM-ified Slackware
The variable SLACKPAM is set to "yes" in kde/kde.options if PAM is found
installed on the system. Otherwise it is set to "no" and this is meant
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,libpwquality
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/sddm-qt5.post-install | 18 | ||||
-rw-r--r-- | kde/post-install/sddm-qt5/pam.d/sddm | 15 | ||||
-rw-r--r-- | kde/post-install/sddm-qt5/pam.d/sddm-autologin | 14 | ||||
-rw-r--r-- | kde/post-install/sddm-qt5/pam.d/sddm-greeter | 18 |
4 files changed, 63 insertions, 2 deletions
diff --git a/kde/post-install/sddm-qt5.post-install b/kde/post-install/sddm-qt5.post-install index 1a39fd0..006e234 100644 --- a/kde/post-install/sddm-qt5.post-install +++ b/kde/post-install/sddm-qt5.post-install @@ -1,9 +1,23 @@ -# Remove PAM related stuff: -rm -rf $PKG/etc/pam.d +if [ "$SLACKPAM" == "no" ]; then + # Remove PAM related stuff: + rm -rf $PKG/etc/pam.d +else + # Replace systemd-centric files with ours: + rm -f $PKG/etc/pam.d/sddm* + for FILE in sddm sddm-autologin sddm-greeter ; do + install -Dm644 $CWD/post-install/sddm-qt5/pam.d/$FILE $PKG/etc/pam.d/$FILE + done +fi # Remove the sddm.conf file because we will generate our own in doinst.sh: rm -f $PKG/etc/sddm.conf +# Ensure that user customizations to the session files are not lost: +mv $PKG/usr/share/sddm/scripts/Xsession{,.new} +mv $PKG/usr/share/sddm/scripts/Xsetup{,.new} +mv $PKG/usr/share/sddm/scripts/Xstop{,.new} +mv $PKG/usr/share/sddm/scripts/wayland-session{,.new} + # Add a wrapper for the sddm binary, to enable a custom environment: mv $PKG/usr/bin/sddm $PKG/usr/bin/sddm.bin cat <<"EOT" > $PKG/usr/bin/sddm diff --git a/kde/post-install/sddm-qt5/pam.d/sddm b/kde/post-install/sddm-qt5/pam.d/sddm new file mode 100644 index 0000000..9dcda93 --- /dev/null +++ b/kde/post-install/sddm-qt5/pam.d/sddm @@ -0,0 +1,15 @@ +#%PAM-1.0 + +auth include login +-auth optional pam_gnome_keyring.so +-auth optional pam_kwallet5.so + +account include login + +password include login +-password optional pam_gnome_keyring.so use_authtok + +session optional pam_keyinit.so force revoke +session include login +-session optional pam_gnome_keyring.so auto_start +-session optional pam_kwallet5.so auto_start diff --git a/kde/post-install/sddm-qt5/pam.d/sddm-autologin b/kde/post-install/sddm-qt5/pam.d/sddm-autologin new file mode 100644 index 0000000..fe410bb --- /dev/null +++ b/kde/post-install/sddm-qt5/pam.d/sddm-autologin @@ -0,0 +1,14 @@ +#%PAM-1.0 +auth required pam_env.so +auth include system-auth +auth include postlogin +-auth optional pam_gnome_keyring.so +-auth optional pam_kwallet5.so +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 +-session optional pam_gnome_keyring.so auto_start +-session optional pam_kwallet5.so auto_start diff --git a/kde/post-install/sddm-qt5/pam.d/sddm-greeter b/kde/post-install/sddm-qt5/pam.d/sddm-greeter new file mode 100644 index 0000000..7c77b68 --- /dev/null +++ b/kde/post-install/sddm-qt5/pam.d/sddm-greeter @@ -0,0 +1,18 @@ +#%PAM-1.0 + +# Load environment from /etc/environment and ~/.pam_environment +auth required pam_env.so + +# Always let the greeter start without authentication +auth required pam_permit.so + +# No action required for account management +account required pam_permit.so + +# Can't change password +password required pam_deny.so + +# Setup session +session required pam_unix.so +session optional pam_systemd.so +session optional pam_elogind.so |