commit 2894b86b401903eb53abbf813669308def200c6c5dc88c841cfef01ac78dc944 Author: Ana Guerrero Date: Fri Nov 22 06:34:27 2024 +0000 - 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 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_service b/_service new file mode 100644 index 0000000..ae0605e --- /dev/null +++ b/_service @@ -0,0 +1,18 @@ + + + + https://git.sr.ht/~kennylevinsen/seatd + git + 0.9.1 + @PARENT_TAG@+@TAG_OFFSET@ + (.*)\+0 + \1 + + + + + gz + *.tar + + + diff --git a/seatd-0.8.0.obscpio b/seatd-0.8.0.obscpio new file mode 100644 index 0000000..0295f90 --- /dev/null +++ b/seatd-0.8.0.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4d3ddf2d9898b8526778d733b14947e23fd5b33caad267aef404d2864168553 +size 182795 diff --git a/seatd-0.9.1.obscpio b/seatd-0.9.1.obscpio new file mode 100644 index 0000000..0f38d34 --- /dev/null +++ b/seatd-0.9.1.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5847d4ec2d7c8300e21c24557e68f0c5d763db5293eea0dd43d5af32646bfaeb +size 190987 diff --git a/seatd.changes b/seatd.changes new file mode 100644 index 0000000..8a2ac46 --- /dev/null +++ b/seatd.changes @@ -0,0 +1,172 @@ +------------------------------------------------------------------- +Thu Oct 31 17:06:26 UTC 2024 - llyyr + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- Change _service file to use correct version number and not + git hash + +------------------------------------------------------------------- +Mon Nov 9 09:41:22 UTC 2020 - Jan Engelhardt + +- Fix doubleshipping of documentation. Better summaries. + +------------------------------------------------------------------- +Mon Nov 9 09:07:00 UTC 2020 - Michael Vetter + +- Initial package of seatsd/libseat 0.4.0 for openSUSE diff --git a/seatd.obsinfo b/seatd.obsinfo new file mode 100644 index 0000000..8359020 --- /dev/null +++ b/seatd.obsinfo @@ -0,0 +1,4 @@ +name: seatd +version: 0.9.1 +mtime: 1730317406 +commit: 566ffeb032af42865dc1210e48cec08368059bb9 diff --git a/seatd.spec b/seatd.spec new file mode 100644 index 0000000..f3bea19 --- /dev/null +++ b/seatd.spec @@ -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