Add systemd service for quasselcore (#602539).
Merge John Villalovos's patch to add a quasselcore.service file.
This commit is contained in:
parent
c9f2a036e6
commit
87d75cd694
|
@ -0,0 +1,2 @@
|
|||
LISTEN=127.0.0.1
|
||||
PORT=4242
|
52
quassel.spec
52
quassel.spec
|
@ -1,7 +1,10 @@
|
|||
%global quassel_user quassel
|
||||
%global quassel_data_dir %{_var}/lib/quassel
|
||||
|
||||
Name: quassel
|
||||
Summary: A modern distributed IRC system
|
||||
Version: 0.12.3
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
|
||||
License: GPLv2 or GPLv3
|
||||
Group: Applications/Internet
|
||||
|
@ -17,12 +20,20 @@ BuildRequires: openssl-devel
|
|||
BuildRequires: qt4-devel
|
||||
BuildRequires: qt4-webkit-devel
|
||||
|
||||
BuildRequires: systemd
|
||||
|
||||
Requires: oxygen-icon-theme
|
||||
|
||||
Requires(pre): shadow-utils
|
||||
|
||||
Provides: %{name}-gui = %{version}-%{release}
|
||||
|
||||
Requires: %{name}-common = %{version}-%{release}
|
||||
|
||||
# Systemd service file and configuration script.
|
||||
Source1: quasselcore.service
|
||||
Source2: quassel.conf
|
||||
|
||||
%description
|
||||
Quassel IRC is a modern, distributed IRC client,
|
||||
meaning that one (or multiple) client(s) can attach
|
||||
|
@ -79,6 +90,17 @@ make install/fast DESTDIR=${RPM_BUILD_ROOT} -C build
|
|||
# unpackaged files
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/pixmaps/quassel.png
|
||||
|
||||
# Install quassel.conf for systemd file
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
|
||||
install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/
|
||||
|
||||
# Install systemd service file
|
||||
install -d -m 0755 $RPM_BUILD_ROOT%{_unitdir}
|
||||
install -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/
|
||||
|
||||
# Home directory for quassel user
|
||||
install -d -m 0750 $RPM_BUILD_ROOT%{quassel_data_dir}
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
@ -94,6 +116,26 @@ fi
|
|||
%posttrans common
|
||||
gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
|
||||
|
||||
# Core pre/post macros.
|
||||
|
||||
%pre core
|
||||
getent group %{quassel_user} >/dev/null || groupadd -r %{quassel_user}
|
||||
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
|
||||
# Install quassel service; also give quassel user ACLs on /var/lib/quassel.
|
||||
chown %{quassel_user}:%{quassel_user} %{quassel_data_dir}
|
||||
%systemd_post quasselcore.service
|
||||
|
||||
%preun core
|
||||
%systemd_preun quasselcore.service
|
||||
|
||||
%postun core
|
||||
%systemd_postun_with_restart quasselcore.service
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{_kde4_bindir}/quassel
|
||||
|
@ -111,6 +153,9 @@ gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
|
|||
%doc COPYING README
|
||||
%doc gpl-2.0.txt gpl-3.0.txt
|
||||
%{_kde4_bindir}/quasselcore
|
||||
%{quassel_data_dir}
|
||||
%{_unitdir}/quasselcore.service
|
||||
%config(noreplace) %{_sysconfdir}/quassel.conf
|
||||
|
||||
%files client
|
||||
%defattr(-,root,root,-)
|
||||
|
@ -119,6 +164,11 @@ gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
|
|||
|
||||
|
||||
%changelog
|
||||
* Wed Feb 24 2016 Ben Rosser <rosser.bjr@gmail.com> 0.12.3-1
|
||||
- Merged patch from John Villalovos to add a service file
|
||||
- Added quassel user/group to -core subpackage
|
||||
- Added configuration file and startup script to -core subpackage
|
||||
|
||||
* Tue Feb 09 2016 Ben Rosser <rosser.bjr@gmail.com> 0.12.3-1
|
||||
- Update to latest upstream quassel release
|
||||
- The CVE patch is not necessary for 0.12.3 or greater
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Quassel core service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=-/etc/quassel.conf
|
||||
User=quassel
|
||||
ExecStart=/usr/bin/quasselcore --configdir=/var/lib/quassel --listen=${LISTEN} --port=${PORT}
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in New Issue