Port details |
- seatd Minimal seat management daemon and universal library
- 0.9.1 sysutils =5 0.8.0_1Version of this port present on the latest quarterly branch.
- Maintainer: jbeich@FreeBSD.org
- Port Added: 2020-08-09 09:35:27
- Last Update: 2024-10-31 00:53:16
- Commit Hash: ad52602
- People watching this port, also watch:: pkg, htop, ffmpeg, sway, wl-clipboard
- License: MIT
- WWW:
- https://git.sr.ht/~kennylevinsen/seatd
- 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.
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- 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 = 1730317406
SHA256 (seatd-0.9.1.tar.gz) = 819979c922a0be258aed133d93920bce6a3d3565a60588d6d372ce9db2712cd3
SIZE (seatd-0.9.1.tar.gz) = 41968
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 : 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/aquamarine
- x11-toolkits/wlroots
- x11-toolkits/wlroots015
- x11-toolkits/wlroots017
- x11-wm/cosmic-comp
- x11-wm/niri
-
Deleted ports which required this port:
- * - deleted ports are only shown under the This port is required by section. It was harder to do for the Required section. Perhaps later...
Configuration Options:
- ===> The following configuration options are available for seatd-0.9.1:
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
Known issues:
- Garbage on console due to missing K_OFF, see
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272095
- Master Sites:
|
Commit History - (may be incomplete: for full details, see links to repositories near top of page) |
Commit | Credits | Log message |
0.9.1 31 Oct 2024 00:53:16 |
Jan Beich (jbeich) |
sysutils/seatd: update to 0.9.1
Changes: https://git.sr.ht/~kennylevinsen/seatd/refs/0.9.1
Reported by: upstream (seatd-announce) |
0.9.0 22 Oct 2024 00:51:24 |
Jan Beich (jbeich) |
sysutils/seatd: update to 0.9.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/refs/0.9.0
Reported by: upstream (seatd-announce) |
0.8.0_1 22 Apr 2024 23:48:25 |
Jan Beich (jbeich) |
sysutils/seatd: document a known issue |
0.8.0_1 12 Jan 2024 22:40:48 |
Muhammad Moinur Rahman (bofh) |
*/*: Sanitize MANPREFIX for meson ports
Approved by: portmgr |
0.8.0 19 Jul 2023 14:49:03 |
Jan Beich (jbeich) |
sysutils/seatd: update to 0.8.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/refs/0.8.0
Reported by: upstream (seatd-announce) |
0.7.0 30 Mar 2023 00:22:57 |
Jan Beich (jbeich) |
sysutils/seatd: unbreak fetch due to Git upgrade
=> Fetched file size mismatch (expected 39198, actual 39302)
See also: https://github.com/git/git/commit/4f4be00d302b |
0.7.0 20 Mar 2023 19:58:58 |
Jan Beich (jbeich) |
sysutils/seatd: unbreak with --auto-features=enabled
meson.build:143:2: ERROR: Assert failed: -Dlibseat-logind must be set to systemd
or elogind since auto_features != auto
PR: 270361 |
07 Sep 2022 21:58:51 |
Stefan Eßer (se) |
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner) |
0.7.0 07 Sep 2022 21:10:59 |
Stefan Eßer (se) |
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above ) |
0.7.0 28 May 2022 16:36:49 |
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 |
0.7.0 28 May 2022 16:27:44 |
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) |
0.6.4 21 Feb 2022 22:39:57 |
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) |
0.6.3_1 17 Dec 2021 16:59:32 |
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 |
0.6.3_1 20 Oct 2021 14:03:12 |
Jan Beich (jbeich) |
sysutils/seatd: update ConsoleKit2 support
Sync with (e)logind backend improvements since 0.6.0.
Obtained from: DankBSD |
0.6.3 19 Oct 2021 20:32:15 |
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) |
0.6.2_1 29 Sep 2021 14:11:20 |
Jan Beich (jbeich) |
sysutils/seatd: add CPE information
Reported by: decke |
0.6.2_1 24 Sep 2021 17:22:01 |
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) |
0.6.2 16 Sep 2021 00:48:49 |
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) |
0.6.1 14 Sep 2021 11:30:09 |
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) |
0.6.0_2 12 Sep 2021 10:43:25 |
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. |
0.6.0_1 12 Sep 2021 10:43:25 |
Jan Beich (jbeich) |
sysutils/seatd: backport some bugfixes for seatd-launch |
0.6.0 11 Sep 2021 15:42:37 |
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) |
0.5.0_2 05 Aug 2021 20:47:13 |
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) |
0.5.0_2 18 Apr 2021 23:34:26 |
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 |
0.5.0_1 18 Apr 2021 23:34:26 |
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 |
0.5.0 18 Apr 2021 23:34:26 |
Jan Beich (jbeich) |
sysutils/seatd: alphabetically order SUID definition |
0.5.0 07 Apr 2021 08:09:01 |
Mathieu Arnold (mat) |
One more small cleanup, forgotten yesterday.
Reported by: lwhsu |
0.5.0 06 Apr 2021 14:31:13 |
Mathieu Arnold (mat) |
all: Remove all other $FreeBSD keywords. |
0.5.0 06 Apr 2021 14:31:07 |
Mathieu Arnold (mat) |
Remove # $FreeBSD$ from Makefiles. |
0.5.0 25 Mar 2021 16:59:17 |
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 |
0.5.0 18 Mar 2021 10:00:20 |
jbeich |
sysutils/seatd: update description
https://git.sr.ht/~kennylevinsen/seatd/commit/4e65e1bf4714 |
0.5.0 15 Mar 2021 20:26:07 |
jbeich |
sysutils/seatd: update to 0.5.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/log/0.5.0
Reported by: upstream (seatd-announce) |
0.4.0_1 17 Feb 2021 23:39:05 |
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 |
0.4.0_1 28 Oct 2020 14:41:59 |
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 |
0.4.0 19 Oct 2020 22:20:33 |
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) |
0.3.0 09 Sep 2020 18:56:30 |
jbeich |
sysutils/seatd: update to 0.3.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/log/0.3.0
Reported by: upstream |
0.2.0 30 Aug 2020 23:13:49 |
jbeich |
sysutils/seatd: replace r547059 with upstream fix
Let's keep -Werror for now as upstream is cooperative. |
0.2.0 30 Aug 2020 15:12:26 |
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 |
0.2.0 29 Aug 2020 00:37:54 |
jbeich |
sysutils/seatd: update to 0.2.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/log/0.2.0
Reported by: upstream, Repology |
0.1.0 24 Aug 2020 02:57:38 |
jbeich |
sysutils/seatd: update to 0.1.0
Changes: https://git.sr.ht/~kennylevinsen/seatd/log/0.1.0 |
s20200808 09 Aug 2020 09:39:42 |
jbeich |
sysutils/seatd: move MESON_ARGS before PLIST_FILES
MESON_ARGS is part of configure while PLIST_FILES is part of install phase. |
s20200808 09 Aug 2020 09:35:20 |
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 |