]> granicus.if.org Git - apache/commitdiff
Add an RPM init.d script to start the htcacheclean daemon, controlled
authorGraham Leggett <minfrin@apache.org>
Fri, 11 Sep 2009 23:26:35 +0000 (23:26 +0000)
committerGraham Leggett <minfrin@apache.org>
Fri, 11 Sep 2009 23:26:35 +0000 (23:26 +0000)
by the optional /etc/sysconfig/htcacheclean configuration.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@814079 13f79535-47bb-0310-9956-ffa450edef68

build/rpm/htcacheclean.init [new file with mode: 0755]
build/rpm/httpd.spec.in

diff --git a/build/rpm/htcacheclean.init b/build/rpm/htcacheclean.init
new file mode 100755 (executable)
index 0000000..1f33f71
--- /dev/null
@@ -0,0 +1,96 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+# htcacheclean    Startup script for the Apache cache cleaner
+#
+# chkconfig: - 85 15
+# description: The Apache htcacheclean daemon maintains and prunes the
+#              size of the mod_disk_cache cache directory.
+# processname: htcacheclean
+# pidfile: /var/log/httpd/htcacheclean.pid
+# config: /etc/sysconfig/htcacheclean
+#
+### BEGIN INIT INFO
+# Provides: htcacheclean
+# Required-Start: $local_fs $remote_fs $network
+# Required-Stop: $local_fs $remote_fs $network
+# Should-Start: httpd
+# Short-Description: start and stop Apache htcacheclean
+# Description: The Apache htcacheclean daemon maintains a mod_disk_cache
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+if [ -f /etc/sysconfig/htcacheclean ]; then
+        . /etc/sysconfig/htcacheclean
+fi
+
+# Path to the apachectl script, server binary, and short-form for messages.
+htcacheclean=${HTTPD-/usr/sbin/htcacheclean}
+prog=htcacheclean
+lockfile=${LOCKFILE-/var/lock/subsys/htcacheclean}
+interval=${INTERVAL-10}
+cachepath=${CACHEPATH-/var/cache/httpd/cache-root}
+limit=${LIMIT-100M}
+RETVAL=0
+
+start() {
+        echo -n $"Starting $prog: "
+        daemon $htcacheclean -d "$interval" -p "$cachepath" -l "$limit" $OPTIONS
+        RETVAL=$?
+        echo
+        [ $RETVAL = 0 ] && touch ${lockfile}
+        return $RETVAL
+}
+stop() {
+       echo -n $"Stopping $prog: "
+       killproc $htcacheclean
+       RETVAL=$?
+       echo
+       [ $RETVAL = 0 ] && rm -f ${lockfile}
+}
+
+# See how we were called.
+case "$1" in
+  start)
+       start
+       ;;
+  stop)
+       stop
+       ;;
+  status)
+        status $htcacheclean
+       RETVAL=$?
+       ;;
+  restart)
+       stop
+       start
+       ;;
+  condrestart)
+       if status $htcacheclean >&/dev/null; then
+               stop
+               start
+       fi
+       ;;
+  *)
+       echo $"Usage: $prog {start|stop|restart|condrestart|status|help}"
+       exit 1
+esac
+
+exit $RETVAL
index d6c1404911e66ea74be75aae638afc08d03f5403..4bbf2256b03c91624cdd200c155c93fab2b98627 100644 (file)
@@ -218,7 +218,10 @@ mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
 install -m755 ./build/rpm/httpd.init \
        $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd
 %{__perl} -pi -e "s:\@docdir\@:%{_docdir}/%{name}-%{version}:g" \
-       $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd   
+       $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd
+install -m755 ./build/rpm/htcacheclean.init \
+        $RPM_BUILD_ROOT/etc/rc.d/init.d/htcacheclean
+mkdir -p $RPM_BUILD_ROOT/var/cache/httpd/cache-root
 
 # install log rotation stuff
 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
@@ -312,6 +315,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %config %{_sysconfdir}/logrotate.d/httpd
 %config %{_sysconfdir}/rc.d/init.d/httpd
+%config %{_sysconfdir}/rc.d/init.d/htcacheclean
 
 %{_sbindir}/ab
 %{_sbindir}/fcgistarter
@@ -350,6 +354,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(0700,root,root) %dir %{_localstatedir}/log/httpd
 
 %attr(0700,apache,apache) %dir %{_localstatedir}/lib/dav
+%attr(0700,apache,apache) %dir %{_localstatedir}/cache/httpd/cache-root
 
 %{_mandir}/man1/*
 %{_mandir}/man8/ab*