- Update to 0.9.1

* Fix libseat not servicing seat enable/disable events if they were
    received immediately after a response, leading to the session
    deadlocking in a deactivated state.
  * Fix some protocol strings lacking validation of the NULL
    termination requirement.
- Update to 0.9.0
  * Improve session state tracking in the libseat logind backend, which
    could previously fail to notify the libseat client that the session
    had been deactivated.
  * Do not trigger a VT switch when starting a logind session, allowing
    sessions to be started in the background.
  * Improve error handling in some edgecases in the libseat seatd backend.
  * Apply more aggressive security policies to the included systemd unit.

OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/seatd?expand=0&rev=24
This commit is contained in:
Ana Guerrero 2024-11-22 06:34:27 +00:00 committed by Git OBS Bridge
commit 2894b86b40
8 changed files with 308 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

18
_service Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<services>
<service name="obs_scm" mode="disabled">
<param name="url">https://git.sr.ht/~kennylevinsen/seatd</param>
<param name="scm">git</param>
<param name="revision">0.9.1</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
</service>
<service mode="disabled" name="set_version"/>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="compression">gz</param>
<param name="file">*.tar</param>
</service>
</services>

3
seatd-0.8.0.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e4d3ddf2d9898b8526778d733b14947e23fd5b33caad267aef404d2864168553
size 182795

3
seatd-0.9.1.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5847d4ec2d7c8300e21c24557e68f0c5d763db5293eea0dd43d5af32646bfaeb
size 190987

172
seatd.changes Normal file
View File

@ -0,0 +1,172 @@
-------------------------------------------------------------------
Thu Oct 31 17:06:26 UTC 2024 - llyyr <llyyr@yukari.in>
- Update to 0.9.1
* Fix libseat not servicing seat enable/disable events if they were
received immediately after a response, leading to the session
deadlocking in a deactivated state.
* Fix some protocol strings lacking validation of the NULL
termination requirement.
- Update to 0.9.0
* Improve session state tracking in the libseat logind backend, which
could previously fail to notify the libseat client that the session
had been deactivated.
* Do not trigger a VT switch when starting a logind session, allowing
sessions to be started in the background.
* Improve error handling in some edgecases in the libseat seatd backend.
* Apply more aggressive security policies to the included systemd unit.
-------------------------------------------------------------------
Wed Jul 19 09:37:07 UTC 2023 - llyyr <llyyr.public@gmail.com>
- Update to 0.8.0
* noop: Return seat0 as the seat name
* noop: Additional open flags for `open(2)`
* noop: initialize initial_setup
* drm: Support drm-subtree drivers on FreeBSD
* man: document SEATD_VTBOUND
* man: add missing arg in -n syntax
-------------------------------------------------------------------
Fri Jun 23 05:49:32 UTC 2023 - Michael Vetter <mvetter@suse.com>
- Update to 0.7.0:
* Support for NetBSD and wscons devices
* Fix for a polling bug in the logind libseat backend
* Removal of SEATD_SOCK and runtime socket path configuration
* Removal of SEATD_LOGLEVEL, replaced by a command-line argument
-------------------------------------------------------------------
Fri Feb 25 16:15:51 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 0.6.4
* seatd-launch: Use snprintf for socket path
* seatd-launch: Remove socket path command line arg
- This updates fixes bsc#1196493 (CVE-2022-25643)
-------------------------------------------------------------------
Sat Dec 4 08:41:18 UTC 2021 - Franck Bui <fbui@suse.com>
- Enable logind support for Leap too
Leap 15.3 ships systemd v246 which has the relevant API
(sd_bus_match_signal) needed for enabling logind support. Since
previous versions of Leap are not supported anymore, let's enable it
unconditionally.
-------------------------------------------------------------------
Wed Oct 20 08:28:19 UTC 2021 - Michael Vetter <mvetter@suse.com>
- Update to 0.6.3:
* logind: Set userdata for ping_handler
* logind: Improve error handling in open_seat
* examples/simpletest: check for libseat_dispatch failures
* logind: check if session is active on startup
* clang-format: Fix alignment
* logind: Send ping to wake us up later
* seatd: Implement ping request to wake up later
-------------------------------------------------------------------
Thu Sep 16 07:40:50 UTC 2021 - Michael Vetter <mvetter@suse.com>
- Update to 0.6.2:
* seatd-launch: Specify exact environment to seatd
* seatd-launch: Use absolute path for seatd
-------------------------------------------------------------------
Wed Sep 15 07:35:12 UTC 2021 - Michael Vetter <mvetter@suse.com>
- Update to 0.6.1:
* seatd-launch: print unlink/kill errors
* seatd-launch: exit with status >128 if child is signalled
* man/seatd-launch: Make mssage about root clearer
* seatd-launch: Use optind to find the command
* seatd-launch: respect PATH when looking for command
* man: Add seatd-launch(1) to SEE ALSO of seatd(1)
-------------------------------------------------------------------
Sat Sep 11 20:18:15 UTC 2021 - Michael Vetter <mvetter@suse.com>
- Update to 0.6.0:
* seatd-launch: Fix chmod error goto
* man: Add simple seatd-launch(1) page
* seatd-launch: Set socket permissions directly
* seat: Allow new clients when active is pending ack
* Add .editorconfig
* seat: Avoid holding a tty fd
* meson.build: fix build with gcc < 7
* libseat: Fix build of builtin backend
* libseat: Update builtin backend root requirement documentation
* Revert "libseat: Check euid before using builtin"
* logind: Remove redundant null check
* Make libseat_seat_listener const
* seatd: Use path in chmod/chown operations
* seatd: Improve socket permission error handling
* seatd-launch: Command line argument support
* seatd-launch: check for getpwuid errors
* seatd-launch: don't use gotos in child processes
* seatd-launch: propagate child exit status
* seatd-launch: Add seatd launch wrapper
* seatd: Only set UID/GID when specified
* seatd: s6-style readiness notification support
* seatd: We shouldn't poll if predispatch > 0
* libseat: Rename dispatch_background in backends
* libseat/seatd: Add dispatch_pending_and_execute
* libseat/seatd: Return executed events
* link with rt
* readme: Update discuss section
* meson: Support building builtin without seatd
* libseat/seatd: downgrade ENOENT log to info
* contrib/systemd: Use a different group
* meson: make 'logind' var always available
* Avoid a clang-format quirk
* meson: declare libseat dependency
* Add no-op session
* client: enable cr_pid on FreeBSD >= 12.3
* readme: Remove alpha label
* contrib: Add Documentation to systemd unit
* meson: Disable examples by default
* Correct minor misspellings
* meson: Minor cleanup
* meson: Fix logind backend auto mode
-------------------------------------------------------------------
Thu Mar 25 19:29:37 UTC 2021 - Denys Kondratenko <stdden@opensuse.org>
- enable logind for the libseat (disabled by default)
* fixes errors during login, see:
https://github.com/openSUSE/openSUSEway/issues/37
* this works with libsystemd >= 237 with new API:
sd_bus_match_signal
-------------------------------------------------------------------
Tue Mar 16 08:58:30 UTC 2021 - Michael Vetter <mvetter@suse.com>
- Update to 0.5.0:
* libseat: log error when failing to open socket
* poller: Retry poll immediately on EINTR
* client: More robust handling of client links
* logind: switch_session should return 0 on success
* libseat/backend/logind: stop waiting for CanGraphical
* client: Do not use SOL_SOCKET for LOCAL_PEERCRED
* client: Use cr_pid if available
* logind: Send ReleaseControl when closing seat
* seatd: Tear down VT when disabled client closes
* client: Remove link if seat_add_client succeeds
-------------------------------------------------------------------
Wed Nov 11 08:46:35 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Change _service file to use correct version number and not
git hash
-------------------------------------------------------------------
Mon Nov 9 09:41:22 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Fix doubleshipping of documentation. Better summaries.
-------------------------------------------------------------------
Mon Nov 9 09:07:00 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Initial package of seatsd/libseat 0.4.0 for openSUSE

