[Canna] Add native systemd service. (#754826)
Akira TAGOH
tagoh at fedoraproject.org
Mon Nov 21 03:20:05 UTC 2011
commit 708a09daeafaed8ad9b592270fb2f0d062aadd95
Author: Akira TAGOH <tagoh at redhat.com>
Date: Mon Nov 21 12:19:54 2011 +0900
Add native systemd service. (#754826)
Canna.spec | 37 ++++++++++++++--------
canna.init | 94 ---------------------------------------------------------
canna.service | 12 +++++++
3 files changed, 36 insertions(+), 107 deletions(-)
---
diff --git a/Canna.spec b/Canna.spec
index cda2111..57fb8d8 100644
--- a/Canna.spec
+++ b/Canna.spec
@@ -10,7 +10,7 @@
Summary: A Japanese character set input system.
Name: Canna
Version: 3.7p3
-Release: 32%{?dist}
+Release: 33%{?dist}
# lib/RKindep/cksum.c is licensed under 4-clause BSD, otherwise MIT.
License: MIT and BSD with advertising
Group: System Environment/Libraries
@@ -23,10 +23,10 @@ Source2: pubdic-bonobo-%{pubdicrhver}.tar.bz2
Source3: shion.tar.gz
# Source4: http://bonobo.gnome.gr.jp/~nakai/canna/zipcode-%{zipcodever}.tar.bz2
Source4: zipcode-%{zipcodever}.tar.bz2
-Source20: canna.init
Source21: dot-canna
Source22: cannaping.c
Source30: canna-tmpfiles.conf
+Source31: canna.service
Patch0: Canna-conf.patch
Patch2: Canna-3.6-sharedir.patch
@@ -51,11 +51,11 @@ Patch44: Canna-3.7p3-no-strip.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires(pre): shadow-utils
-Requires(post): /bin/grep /etc/services /sbin/chkconfig %{__chown}
-Requires(preun): /sbin/service /sbin/chkconfig
-Requires(postun): /sbin/service
+Requires(post): /bin/grep /etc/services /sbin/chkconfig %{__chown} systemd-units
+Requires(preun): /sbin/service systemd-units
+Requires(postun): /sbin/service systemd-units
Requires: initscripts
-BuildRequires: cpp gawk
+BuildRequires: cpp gawk systemd-units
BuildRequires: imake >= 1.0.1-3
Obsoletes: tamago
@@ -236,11 +236,11 @@ install -p -m 644 basho.cld basho.cbd kaom.ctd keisan.cld keisan.cbd \
$RPM_BUILD_ROOT%{_localstatedir}/lib/canna/dic/canna
cd ..
-mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
mkdir -p $RPM_BUILD_ROOT/etc/skel
-install -p -m 755 %SOURCE20 $RPM_BUILD_ROOT/etc/rc.d/init.d/canna
+mkdir -p $RPM_BUILD_ROOT%{_unitdir}
install -p -m 0644 %SOURCE21 $RPM_BUILD_ROOT/etc/skel/.canna
install -p -m 0644 %SOURCE21 $RPM_BUILD_ROOT/etc/canna/default.canna
+install -p -m 0644 %SOURCE31 $RPM_BUILD_ROOT%{_unitdir}/canna.service
## chmod 755 $RPM_BUILD_ROOT/etc/rc.d/init.d/canna
cat > $RPM_BUILD_ROOT%{_sysconfdir}/hosts.canna << EOF
@@ -266,6 +266,11 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.a
rm -fr $RPM_BUILD_ROOT
+%triggerun -- Canna < 3.7p3-33
+/usr/bin/systemd-sysv-convert --save canna >/dev/null 2>&1 || :
+/sbin/chkconfig --del canna >/dev/null 2>&1 || :
+/bin/systemctl try-restart canna.service >/dev/null 2>&1 || :
+
%pre
getent group %{username} >/dev/null || groupadd -r %{username}
getent passwd %{username} >/dev/null || useradd -r -g %{username} -d %{homedir} -s /sbin/nologin -c '%{gecos}' %{username}
@@ -276,18 +281,21 @@ if ! grep -q canna /etc/services
then
echo "canna 5680/tcp" >>/etc/services
fi
-/sbin/chkconfig --add canna
%{__chown} -R %{username}:%{username} %{_localstatedir}/lib/canna
+if [ $1 -eq 1 ]; then
+ /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+fi
%preun
if [ "$1" = "0" ]; then
- /sbin/service canna stop > /dev/null 2>&1 || :
- /sbin/chkconfig --del canna
+ /bin/systemctl --no-reload disable canna.service >/dev/null 2>&1 || :
+ /bin/systemctl stop canna.service >/dev/null 2>&1 || :
fi
%postun
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ "$1" -ge "1" ]; then
- /sbin/service canna try-restart >/dev/null 2>&1 || :
+ /bin/systemctl try-restart canna.service >/dev/null 2>&1 || :
fi
%post libs -p /sbin/ldconfig
@@ -301,7 +309,6 @@ fi
%doc %{cannadir}/ChangeLog %{cannadir}/README %{cannadir}/WHATIS
%doc %{cannadir}/Canna.conf
%doc $RPM_BUILD_DIR/%{name}-%{version}/sample
-%config %{_sysconfdir}/rc.d/init.d/canna
%config %{_sysconfdir}/skel/.canna
%config(noreplace) %{_sysconfdir}/hosts.canna
%config(noreplace) %{_sysconfdir}/canna/cannahost
@@ -319,6 +326,7 @@ fi
%dir %{_localstatedir}/run/.iroha_unix
%{_localstatedir}/lib/canna
%{_localstatedir}/log/canna
+%{_unitdir}/canna.service
%files devel
%defattr (-,root,root,-)
@@ -339,6 +347,9 @@ fi
%{_libdir}/libcanna16.so.*
%changelog
+* Fri Nov 18 2011 Akira TAGOH <tagoh at redhat.com> - 3.7p3-33
+- Add native systemd service. (#754826)
+
* Fri Feb 24 2011 Akira TAGOH <tagoh at redhat.com> - 3.7p3-32
- Do not strip symbols from binaries.
diff --git a/canna.service b/canna.service
new file mode 100644
index 0000000..1bd0498
--- /dev/null
+++ b/canna.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Canna Japanese Conversion Engine
+After=syslog.target
+
+[Service]
+User=canna
+Type=forking
+ExecStart=/usr/sbin/cannaserver -syslog
+ExecStop=/usr/sbin/cannakill
+
+[Install]
+WantedBy=multi-user.target
More information about the scm-commits
mailing list