~kennylevinsen/seatd

log: Include debug logs in release builds
Normalize log texts a bit
log: Remove function name from log
seatd: Close cur_ttyfd in seat_destroy

This fd would only still be set after closing clients if no clients were
active on the current VT.
client: Remove link if seat_add_client succeeds

Removing the link before before means that we can return without a link,
resulting in a double-remove.
seatd: Clean up debug logs a bit
Convert a few debug logs to error logs
seatd: Set errno in seat_add_client
logind: Fix return values from close_device/get_fd
libseat: Fix typo in doc string
meson: ignore 'man-pages' if 'server' is disabled

`seatd.1` is the only man page, so it's not necessary to install it or
require scdoc when the server is not built.
seatd: Tear down VT when disabled client closes

If a client closed while it was disabled, the VT would not be torn down.
If the user navigated back to the VT it belonged to, they would be
stuck.

When a client is disabled, open the fd for the VT it belonged to and
perform regular teardown on it.
client: Replace pending_disable with state enum

This simplifies logic in seat handling.
seat: Remove unused arg from seat_deactive_device
logind: Send ReleaseControl when closing seat

This is not strictly speaking necessary as detaching from the bus should
trigger this automatically, but elogind apparently has issues with this.

Doing this explicitly does no harm, so let's just do that.
simpletest: Close fd after closing device
client: Fix typo in cr_pid usage
client: Use cr_pid if available

This is only available on FreeBSD 13, so test for that version.
client: Do not use SOL_SOCKET for LOCAL_PEERCRED

This is wrong, and leads to LOCAL_PEERCRED being interpreted as
SO_DEBUG. 0 should be used instead.

See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246189.
libseat/backend/logind: stop waiting for CanGraphical

Upstream says compositors should wait for DRM nodes using udev instead.
Next