Use systemd sysusers config to create user and group
See https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/#_dynamic_allocation
This commit is contained in:
parent
e0e5ccde41
commit
a4a01db5bf
24
quassel.spec
24
quassel.spec
|
@ -1,10 +1,9 @@
|
||||||
%global quassel_user quassel
|
|
||||||
%global quassel_data_dir %{_var}/lib/quassel
|
%global quassel_data_dir %{_var}/lib/quassel
|
||||||
|
|
||||||
Name: quassel
|
Name: quassel
|
||||||
Summary: A modern distributed IRC system
|
Summary: A modern distributed IRC system
|
||||||
Version: 0.13.1
|
Version: 0.13.1
|
||||||
Release: 10%{?dist}
|
Release: 11%{?dist}
|
||||||
|
|
||||||
License: GPLv2 or GPLv3
|
License: GPLv2 or GPLv3
|
||||||
URL: http://quassel-irc.org/
|
URL: http://quassel-irc.org/
|
||||||
|
@ -41,6 +40,7 @@ BuildRequires: qt5-qtmultimedia-devel
|
||||||
BuildRequires: openldap-devel
|
BuildRequires: openldap-devel
|
||||||
|
|
||||||
BuildRequires: systemd
|
BuildRequires: systemd
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
|
|
||||||
BuildRequires: libappstream-glib
|
BuildRequires: libappstream-glib
|
||||||
|
|
||||||
|
@ -53,6 +53,7 @@ Requires: %{name}-common = %{version}-%{release}
|
||||||
# Systemd service file and configuration script.
|
# Systemd service file and configuration script.
|
||||||
Source1: quasselcore.service
|
Source1: quasselcore.service
|
||||||
Source2: quassel.conf
|
Source2: quassel.conf
|
||||||
|
Source3: quassel.sysusers
|
||||||
|
|
||||||
# Appstream metadata, for GNOME Software.
|
# Appstream metadata, for GNOME Software.
|
||||||
Source4: quassel.appdata.xml
|
Source4: quassel.appdata.xml
|
||||||
|
@ -79,9 +80,6 @@ BuildArch: noarch
|
||||||
%package core
|
%package core
|
||||||
Summary: Quassel core component
|
Summary: Quassel core component
|
||||||
|
|
||||||
# Required for the quassel user.
|
|
||||||
Requires(pre): shadow-utils
|
|
||||||
|
|
||||||
# Weak dependency on qt5 postgresql bindings.
|
# Weak dependency on qt5 postgresql bindings.
|
||||||
# We use a weak dependency here so they can be uninstalled if necessary.
|
# We use a weak dependency here so they can be uninstalled if necessary.
|
||||||
Recommends: qt5-qtbase-postgresql
|
Recommends: qt5-qtbase-postgresql
|
||||||
|
@ -119,6 +117,9 @@ install -Dp -m 0644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/%{name}.conf
|
||||||
# Install systemd service file
|
# Install systemd service file
|
||||||
install -Dp -m 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/quasselcore.service
|
install -Dp -m 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/quasselcore.service
|
||||||
|
|
||||||
|
# Install the systemd-sysusers config
|
||||||
|
install -Dp -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/%{name}.conf
|
||||||
|
|
||||||
# Home directory for quassel user
|
# Home directory for quassel user
|
||||||
install -d -m 0750 %{buildroot}/%{quassel_data_dir}
|
install -d -m 0750 %{buildroot}/%{quassel_data_dir}
|
||||||
|
|
||||||
|
@ -128,13 +129,8 @@ cp -a %{SOURCE4} %{SOURCE5} %{buildroot}%{_datadir}/appdata/
|
||||||
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/*.appdata.xml
|
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/*.appdata.xml
|
||||||
|
|
||||||
# Core pre/post macros.
|
# Core pre/post macros.
|
||||||
|
|
||||||
%pre core
|
%pre core
|
||||||
getent group %{quassel_user} >/dev/null || groupadd -r %{quassel_user}
|
%sysusers_create_compat %{SOURCE3}
|
||||||
getent passwd %{quassel_user} >/dev/null || \
|
|
||||||
useradd -r -g %{quassel_user} -d %{quassel_data_dir} -s /sbin/nologin \
|
|
||||||
-c "Account to own and run the quasselcore daemon from." %{quassel_user}
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
%post core
|
%post core
|
||||||
# Install quassel service.
|
# Install quassel service.
|
||||||
|
@ -165,14 +161,18 @@ exit 0
|
||||||
%dir %attr(-,quassel,quassel) %{quassel_data_dir}
|
%dir %attr(-,quassel,quassel) %{quassel_data_dir}
|
||||||
%{_unitdir}/quasselcore.service
|
%{_unitdir}/quasselcore.service
|
||||||
%config(noreplace) %{_sysconfdir}/quassel.conf
|
%config(noreplace) %{_sysconfdir}/quassel.conf
|
||||||
|
%{_sysusersdir}/%{name}.conf
|
||||||
|
|
||||||
%files client
|
%files client
|
||||||
%{_kf5_bindir}/quasselclient
|
%{_kf5_bindir}/quasselclient
|
||||||
%{_kf5_datadir}/applications/quasselclient.desktop
|
%{_kf5_datadir}/applications/quasselclient.desktop
|
||||||
%{_datadir}/appdata/quasselclient.appdata.xml
|
%{_datadir}/metainfo/quasselclient.appdata.xml
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Feb 10 2022 Timothée Ravier <tim@siosm.fr> - 0.13.1-11
|
||||||
|
- Use systemd sysusers config to create user and group
|
||||||
|
|
||||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-10
|
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.1-10
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
u quassel - "quasselcore daemon" /var/lib/quassel
|
Loading…
Reference in New Issue