7845716756
When seatd is running don't use setuid bit. Otherwise, use wlroots
direct session like before to keep POLA. For example,
$ sway
[ERROR] [libseat] [libseat/libseat.c:73] libseat_open_seat: No backend was able to open a seat
[ERROR] [backend/session/libseat.c:102] Unable to create seat: Function not implemented
<direct session started>
$ ps -lp $(pgrep -x sway)
UID PID PPID C PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
1234 63621 63611 0 20 0 279152 107156 select S v0 0:01.11 sway
0 63623 63621 6 52 0 32124 18396 sbwait I v0 0:00.00 sway
vs.
$ service seatd onestart
$ sway
<libseat session started>
$ ps -lp $(pgrep -x sway)
UID PID PPID C PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND
1234 46290 46280 4 20 0 332924 105248 select S v0 0:05.47 sway
36 lines
891 B
Makefile
36 lines
891 B
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= seatd
|
|
DISTVERSION= 0.4.0
|
|
PORTREVISION= 1
|
|
CATEGORIES= sysutils
|
|
MASTER_SITES= https://git.sr.ht/~kennylevinsen/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
|
|
|
|
MAINTAINER= jbeich@FreeBSD.org
|
|
COMMENT= Minimal seat management daemon and universal library
|
|
|
|
LICENSE= MIT
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
USES= compiler:c11 meson pkgconfig
|
|
USE_LDCONFIG= yes
|
|
USE_RC_SUBR= ${PORTNAME}
|
|
PLIST_FILES= bin/${PORTNAME} \
|
|
include/libseat.h \
|
|
lib/libseat.so \
|
|
lib/libseat.so.1 \
|
|
libdata/pkgconfig/libseat.pc
|
|
|
|
OPTIONS_DEFINE= MANPAGES SUID
|
|
# XXX enable SUID after wlroots removes direct session
|
|
OPTIONS_DEFAULT=MANPAGES
|
|
|
|
SUID_DESC= Fall back to builtin server when running as root
|
|
SUID_MESON_ENABLED= builtin
|
|
|
|
MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc
|
|
MANPAGES_MESON_ENABLED= man-pages
|
|
MANPAGES_PLIST_FILES= man/man1/${PORTNAME}.1.gz
|
|
|
|
.include <bsd.port.mk>
|