raven/base/seatd/seatd.spec
2024-04-25 17:27:37 +06:00

162 lines
3.9 KiB
RPMSpec

%global libseat_sover 1
%global _hardened_build 1
%bcond_without server
Name: seatd
Version: 0.7.0
Release: 4%{?dist}
Summary: Minimal seat management daemon
License: MIT
URL: https://sr.ht/~kennylevinsen/seatd/
Source0: https://git.sr.ht/~kennylevinsen/seatd/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: seatd.sysusers
BuildRequires: gcc
BuildRequires: meson >= 0.60.0
BuildRequires: pkgconfig(libsystemd)
%if %{with server}
BuildRequires: pkgconfig(scdoc) >= 1.9.7
BuildRequires: systemd-rpm-macros
%endif
%description
A seat management daemon, that does everything it needs to do.
Nothing more, nothing less. Depends only on libc.
%package -n libseat
Summary: Universal seat management library
%description -n libseat
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.
%package -n libseat-devel
Summary: Development files for libseat
Requires: libseat%{?_isa} = %{version}-%{release}
%description -n libseat-devel
The libseat-devel package contains libraries and header files for
developing applications that use libseat.
%prep
%autosetup
%build
%meson \
-Dlibseat-logind=systemd \
%if %{with server}
-Dserver="enabled" \
%else
-Dserver="disabled" \
%endif
%meson_build
%install
%meson_install
%if %{with server}
install -D -m 0644 -pv contrib/systemd/%{name}.service \
%{buildroot}%{_unitdir}/%{name}.service
install -D -m 0644 -pv %{SOURCE1} \
%{buildroot}%{_sysusersdir}/%{name}.conf
%endif
%check
%meson_test
%if %{with server}
%pre
%sysusers_create_compat %{SOURCE1}
%post
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun %{name}.service
%files
%license LICENSE
%doc README.md
%{_bindir}/%{name}
# TODO: seatd-launch should run with elevated privileges, i.e. SUID or CAP_SETUID
%{_bindir}/%{name}-launch
%{_mandir}/man1/%{name}.1*
%{_mandir}/man1/%{name}-launch.1*
%{_sysusersdir}/%{name}.conf
%{_unitdir}/%{name}.service
%endif
%files -n libseat
%license LICENSE
%doc README.md
%{_libdir}/libseat.so.%{libseat_sover}
%files -n libseat-devel
%{_includedir}/libseat.h
%{_libdir}/libseat.so
%{_libdir}/pkgconfig/libseat.pc
%changelog
* Tue May 30 2023 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.7.0-4
- Build seatd server
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon May 23 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.7.0-1
- Update to 0.7.0 (#2089517)
* Mon Feb 21 2022 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.6.4-1
- Update to 0.6.4 (#2056723)
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Oct 19 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.6.3-1
- Update to 0.6.3 (#2015692)
* Fri Sep 17 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.6.2-1
- Update to 0.6.2
- Server: create `seat` group for controlling seatd access
* Sat Sep 11 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.6.0-1
- Update to 0.6.0
- Enable libseat-seatd backend in the default build
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Apr 14 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.5.0-1
- Initial import (#1949358)