1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-19 03:52:17 +00:00

sysutils/seatd: drop SUID option after b8a20cd29e

It's not possible to restrict setuid bit to "video" group without also
breaking compositor nesting (e.g., hikari on sway). So, leave setuid
handling to a dedicated executable. seatd-launch works similar to
ck-launch-session by starting the daemon on demand.
This commit is contained in:
Jan Beich 2021-09-11 15:52:54 +00:00
parent 8032eeb770
commit 341770e867
10 changed files with 57 additions and 41 deletions

View File

@ -5,6 +5,38 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
20210912:
AFFECTS: x11-wm/cage, x11-wm/hikari, x11-wm/labwc, x11-wm/sway, x11-wm/wayfire
AUTHOR: jbeich@FreeBSD.org
SUID option has been removed in favor of seatd-launch(1) which doesn't
require special handling in every consumer and doesn't bypass group
permissions. If you've already enabled seatd service or use consolekit2
then nothing changes. Otherwise,
$ sway
00:00:00.001 [ERROR] [wlr] [libseat] [libseat/libseat.c:83] No backend was able to open a seat
00:00:00.001 [ERROR] [wlr] [backend/session/session.c:84] Unable to create seat: Function not implemented
00:00:00.001 [ERROR] [wlr] [backend/session/session.c:218] Failed to load session backend
00:00:00.001 [ERROR] [wlr] [backend/backend.c:353] Failed to start a DRM session
00:00:00.001 [ERROR] [sway/server.c:53] Unable to create backend
can be fixed by
$ ck-launch-session sway
or
$ seatd-launch sway
or
# sysrc seatd_enable=YES
# service seatd start
$ sway
Replace "sway" with your compositor e.g., "cage", "hikari", "labwc", "wayfire".
20210907:
AFFECTS: consumers of math/eigen[23]
AUTHOR: adridg@FreeBSD.org

View File

@ -1,6 +1,6 @@
PORTNAME= seatd
DISTVERSION= 0.6.0
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= sysutils
MASTER_SITES= https://git.sr.ht/~kennylevinsen/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
@ -25,8 +25,8 @@ PLIST_FILES= bin/${PORTNAME} \
lib/libseat.so.1 \
libdata/pkgconfig/libseat.pc
OPTIONS_DEFINE= BASU MANPAGES SUID
OPTIONS_DEFAULT=BASU MANPAGES SUID
OPTIONS_DEFINE= BASU MANPAGES
OPTIONS_DEFAULT=BASU MANPAGES
# https://lists.sr.ht/~kennylevinsen/seatd-devel/%3CQHZRRQ.73ZI29COPK131%40unrelenting.technology%3E
BASU_DESC= ConsoleKit2 support via basu (experimental)
@ -44,7 +44,4 @@ MANPAGES_MESON_ENABLED= man-pages
MANPAGES_PLIST_FILES= man/man1/${PORTNAME}.1.gz \
man/man1/${PORTNAME}-launch.1.gz
SUID_DESC= Fall back to builtin server when running as root
SUID_MESON_ENABLED= libseat-builtin
.include <bsd.port.mk>

View File

@ -1,6 +1,7 @@
PORTNAME= cage
DISTVERSIONPREFIX= v
DISTVERSION= 0.1.4
PORTREVISION= 1
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@ -23,18 +24,15 @@ USES= compiler:c11 meson pkgconfig xorg
USE_GITHUB= yes
USE_XORG= pixman
GH_ACCOUNT= Hjdskes
PLIST_FILES= "${MAYBE_SUID}bin/${PORTNAME}"
PLIST_FILES= bin/${PORTNAME}
OPTIONS_DEFINE= MANPAGES SUID X11
OPTIONS_DEFAULT=MANPAGES SUID X11
OPTIONS_DEFINE= MANPAGES X11
OPTIONS_DEFAULT=MANPAGES X11
MANPAGES_BUILD_DEPENDS= scdoc>=1.9.2:textproc/scdoc
MANPAGES_MESON_ENABLED= man-pages
MANPAGES_PLIST_FILES= man/man1/${PORTNAME}.1.gz
SUID_DESC= setuid bit on "${PORTNAME}" binary (to claim DRM without seatd/console-kit-daemon)
SUID_VARS= MAYBE_SUID="@(,,4755) "
X11_MESON_TRUE= xwayland
post-patch:

View File

@ -1,5 +1,6 @@
PORTNAME= hikari
DISTVERSION= 2.3.2
PORTREVISION= 1
CATEGORIES= x11-wm
MASTER_SITES= https://hikari.acmelabs.space/releases/
@ -22,23 +23,19 @@ USES= compiler:c11 gnome pkgconfig xorg
USE_GNOME= cairo pango
USE_XORG= pixman
MAKE_ARGS+= ${WITH_DEBUG:DDEBUG=YES} \
WITHOUT_SUID=YES
MAKE_ARGS+= ${WITH_DEBUG:DDEBUG=YES}
OPTIONS_DEFINE= GAMMA LAYERSHELL SCREENCOPY SUID VIRTUALINPUT X11
OPTIONS_DEFAULT= GAMMA LAYERSHELL SCREENCOPY SUID VIRTUALINPUT X11
OPTIONS_DEFINE= GAMMA LAYERSHELL SCREENCOPY VIRTUALINPUT X11
OPTIONS_DEFAULT= GAMMA LAYERSHELL SCREENCOPY VIRTUALINPUT X11
GAMMA_DESC= Include gammacontrol protocol (required by, e.g., Redshift)
LAYERSHELL_DESC= Include layer_shell protocol (required by, e.g., waybar)
SCREENCOPY_DESC= Include screenshot protocol (required by, e.g., grim)
SUID_DESC= Setuid bit on binaries (required for DRM and PAM)
VIRTUALINPUT_DESC= needed for VNC support (requiered by e.g. wayvnc)
GAMMA_MAKE_ARGS= WITH_GAMMACONTROL=YES
LAYERSHELL_MAKE_ARGS= WITH_LAYERSHELL=YES
SCREENCOPY_MAKE_ARGS= WITH_SCREENCOPY=YES
SUID_PLIST_SUB= MAYBE_SUID="@(,,4755) "
SUID_PLIST_SUB_OFF= MAYBE_SUID=""
VIRTUALINPUT_MAKE_ARGS= WITH_VIRTUAL_INPUT=YES
X11_MAKE_ARGS= WITH_XWAYLAND=YES

