[kscreenlocker] /: Require PAM by default and provide an option to not require it

Martin Gräßlin null at kde.org
Fri Mar 17 16:51:18 GMT 2017


Git commit 6ef78dc09dad112f32a95029845407305ce77b90 by Martin Gräßlin.
Committed on 17/03/2017 at 16:50.
Pushed by graesslin into branch 'master'.

Require PAM by default and provide an option to not require it

Summary:
The default should be what most distros and most users/devs use.
On most distros kcheckpass would be broken without PAM. Thus to not
require it is a severe issue. We have had many bug reports due to
PAM missing during build and users not able to unlock.

Slackware still requires a setup without PAM, thus a cmake option
is added to not require PAM.

Do:
cmake -DPAM_REQUIRED=OFF /path/to/kscreenlocker/src

to compile kscreenlocker without PAM support.

CCMAIL: distributions at kde.org
CCMAIL: kde-distro-packagers at kde.org

Test Plan: Tested cmake with and without that option

Reviewers: #plasma

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D4768

M  +1    -0    CMakeLists.txt
M  +3    -0    ConfigureChecks.cmake

https://commits.kde.org/kscreenlocker/6ef78dc09dad112f32a95029845407305ce77b90

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ec04a4d..3fdfb18 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -78,6 +78,7 @@ set_package_properties(loginctl PROPERTIES
     PURPOSE "Needed for emergency unlock in case that the greeter is broken. In case your distribution does not provide loginctl please contact plasma-devel at kde.org to discuss alternatives."
     )
 
+option(PAM_REQUIRED "Require building with PAM" ON)
 include(ConfigureChecks.cmake)
 
 configure_file(config-workspace.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-workspace.h)
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 05c923c..bd586b1 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -5,6 +5,9 @@ set_package_properties(PAM PROPERTIES DESCRIPTION "PAM Libraries"
                        TYPE OPTIONAL
                        PURPOSE "Required for screen unlocking and optionally used by the KDM log in manager"
                       )
+if(PAM_REQUIRED)
+set_package_properties(PAM PROPERTIES TYPE REQUIRED)
+endif()
 include(CheckTypeSize)
 include(FindPkgConfig)
 



More information about the Distributions mailing list