Add support for building swaylock without PAM

This involves setuid'ing swaylock, which then forks and drops perms on
the parent process. The child process remains root and listens on a pipe
for requests to validate passwords against /etc/shadow.
This commit is contained in:
Drew DeVault 2018-09-28 12:18:54 +02:00
parent 58af001517
commit c977349120
7 changed files with 233 additions and 76 deletions

View file

@ -74,6 +74,11 @@ if elogind.found()
swayidle_deps += elogind
endif
if not systemd.found() and not elogind.found()
warning('The sway binary must be setuid when compiled without (e)logind')
warning('You must do this manually post-install: chmod a+s /path/to/sway')
endif
scdoc = find_program('scdoc', required: false)
if scdoc.found()
@ -139,10 +144,7 @@ subdir('swaybg')
subdir('swaybar')
subdir('swayidle')
subdir('swaynag')
if libpam.found()
subdir('swaylock')
endif
subdir('swaylock')
config = configuration_data()
config.set('sysconfdir', join_paths(prefix, sysconfdir))