View File

@ -1,5 +1,5 @@
%%MAYBE_SUID%%bin/hikari
%%MAYBE_SUID%%bin/hikari-unlocker
bin/hikari
@(,,4755) bin/hikari-unlocker
etc/pam.d/hikari-unlocker
@sample %%ETCDIR%%/hikari.conf.sample
share/backgrounds/hikari/hikari_wallpaper.png

View File

@ -1,5 +1,6 @@
PORTNAME= labwc
DISTVERSION= 0.3.0
PORTREVISION= 1
CATEGORIES= x11-wm
MAINTAINER= jbeich@FreeBSD.org
@ -19,10 +20,10 @@ USE_GITHUB= yes
USE_GNOME= cairo libxml2 pango
USE_XORG= pixman
GH_ACCOUNT= johanmalm
PLIST_FILES= "${MAYBE_SUID}bin/${PORTNAME}"
PLIST_FILES= bin/${PORTNAME}
OPTIONS_DEFINE= MANPAGES SUID X11
OPTIONS_DEFAULT=MANPAGES SUID X11
OPTIONS_DEFINE= MANPAGES X11
OPTIONS_DEFAULT=MANPAGES X11
MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc
MANPAGES_MESON_ENABLED= man-pages
@ -33,9 +34,6 @@ MANPAGES_PLIST_FILES= man/man1/${PORTNAME}.1.gz \
man/man5/${PORTNAME}-menu.5.gz \
man/man5/${PORTNAME}-theme.5.gz
SUID_DESC= setuid bit on "${PORTNAME}" binary (to claim DRM without seatd/console-kit-daemon)
SUID_VARS= MAYBE_SUID="@(,,4755) "
X11_MESON_ENABLED= xwayland
post-extract:

View File

@ -1,5 +1,6 @@
PORTNAME= sway
DISTVERSION= 1.6.1
PORTREVISION= 1
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@ -34,8 +35,8 @@ USE_XORG= pixman
GH_ACCOUNT= swaywm
MESON_ARGS= -Dsd-bus-provider=basu
OPTIONS_DEFINE= BASU MANPAGES PIXBUF SUID X11
OPTIONS_DEFAULT=BASU MANPAGES PIXBUF SUID X11
OPTIONS_DEFINE= BASU MANPAGES PIXBUF X11
OPTIONS_DEFAULT=BASU MANPAGES PIXBUF X11
OPTIONS_SUB= yes
BASU_DESC= Tray in swaybar via basu
@ -48,10 +49,6 @@ MANPAGES_MESON_ENABLED= man-pages
PIXBUF_USE= GNOME=gdkpixbuf2
PIXBUF_MESON_ENABLED= gdk-pixbuf
SUID_DESC= setuid bit on "sway" binary (to claim DRM without seatd/console-kit-daemon)
SUID_PLIST_SUB= MAYBE_SUID="@(,,4755) "
SUID_PLIST_SUB_OFF= MAYBE_SUID=""
X11_USE= XORG=xcb
X11_MESON_ENABLED= xwayland

View File

@ -1,4 +1,4 @@
%%MAYBE_SUID%%bin/sway
bin/sway
bin/swaybar
bin/swaymsg
bin/swaynag

View File

@ -1,6 +1,7 @@
PORTNAME= wayfire
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.2
PORTREVISION= 1
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@ -35,12 +36,8 @@ GH_ACCOUNT= WayfireWM
GH_TUPLE= WayfireWM:wf-touch:8974eb0:wftouch/subprojects/wf-touch \
WayfireWM:wf-utils:889fdaf:wfutils/subprojects/wf-utils
OPTIONS_DEFINE= SUID X11
OPTIONS_DEFAULT=SUID X11
SUID_DESC= setuid bit on "${PORTNAME}" binary (to claim DRM without seatd/console-kit-daemon)
SUID_PLIST_SUB= MAYBE_SUID="@(,,4755) "
SUID_PLIST_SUB_OFF= MAYBE_SUID=""
OPTIONS_DEFINE= X11
OPTIONS_DEFAULT=X11
X11_USE= XORG=xcb
X11_MESON_ENABLED= xwayland

View File

@ -1,4 +1,4 @@
%%MAYBE_SUID%%bin/wayfire
bin/wayfire
include/wayfire/bindings.hpp
include/wayfire/compositor-surface.hpp
include/wayfire/compositor-view.hpp