0746edbe — Adrien Demarez a month ago master
seatd: fix small bug in assert
Bump version to 0.8.0
drm: Support drm-subtree drivers on FreeBSD

The drm-kmod drivers use linuxkpi and end up with /dev/drm being the
canonical path for the devices, but the drm-subtree drivers use drmkpi
which has them appear under /dev/dri like Linux. Thus, adapt path_is_drm
to recognise both on FreeBSD.
56720a62 — Anna (navi) Figueiredo Gomes 8 months ago
noop: Additional open flags for `open(2)`

Matching the functionallity by the seatd open call. O_NONBLOCK is
specially important for libseat, otherwise it hangs while trying to
drain all events from an input device fd.

Signed-off-by: Anna (navi) Figueiredo Gomes <navi@vlhl.dev>
e5b018de — Anna (navi) Figueiredo Gomes 8 months ago
noop: Return seat0 as the seat name

wlroots' libinput backend expects the name of the seat to either match
ID_SEAT from udev, or in case ID_SEAT returns nothing, match seat0. As
noop has no seat switching, always returning seat0 as the session name
fixes that.

Signed-off-by: Anna (navi) Figueiredo Gomes <navi@vlhl.dev>
meson: fix seatdpath with absolute bindir

Quoting the Meson documentation:

> Note that the value returned for built-in options that end in `dir`
> such as `bindir` and `libdir` is usually a path relative to (and
> inside) the `prefix` but you should not rely on that, as it can also
> be an absolute path [in some cases](Builtin-options.md#universal-options).
> [`install_dir` arguments](Installing.md) handle that as expected
> but if you need an absolute path, e.g. to use in a define etc.,
> you should use the path concatenation operator like this:
> `get_option('prefix') / get_option('localstatedir')`.
> Never manually join paths as if they were strings.

The concatenation of two absolute paths caused seatd-launch in Nixpkgs
to try to launch e.g.
man: add missing arg in -n syntax
9b8b6e0b — Chia-I Wu 10 months ago
noop: initialize initial_setup

Otherwise the enable_seat callback is never called.
man: document SEATD_VTBOUND
seatd-launch: Avoid argv[0] in help text
seatd: refuse to compile with missing get_peer impl

Instead of using a stub, error out when get_peer isn't implemented
for the target platform. client_create relies on it.
seatd: handle client_create failure

Failure to create the client causes a null pointer dereference.
drm: Make dev_is_drm local to logind backend

This function is only used for logind, which is Linux-specific, but the
presence in common/drm.c suggested that it had to be portable.

Move it to the logind backend for now.
wscons: Move to its own device type

This reduces ifdefs and avoids overloading evdev as something it is not.
terminal: Revert FreeBSD behavior in set_keyboard

4ad48cb305b3f847ab7d3c2d3f59c27007519c77 introduced support for NetBSD,
which modified a number of our ifdefs. In that process, FreeBSD was
accidentally excluded from an important code path that controls keyboard
usage on the kernel console.

Revert part of that change to restore FreeBSD behavior.
meson: library soversion arg should be string

muon, a meson implementation in C, is more strict with its types and
revealed this discrepancy between meson behavior and documentation.
readme: Mention NetBSD
ci: Add NetBSD
Initial netbsd support