4
seatd.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: seatd
version: 0.9.1
mtime: 1730317406
commit: 566ffeb032af42865dc1210e48cec08368059bb9

84
seatd.spec Normal file
View File

@ -0,0 +1,84 @@
#
# spec file for package seatd
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: seatd
Version: 0.9.1
Release: 0
Summary: Seat management daemon
License: MIT
Group: System/Base
URL: https://git.sr.ht/~kennylevinsen/seatd
Source0: %{name}-%{version}.tar.gz
BuildRequires: meson >= 0.56.0
BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: scdoc
BuildRequires: pkgconfig(systemd)
Requires: libseat1 = %{version}
BuildRequires: pkgconfig(libsystemd) >= 237
%description
Seat management takes care of mediating access to shared devices (graphics, input), without requiring the applications needing access to be root.
%package -n libseat1
Summary: Seat management library
Group: Development/Libraries/C and C++
%description -n libseat1
A seat management library allowing applications to use whatever seat management is available.
Supports: seatd, (e)logind, embedded seatd for standalone operation
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
Requires: libseat1 = %{version}
%description devel
Development files for %{name}.
%prep
%autosetup -p1
%build
%meson -Dlibseat-logind=systemd
%meson_build
%install
%meson_install
%post -n libseat1 -p /sbin/ldconfig
%postun -n libseat1 -p /sbin/ldconfig
%files
%doc README*
%{_bindir}/%{name}
%{_bindir}/seatd-launch
%{_mandir}/man1/%{name}.1%{?ext_man}
%{_mandir}/man1/seatd-launch.1%{?ext_man}
%files -n libseat1
%license LICENSE
%{_libdir}/libseat.so.*
%files devel
%{_includedir}/libseat.h
%{_libdir}/pkgconfig/libseat.pc
%{_libdir}/libseat.so
%changelog