From e9b3457c48724d0795f906432ab14cfee7a9f8ba Mon Sep 17 00:00:00 2001 From: Jon Ciesla Date: Mar 14 2012 17:09:30 +0000 Subject: Migrate to systemd. --- diff --git a/fb-server.service b/fb-server.service new file mode 100644 index 0000000..93ce1d4 --- /dev/null +++ b/fb-server.service @@ -0,0 +1,12 @@ +[Unit] +Description=Frozen-Bubble Server Daemon +After=network.target + +[Service] +User=fbubble +Group=fbubble +Type=forking +ExecStart=/usr/bin/fb-server -c /etc/fb-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/frozen-bubble.spec b/frozen-bubble.spec index dfe7aa1..4377440 100644 --- a/frozen-bubble.spec +++ b/frozen-bubble.spec @@ -1,13 +1,13 @@ Summary: Frozen Bubble arcade game Name: frozen-bubble Version: 2.2.0 -Release: 10%{?dist} +Release: 11%{?dist} License: GPLv2 Group: Amusements/Games URL: http://www.frozen-bubble.org/ Source0: http://www.frozen-bubble.org/data/frozen-bubble-%{version}.tar.bz2 Source1: frozen-bubble.desktop -Source2: fb-server.init +Source2: fb-server.service Patch0: frozen-bubble-2.1.0-bigendianaudio.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: perl(ExtUtils::MakeMaker) @@ -27,6 +27,9 @@ You need this game. %package server Summary: Frozen Bubble network game dedicated server Group: System Environment/Daemons +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units %description server Frozen Bubble network game dedicated server. The server is already included @@ -95,8 +98,8 @@ desktop-file-install \ %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png # Install server init script and default configuration -%{__install} -D -p -m 0755 %{SOURCE2} \ - %{buildroot}%{_sysconfdir}/rc.d/init.d/fb-server +%{__install} -D -p -m 0644 %{SOURCE2} \ + %{buildroot}%{_unitdir}/fb-server.service %{__install} -D -p -m 0644 server/init/fb-server.conf \ %{buildroot}%{_sysconfdir}/fb-server.conf @@ -126,19 +129,43 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %post server /usr/sbin/useradd -r -s /sbin/nologin -d %{_datadir}/%{name} fbubble \ &>/dev/null || : -/sbin/chkconfig --add fb-server +#/sbin/chkconfig --add fb-server +if [ $1 -eq 1 ] ; then + # Initial installation + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi %preun server -if [ $1 -eq 0 ]; then - /sbin/service fb-server stop &>/dev/null || : - /sbin/chkconfig --del fb-server +#if [ $1 -eq 0 ]; then +# /sbin/service fb-server stop &>/dev/null || : +# /sbin/chkconfig --del fb-server +#fi +if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable fb-server.service > /dev/null 2>&1 || : + /bin/systemctl stop fb-server.service > /dev/null 2>&1 || : fi %postun server -if [ $1 -ge 1 ]; then - /sbin/service fb-server condrestart &>/dev/null || : +#if [ $1 -ge 1 ]; then +# /sbin/service fb-server condrestart &>/dev/null || : +#fi +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ] ; then + # Package upgrade, not uninstall + /bin/systemctl try-restart fb-server.service >/dev/null 2>&1 || : fi +%triggerun -- frozen-bubble-server < 2.2.0-11 +# Save the current service runlevel info +# User must manually run systemd-sysv-convert --apply fb-server +# to migrate them to systemd targets +/usr/bin/systemd-sysv-convert --save fb-server >/dev/null 2>&1 ||: + +# Run these because the SysV package being removed won't do them +/sbin/chkconfig --del fb-server >/dev/null 2>&1 || : +/bin/systemctl try-restart fb-server.service >/dev/null 2>&1 || : + %files -f %{name}.lang %defattr(-,root,root,-) @@ -156,11 +183,14 @@ fi %defattr(-,root,root,-) %doc COPYING server/AUTHORS server/README* %config(noreplace) %{_sysconfdir}/fb-server.conf -%{_sysconfdir}/rc.d/init.d/fb-server +%{_unitdir}/fb-server.service %{_bindir}/fb-server %changelog +* Wed Mar 14 2012 Jon Ciesla - 2.2.0-11 +- Migrate to systemd, BZ 767621. + * Fri Jan 13 2012 Fedora Release Engineering - 2.2.0-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild