diff --git a/sigul.spec b/sigul.spec index 56f4ade..b490995 100644 --- a/sigul.spec +++ b/sigul.spec @@ -1,14 +1,13 @@ -# FIXME: eventually migrate from sysv to systemd service configuration Summary: A signing server and related software client Name: sigul Version: 0.102 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 Group: Applications/Internet URL: https://fedorahosted.org/sigul/ Source0: https://fedorahosted.org/releases/s/i/sigul/sigul-%{version}.tar.bz2 -Source1: sigul_bridge.init -Source2: sigul_server.init +Source1: sigul_bridge.service +Source2: sigul_server.service Source3: sigul.logrotate Requires: gnupg, koji, logrotate, pexpect, pygpgme, python, python-fedora, Requires: python-nss >= 0.11 @@ -21,13 +20,15 @@ Requires: python-sqlite2 # For sigul_setup_client Requires: coreutils nss-tools Requires(pre): shadow-utils -Requires(post): chkconfig -Requires(preun): chkconfig, initscripts -Requires(postun): initscripts BuildRequires: python # To detect the path correctly in configure BuildRequires: gnupg BuildArch: noarch +# For systemd unit macros +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +BuildRequires: systemd %description A signing server, which lets authorized users sign data without having any @@ -43,9 +44,9 @@ make %{?_smp_mflags} %install make DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' install -mkdir -p $RPM_BUILD_ROOT%{_initrddir} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d -install -p %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/sigul_bridge -install -p %{SOURCE2} $RPM_BUILD_ROOT%{_initrddir}/sigul_server +mkdir -p $RPM_BUILD_ROOT%{_unitdir} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d +install -m 0644 -p %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/sigul_bridge.service +install -m 0644 -p %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}/sigul_server.service install -m 0644 -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/sigul %clean @@ -59,22 +60,16 @@ useradd -r -g sigul -d %{_localstatedir}/lib/sigul -s /sbin/nologin \ exit 0 %post -/sbin/chkconfig --add sigul_bridge -/sbin/chkconfig --add sigul_server +%systemd_post sigul_bridge.service +%systemd_post sigul_server.service %preun -if [ "$1" = 0 ]; then - /sbin/service sigul_bridge stop >/dev/null 2>&1 - /sbin/service sigul_server stop >/dev/null 2>&1 - /sbin/chkconfig --del sigul_bridge - /sbin/chkconfig --del sigul_server -fi +%systemd_preun sigul_bridge.service +%systemd_preun sigul_server.service %postun -if [ "$1" -ge 1 ]; then - /sbin/service sigul_bridge condrestart >/dev/null 2>&1 || : - /sbin/service sigul_server condrestart >/dev/null 2>&1 || : -fi +%systemd_postun_with_restart sigul_bridge.service +%systemd_postun_with_restart sigul_server.service %files %defattr(-,root,root,-) @@ -83,7 +78,7 @@ fi %config(noreplace) %{_sysconfdir}/sigul/client.conf %config(noreplace) %attr(640,root,sigul) %{_sysconfdir}/sigul/bridge.conf %config(noreplace) %attr(640,root,sigul) %{_sysconfdir}/sigul/server.conf -%{_initrddir}/sigul* +%{_unitdir}/sigul* %config(noreplace) %{_sysconfdir}/logrotate.d/sigul %{_bindir}/sigul* %{_sbindir}/sigul* @@ -94,6 +89,11 @@ fi %dir %attr(700,sigul,sigul) %{_localstatedir}/lib/sigul/gnupg %changelog +* Mon Jan 25 2016 Miloslav Trmač - 0.102-2 +- Migrate to systemd unit files, based on a patch by Kevin Fenzi + . + Resolves: #1301297 + * Thu Nov 26 2015 Miloslav Trmač - 0.102-1 - Update to sigul-0.102. Resolves: #1283364 diff --git a/sigul_bridge.init b/sigul_bridge.init deleted file mode 100644 index 5017f58..0000000 --- a/sigul_bridge.init +++ /dev/null @@ -1,71 +0,0 @@ -#! /bin/sh - -# chkconfig: - 99 01 -# description: A network server that connects a signing server and its clients - -. /etc/rc.d/init.d/functions - -prog=sigul_bridge -lockfile=/var/lock/subsys/sigul_bridge - -start() -{ - echo -n $"Starting $prog: " - daemon "$prog" -d -v - RETVAL=$? - echo - [ "$RETVAL" -eq 0 ] && touch "$lockfile" - return "$RETVAL" -} - -stop() -{ - echo -n $"Shutting down $prog: " - killproc "$prog" - RETVAL=$? - echo - rm -f "$lockfile" - return "$RETVAL" -} - -restart() -{ - stop - start -} - -rh_status_q() -{ - status "$prog" >/dev/null 2>&1 -} - -case "$1" in - start) - rh_status_q && exit 0 - start - ;; - stop) - rh_status_q || exit 0 - stop - ;; - reload) - rh_status_q || exit 7 - restart - ;; - restart|force-reload) - restart - ;; - condrestart|try-restart) - rh_status_q || exit 0 - restart - ;; - status) - status "$prog" - RETVAL=$? - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" - RETVAL=2 -esac - -exit "$RETVAL" diff --git a/sigul_bridge.service b/sigul_bridge.service new file mode 100644 index 0000000..b2cc43c --- /dev/null +++ b/sigul_bridge.service @@ -0,0 +1,11 @@ +[Unit] +Description=Sigul bridge server +After=network.target +Documentation=https://fedorahosted.org/sigul/ + +[Service] +ExecStart=/usr/sbin/sigul_bridge -v +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/sigul_server.init b/sigul_server.init deleted file mode 100644 index da4f768..0000000 --- a/sigul_server.init +++ /dev/null @@ -1,72 +0,0 @@ -#! /bin/sh - -# chkconfig: - 99 01 -# description: A server that allows users to sign data without access to the \ -# necessary key - -. /etc/rc.d/init.d/functions - -prog=sigul_server -lockfile=/var/lock/subsys/sigul_server - -start() -{ - echo -n $"Starting $prog: " - daemon "$prog" -d -v - RETVAL=$? - echo - [ "$RETVAL" -eq 0 ] && touch "$lockfile" - return "$RETVAL" -} - -stop() -{ - echo -n $"Shutting down $prog: " - killproc "$prog" - RETVAL=$? - echo - rm -f "$lockfile" - return "$RETVAL" -} - -restart() -{ - stop - start -} - -rh_status_q() -{ - status "$prog" >/dev/null 2>&1 -} - -case "$1" in - start) - rh_status_q && exit 0 - start - ;; - stop) - rh_status_q || exit 0 - stop - ;; - reload) - rh_status_q || exit 7 - restart - ;; - restart|force-reload) - restart - ;; - condrestart|try-restart) - rh_status_q || exit 0 - restart - ;; - status) - status "$prog" - RETVAL=$? - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" - RETVAL=2 -esac - -exit "$RETVAL" diff --git a/sigul_server.service b/sigul_server.service new file mode 100644 index 0000000..f65f0c7 --- /dev/null +++ b/sigul_server.service @@ -0,0 +1,11 @@ +[Unit] +Description=Sigul vault server +After=network.target +Documentation=https://fedorahosted.org/sigul/ + +[Service] +ExecStart=/usr/sbin/sigul_server -v +Type=simple + +[Install] +WantedBy=multi-user.target