x11-base/xorg-server: elogind integration, -suid by default.
authorPiotr Karbowski <slashbeast@gentoo.org>
Thu, 21 Mar 2019 19:39:09 +0000 (20:39 +0100)
committerPiotr Karbowski <slashbeast@gentoo.org>
Thu, 21 Mar 2019 19:39:09 +0000 (20:39 +0100)
commitbdd4b3309fef4c58066f9a5f88b4db448be19dfe
tree991d4ebf021e5e6f04c2669fb2398cedf3b2c06f
parent1310d16b05d740d1e90ddae9992d2f450d58ae17
x11-base/xorg-server: elogind integration, -suid by default.

This enables users that does not run systemd to have suid-less Xorg. A
privileged entity is required for SETMASTER and DROPMASTER calls to get
control over framebuffer. Additionally elogind with udev grant user
access to input device nodes and elogind alone interfaces the
SETMASTER/DROPMASTER calls.

Xorg-server will do keeptty automatically, meaning one does not need to
pass any extra parameters to `startx` to get things working, It does
take adventage of $XDG_SEAT and $XDG_VTNR set by pam_elogind upon login.

Although it's possible to run rootless without udev (with any /dev
manager, like mdev of busybox), the configure flag that USE=elogind
enables (--enable-systemd-logind) checks if udev toggle is also enabled.
This leads to a situation where udev needs to be present on user system
while building, however, udev does not needs to be running, as long as
user is in video and input system groups, elogind is running and user
logged in when pam_elogind.so was enabled Xorg will start as regular
user.

Closes: https://bugs.gentoo.org/670930
Ack-by: Matt Turner <mattst88@gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Piotr Karbowski <slashbeast@gentoo.org>
x11-base/xorg-server/metadata.xml
x11-base/xorg-server/xorg-server-1.20.4.ebuild
x11-base/xorg-server/xorg-server-9999.ebuild