Port details |
- seatd Minimal seat management daemon and universal library
- 0.7.0 sysutils
=1 Version of this port present on the latest quarterly branch. - Maintainer: jbeich@FreeBSD.org
 - Port Added: 2020-08-09 09:35:27
- Last Update: 2022-05-28 16:36:49
- Commit Hash: 7c5bf26
- People watching this port, also watch:: scrot, php80-pdo_mysql, v4l-utils, coreutils, tmux
- License: MIT
- Description:
- seatd is a seat management daemon, that does everything it needs to
do. Nothing more, nothing less. Depends only on libc.
libseat is a seat management library allowing applications to use
whatever seat management is available.
Supports:
- seatd
- (e)logind
- embedded seatd for standalone operation
Each backend can be compile-time included and is runtime auto-detected
or manually selected with the `LIBSEAT_BACKEND` environment variable.
Which backend is in use is transparent to the application, providing a
simple common interface.
WWW: https://git.sr.ht/~kennylevinsen/seatd
- SVNWeb : git : Homepage
- pkg-plist: as obtained via:
make generate-plist - Dependency lines:
-
- To install the port:
- cd /usr/ports/sysutils/seatd/ && make install clean
- To add the package, run one of these commands:
- pkg install sysutils/seatd
- pkg install seatd
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above.- PKGNAME: seatd
- Flavors: there is no flavor information for this port.
- distinfo:
- TIMESTAMP = 1653336218
SHA256 (seatd-0.7.0.tar.gz) = 210ddf8efa1149cde4dd35908bef8e9e63c2edaa0cdb5435f2e6db277fafff3c
SIZE (seatd-0.7.0.tar.gz) = 39198
- Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- scdoc : textproc/scdoc
- meson>=0.57.1_1 : devel/meson
- ninja : devel/ninja
- pkgconf>=1.3.0_1 : devel/pkgconf
- Library dependencies:
-
- libbasu.so : devel/basu
- This port is required by:
- for Libraries
-
- x11-toolkits/wlroots
- x11-toolkits/wlroots-devel
- x11-wm/phoc
- Configuration Options:
- ===> The following configuration options are available for seatd-0.7.0:
BASU=on: ConsoleKit2 support via basu (experimental)
MANPAGES=on: Build and/or install manual pages
===> Use 'make config' to modify these settings
- Options name:
- sysutils_seatd
- USES:
- compiler:c11 cpe meson pkgconfig
- pkg-message:
- For install:
- libseat is used to get DRM master and input devices for non-root users.
On Wayland this is only necessary when starting a compositor under KMS
console (e.g., /dev/ttyv0 backed by /dev/dri/card0). Nested sessions like
"Wayland on X11" or "Wayland on Wayland" don't need extra configuration.
By default libseat tries to find the first working backend. To override
set LIBSEAT_BACKEND via environ(7). Available backends and try order:
* "seatd" - seatd-launch(1) or seatd rc.d(8) service
* "consolekit2" - ck-launch-session(1) or pam_ck_connector(8)
"seatd" backend requires membership in "video" group to be allowed to
use setuid bit in seatd-launch(1) or connect to seatd(1) socket.
# pw groupmod video -m <user>
$ exit # log out to refresh group permissions
For example, to start a wlroots-based compositor replace "sway" with
your compositor (e.g., "hikari", "wayfire", "labwc", "river") then run
$ seatd-launch sway
Alternatively, configure and run seatd(1) as system service
# sysrc seatd_enable=YES
# service seatd start
$ sway
To use ConsoleKit2 run
# pkg install consolekit2 basu
# sysrc -x seatd_enable
# service seatd stop
# sysrc dbus_enable=YES
# service dbus start
$ ck-launch-session sway
where "ck-launch-session" can be dropped after
# echo "session optional pam_ck_connector.so" >>/etc/pam.d/system
$ exit # log out to re-trigger PAM
- Master Sites:
|
Commit History - (may be incomplete: see SVNWeb link above for full details) |
Date | By | Description |
28 May 2022 16:36:49 0.7.0 |
Jan Beich (jbeich)  |
sysutils/seatd: drop BASU=on -Werror workaround after bc9ab6b61ec4
Obsoleted by BASU patch rebase:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic"
#include <basu/sd-bus.h>
#pragma GCC diagnostic pop |
28 May 2022 16:27:44 0.7.0 |
Jan Beich (jbeich)  |
sysutils/seatd: update to 0.7.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/refs/0.7.0
Reported by: upstream (seatd-announce)
Helped by: Greg V (BASU patch rebase) |
21 Feb 2022 22:39:57 0.6.4 |
Jan Beich (jbeich)  |
sysutils/seatd: update to 0.6.4
Changes: https://git.sr.ht/~kennylevinsen/seatd/refs/0.6.4
Reported by: upstream (seatd-announce) |
17 Dec 2021 16:59:32 0.6.3_1  |
Jan Beich (jbeich)  |
sysutils/seatd: unbreak BASU=off after 665e4e5edb6d
meson.build:1:0: ERROR: Unknown options: "libseat-consolekit2"
PR: 260492
Regressed by: https://github.com/mesonbuild/meson/commit/dbf2ace6ca1c |
20 Oct 2021 14:03:12 0.6.3_1  |
Jan Beich (jbeich)  |
sysutils/seatd: update ConsoleKit2 support
Sync with (e)logind backend improvements since 0.6.0.
Obtained from: DankBSD |
19 Oct 2021 20:32:15 0.6.3  |
Jan Beich (jbeich)  |
sysutils/seatd: update to 0.6.3
Changes: https://git.sr.ht/~kennylevinsen/seatd/refs/0.6.3
Reported by: upstream (seatd-announce) |
29 Sep 2021 14:11:20 0.6.2_1  |
Jan Beich (jbeich)  |
sysutils/seatd: add CPE information
Reported by: decke |
24 Sep 2021 17:22:01 0.6.2_1  |
Jan Beich (jbeich)  |
sysutils/seatd: document common usage
In wlroots affects WLR_BACKENDS=drm,libinput (default on console).
Weston also supports libseat but hasn't been tested.
PR: 258664
Submitted by: Evgeniy Khramtsov <evgeniy@khramtsov.org> (based on) |
16 Sep 2021 00:48:49 0.6.2  |
Jan Beich (jbeich)  |
sysutils/seatd: update to 0.6.2
Changes: https://git.sr.ht/~kennylevinsen/seatd/refs/0.6.2
Reported by: upstream (seatd-announce) |
14 Sep 2021 11:30:09 0.6.1  |
Jan Beich (jbeich)  |
sysutils/seatd: update to 0.6.1
Changes: https://git.sr.ht/~kennylevinsen/seatd/refs/0.6.1
Reported by: upstream (seatd-announce) |
12 Sep 2021 10:43:25 0.6.0_1  |
Jan Beich (jbeich)  |
sysutils/seatd: backport some bugfixes for seatd-launch |
12 Sep 2021 10:43:25 0.6.0_2  |
Jan Beich (jbeich)  |
sysutils/seatd: drop SUID option after b8a20cd29e54
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. |
11 Sep 2021 15:42:37 0.6.0  |
Jan Beich (jbeich)  |
sysutils/seatd: update to 0.6.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/log/0.6.0
Reported by: upstream (seatd-announce) |
05 Aug 2021 20:47:13 0.5.0_2 |
Jan Beich (jbeich)  |
*: unbreak fetch from git.sr.ht due to footer change
-2.32.0
+2.30.2
Reported by: Alain De Vos (via FreeBSD Forums) |
18 Apr 2021 23:34:26 0.5.0_2 |
Jan Beich (jbeich)  |
x11-toolkits/wlroots: move CONSOLEKIT as BASU to sysutils/seatd
- wlroots >= 0.14 is libseat-only per
https://github.com/swaywm/wlroots/commit/7f0908546149
- WLR_SESSION currently defaults to libseat even if CONSOLEKIT is enabled
- mutter and plasma5-kwin if ever ported to libseat may want to use ConsoleKit2
- Enable BASU by default as the dependency is already pulled by sway and mako |
18 Apr 2021 23:34:26 0.5.0 |
Jan Beich (jbeich)  |
sysutils/seatd: alphabetically order SUID definition |
18 Apr 2021 23:34:26 0.5.0_1 |
Jan Beich (jbeich)  |
x11-toolkits/wlroots: disable direct session by default
- Removed upstream in https://github.com/swaywm/wlroots/commit/d037c2dddc0f
- Lacks XDG_SESSION_TYPE unlike
https://github.com/swaywm/wlroots/commit/90c845295947
- SUID in consumers is now handled by `builtin` backend in libseat |
07 Apr 2021 08:09:01 0.5.0 |
Mathieu Arnold (mat)  |
One more small cleanup, forgotten yesterday.
Reported by: lwhsu |
06 Apr 2021 14:31:13 0.5.0 |
Mathieu Arnold (mat)  |
all: Remove all other $FreeBSD keywords. |
06 Apr 2021 14:31:07 0.5.0 |
Mathieu Arnold (mat)  |
Remove # $FreeBSD$ from Makefiles. |
25 Mar 2021 16:59:17
0.5.0 |
jbeich  |
sysutils/seatd: enable cr_pid on FreeBSD >= 12.3
https://cgit.freebsd.org/src/commit/?id=925f44f33862908f9a2e72520a17af148c7d0db5
https://cgit.freebsd.org/src/commit/?id=2b61bda2c75f30f6eadd18fb891fd885e4c8d19d |
18 Mar 2021 10:00:20
0.5.0 |
jbeich  |
sysutils/seatd: update description
https://git.sr.ht/~kennylevinsen/seatd/commit/4e65e1bf4714 |
15 Mar 2021 20:26:07
0.5.0 |
jbeich  |
sysutils/seatd: update to 0.5.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/log/0.5.0
Reported by: upstream (seatd-announce) |
17 Feb 2021 23:39:05
0.4.0_1 |
jbeich  |
Unbreak fetch from git.sr.ht
GZIP compression ratio and Git footer have changed e.g.,
method crc date time compressed uncompressed ratio uncompressed_name
-defla 944caee6 Dec 7 21:15 12482 71680 82.5% scdoc-1.11.1.tar
+defla 944caee6 Feb 17 23:20 12510 71680 82.5% scdoc-1.11.1.tar
---
-2.26.2
+2.30.0 |
28 Oct 2020 14:41:59
0.4.0_1 |
jbeich  |
x11-toolkits/wlroots: enable LIBSEAT by default
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 |
19 Oct 2020 22:20:33
0.4.0 |
jbeich  |
sysutils/seatd: update to 0.4.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/log/0.4.0
Reported by: upstream (seatd-announce)
MFH: 2020Q4 (better FreeBSD support, only 1 consumer also non-default) |
09 Sep 2020 18:56:30
0.3.0 |
jbeich  |
sysutils/seatd: update to 0.3.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/log/0.3.0
Reported by: upstream |
30 Aug 2020 23:13:49
0.2.0 |
jbeich  |
sysutils/seatd: replace r547059 with upstream fix
Let's keep -Werror for now as upstream is cooperative. |
30 Aug 2020 15:12:26
0.2.0 |
pkubaj  |
sysutils/seatd: fix build on GCC architectures
Disable -Werror:
../seatd/client.c: In function 'get_peer':
../seatd/client.c:49:51: error: operand of ?: changes signedness from 'int' to
'gid_t' {aka 'unsigned int'} due to unsignedness of other operand
[-Werror=sign-compare]
49 | *gid = cred.cr_ngroups > 0 ? cred.cr_groups[0] : -1;
| ^~
../seatd/client.c: At top level:
cc1: error: unrecognized command line option '-Wno-unused-command-line-argument'
[-Werror]
cc1: error: unrecognized command line option '-Wno-unknown-warning-option'
[-Werror]
cc1: all warnings being treated as errors |
29 Aug 2020 00:37:54
0.2.0 |
jbeich  |
sysutils/seatd: update to 0.2.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/log/0.2.0
Reported by: upstream, Repology |
24 Aug 2020 02:57:38
0.1.0 |
jbeich  |
sysutils/seatd: update to 0.1.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/log/0.1.0 |
09 Aug 2020 09:39:42
s20200808 |
jbeich  |
sysutils/seatd: move MESON_ARGS before PLIST_FILES
MESON_ARGS is part of configure while PLIST_FILES is part of install phase. |
09 Aug 2020 09:35:20
s20200808 |
jbeich  |
sysutils/seatd: add new port
seatd is a seat management deamon, that does everything it needs to
do. Nothing more, nothing less. Depends only on libc.
libseat is a seat management library allowing applications to use
whatever seat management is available.
Supports:
- seatd
- (e)logind
- embedded seatd for standalone operation
Each backend can be compile-time included and is runtime auto-detected
or manually selected with the `LIBSEAT_BACKEND` environment variable.
Which backend is in use is transparent to the application, providing a
simple common interface.
WWW: https://git.sr.ht/~kennylevinsen/seatd |