[trafficserver/f16: 4/4] Add systemd support.

Jan-Frode Myklebust janfrode at fedoraproject.org
Wed Mar 21 14:38:56 UTC 2012


commit aeebc6e8fb7ecbf0377487142a888ff3b623664f
Author: Jan-Frode Myklebust <janfrode at tanso.net>
Date:   Wed Mar 21 15:38:20 2012 +0100

    Add systemd support.

 trafficserver.spec |   44 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 42 insertions(+), 2 deletions(-)
---
diff --git a/trafficserver.spec b/trafficserver.spec
index 169bd7d..0a6a382 100644
--- a/trafficserver.spec
+++ b/trafficserver.spec
@@ -3,11 +3,12 @@
 Summary:	Fast, scalable and extensible HTTP/1.1 compliant caching proxy server
 Name:		trafficserver
 Version:	3.0.3
-Release:	3%{?dist}
+Release:	4%{?dist}
 License:	ASL 2.0
 Group:		System Environment/Daemons
 Source0:	http://www.apache.org/dist/%{name}/%{name}-%{version}.tar.bz2
 Source1:	trafficserver.sysconf
+Source2:	trafficserver.service
 URL:		http://trafficserver.apache.org/index.html
 # BuildRoot is only needed for EPEL5:
 BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
@@ -15,6 +16,15 @@ BuildRequires:	autoconf, automake, libtool, openssl-devel, tcl-devel, expat-deve
 BuildRequires:	pcre-devel, zlib-devel, xz-devel, gcc-c++
 # trafficserver fails to build on ppc, TS-1131
 ExcludeArch:	ppc ppc64
+%if %{?fedora}0 > 140 || %{?rhel}0 > 60
+Requires: systemd
+Requires(postun): systemd
+%else
+Requires: initscripts
+Requires(post): chkconfig
+Requires(preun): chkconfig initscripts
+Requires(postun): initscripts
+%endif
 
 Patch2:		trafficserver-init_scripts.patch
 Patch7:		trafficserver_make_install.patch
@@ -66,6 +76,11 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
 install -m 644 -p %{SOURCE1} \
    $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/trafficserver
 
+%if %{?fedora}0 > 140 || %{?rhel}0 > 60
+install -D -m 644 -p %{SOURCE2} \
+   $RPM_BUILD_ROOT/lib/systemd/system/trafficserver.service
+%endif
+
 # Remove static libs (needs to go to separate -static subpackage if we
 # want these:
 rm -f $RPM_BUILD_ROOT/%{_libdir}/trafficserver/libtsmgmt.a
@@ -99,7 +114,11 @@ rm -rf $RPM_BUILD_ROOT
 %attr(0755,root,root) %{_libdir}/trafficserver/*.so.*
 %attr(0755,root,root) %{_libdir}/trafficserver/plugins/*.so
 %config(noreplace) /etc/trafficserver/*
+%if %{?fedora}0 > 140 || %{?rhel}0 > 60
+%attr(0644, root, root) /lib/systemd/system/trafficserver.service
+%else
 %attr(0755, root, root) /etc/init.d/trafficserver
+%endif
 %attr(0755, ats, ats) %dir /etc/trafficserver
 %config(noreplace) %attr(0644, root, root) %{_sysconfdir}/sysconfig/trafficserver
 %dir /var/log/trafficserver
@@ -109,7 +128,11 @@ rm -rf $RPM_BUILD_ROOT
 %post
 /sbin/ldconfig
 if [ $1 -eq 1 ] ; then
+%if %{?fedora}0 > 140 || %{?rhel}0 > 60
+  /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+%else
   /sbin/chkconfig --add %{name}
+%endif
 fi
 
 %pre
@@ -120,14 +143,28 @@ useradd -r -u 176 -g ats -d / -s /sbin/nologin \
 
 %preun
 if [ $1 -eq 0 ] ; then
+%if %{?fedora}0 > 140 || %{?rhel}0 > 60
+  /bin/systemctl disable trafficserver.service >/dev/null 2>&1 || :
+  /bin/systemctl stop trafficserver.service >/dev/null 2>&1 || :
+%else
   /sbin/service %{name} stop > /dev/null 2>&1
   /sbin/chkconfig --del %{name}
+%endif
 fi
 
 %postun
 /sbin/ldconfig
+
+%if %{?fedora}0 > 140 || %{?rhel}0 > 60
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+%endif
+
 if [ $1 -eq 1 ] ; then
-   /sbin/service trafficserver condrestart &>/dev/null || :
+%if %{?fedora}0 > 140 || %{?rhel}0 > 60
+  /bin/systemctl try-restart trafficserver.service >/dev/null 2>&1 || :
+%else
+  /sbin/service trafficserver condrestart &>/dev/null || :
+%endif
 fi
 
 
@@ -149,6 +186,9 @@ header files, and Apache httpd style module build system.
 %attr(0644,root,root) %{_libdir}/trafficserver/*.so
 
 %changelog
+* Wed Mar 21 2012 <janfrode at tanso.net> - 3.0.3-4
+- Add systemd support.
+
 * Sun Mar 18 2012 <janfrode at tanso.net> - 3.0.3-3
 - change default proxy.config.proxy_name to FIXME.example.com instead of the
   name of the buildhost


More information about the scm-commits mailing list