diff options
Diffstat (limited to 'sddm.spec')
-rw-r--r-- | sddm.spec | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/sddm.spec b/sddm.spec new file mode 100644 index 0000000..9f930ed --- /dev/null +++ b/sddm.spec @@ -0,0 +1,184 @@ +%undefine __cmake_in_source_build + +# Control wayland by default +#bcond_with wayland_default + +Name: sddm +Version: 0.19.0 +Release: 1 +License: GPLv2+ +Summary: QML based X11 desktop manager + +Url: https://github.com/sddm/sddm +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz + +Patch16: 0016-Fix-sessions-being-started-as-the-wrong-type-on-auto.patch +Patch18: 0018-wayland-session-Ensure-SHELL-remains-correctly-set.patch +Patch051: 0001-Remove-suffix-for-Wayland-session.patch +Patch052: 0001-Redesign-Xauth-handling.patch +Patch053: 0001-Retry-starting-the-display-server.patch +Patch054: 3c92e9206dc2e17fa5dc13f37be2926e9131ce94.patch +Patch055: 308fd0df2583b02251f0d80c397ccbf9fa7a9e04.patch + +# sddm.service: +EnvironmentFile=-/etc/sysconfig/sddm +Patch103: sddm-0.18.0-environment_file.patch + +# Disable wayland sessions when /dev/dri doesn't exist +Patch104: sddm-0.19.0-allow-hiding-wayland-sessions.patch + +# Fix race with logind restart, and start seat0 if !CanGraphical on timer +Patch105: 0001-Delay-for-logind-and-fallback-to-seat0.patch + +# Shamelessly stolen from fedora +Source11: sddm.pam +Source12: sddm-autologin.pam +Source13: tmpfiles-sddm.conf +# sample sddm.conf generated with sddm --example-config +Source14: sddm.conf +# README.scripts +Source15: README.scripts +# sysconfig snippet +Source16: sddm.sysconfig +# systemd sysusers config +Source18: sddm-systemd-sysusers.conf + +Provides: service(graphical-login) = sddm + +BuildRequires: cmake >= 2.8.8 +BuildRequires: extra-cmake-modules +BuildRequires: libxcb-devel +BuildRequires: pam-devel +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(systemd) +# Check which package contains /usr/bin/rst2man +BuildRequires: python3-docutils +BuildRequires: qt5-qtbase-devel >= 5.6 +BuildRequires: qt5-qtdeclarative-devel >= 5.6 +BuildRequires: qt5-qttools-devel >= 5.6 +BuildRequires: shadow-utils +BuildRequires: systemd + +Obsoletes: kde-settings-sddm < 20-5 + +Requires: systemd +Requires: xorg-x11-xinit +Requires: xorg-x11-server-Xorg + +Suggests: qt5-qtvirtualkeyboard%{?_isa} + +%{?systemd_requires} + +Requires(pre): shadow-utils + +%description +SDDM is a modern display manager for X11 aiming to be fast, simple and +beautiful. It uses modern technologies like QtQuick, which in turn gives the +designer the ability to create smooth, animated user interfaces. + +%package themes +Summary: SDDM Themes +Obsoletes: sddm < 0.2.0-0.12 +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description themes +A collection of sddm themes, including: elarun, maldives, maya + + +%prep +%autosetup -p1 + +%build +%cmake \ + -DBUILD_MAN_PAGES:BOOL=ON \ + -DCMAKE_BUILD_TYPE:STRING="Release" \ + -DENABLE_JOURNALD:BOOL=ON \ + -DSESSION_COMMAND:PATH=/etc/X11/xinit/Xsession \ + -DWAYLAND_SESSION_COMMAND:PATH=/etc/sddm/wayland-session + +%make_build + + +%install +make install/fast DESTDIR=%{buildroot} + +mkdir -p %{buildroot}%{_sysconfdir}/sddm.conf.d +install -Dpm 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/pam.d/sddm +install -Dpm 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/sddm-autologin +install -Dpm 644 %{SOURCE13} %{buildroot}%{_tmpfilesdir}/sddm.conf +install -Dpm 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/sddm.conf +install -Dpm 644 %{SOURCE15} %{buildroot}%{_datadir}/sddm/scripts/README.scripts +install -Dpm 644 %{SOURCE16} %{buildroot}%{_sysconfdir}/sysconfig/sddm +install -Dpm 644 %{SOURCE18} %{buildroot}%{_sysusersdir}/sddm.conf +mkdir -p %{buildroot}/run/sddm +mkdir -p %{buildroot}%{_localstatedir}/lib/sddm +mkdir -p %{buildroot}%{_sysconfdir}/sddm/ +cp -a %{buildroot}%{_datadir}/sddm/scripts/* \ + %{buildroot}%{_sysconfdir}/sddm/ +rm -fv %{buildroot}%{_sysconfdir}/sddm/Xsession + +%pre +mkdir %{_sysusersdir}/sddm.conf.d +echo 'u sddm - "Simple Desktop Display Manager" /var/lib/sddm' > %{_sysusersdir}/sddm.conf.d/sddm-systemd-sysusers.conf + +%post +%systemd_post sddm.service +# handle incompatible configuration changes +(grep \ + -e '^\[XDisplay\]$' \ + -e '^\[WaylandDisplay\]$' \ + %{_sysconfdir}/sddm.conf > /dev/null && \ + sed -i.rpmsave \ + -e 's|^\[XDisplay\]$|\[X11\]|' \ + -e 's|^\[WaylandDisplay\]$|\[Wayland\]|' \ + %{_sysconfdir}/sddm.conf +) ||: + +%preun +%systemd_preun sddm.service + +%postun +%systemd_postun sddm.service + +%files +%license LICENSE +%doc README.md CONTRIBUTORS +%dir %{_sysconfdir}/sddm/ +%dir %{_sysconfdir}/sddm.conf.d +%config(noreplace) %{_sysconfdir}/sddm/* +%config(noreplace) %{_sysconfdir}/sddm.conf +%config(noreplace) %{_sysconfdir}/pam.d/sddm +%config(noreplace) %{_sysconfdir}/pam.d/sddm-autologin +%config(noreplace) %{_sysconfdir}/pam.d/sddm-greeter +%config(noreplace) %{_sysconfdir}/sysconfig/sddm +# THIS IS NOT A CONFIG FILE, but a script that is run by sddm.service +%{_sysconfdir}/dbus-1/system.d/org.freedesktop.DisplayManager.conf +%{_bindir}/sddm +%{_bindir}/sddm-greeter +%{_libexecdir}/sddm-helper +%{_tmpfilesdir}/sddm.conf +%{_sysusersdir}/sddm.conf +%attr(0711, root, sddm) %dir /run/sddm +%attr(1770, sddm, sddm) %dir %{_localstatedir}/lib/sddm +%{_unitdir}/sddm.service +%{_qt5_archdatadir}/qml/SddmComponents/ +%dir %{_datadir}/sddm +%{_datadir}/sddm/faces/ +%{_datadir}/sddm/flags/ +%{_datadir}/sddm/scripts/ +%dir %{_datadir}/sddm/themes/ +%{_datadir}/sddm/translations/ +%{_mandir}/man1/sddm.1* +%{_mandir}/man1/sddm-greeter.1* +%{_mandir}/man5/sddm.conf.5* +%{_mandir}/man5/sddm-state.conf.5* + +%files themes +%{_datadir}/sddm/themes/elarun/ +%{_datadir}/sddm/themes/maldives/ +%{_datadir}/sddm/themes/maya/ + + +%changelog +* Fri Jul 22 2022 misaka00251 <misaka00251@misakanet.cn> - 0.19.0-1 +- Init package |