From: Graham Leggett Date: Fri, 11 Sep 2009 23:26:35 +0000 (+0000) Subject: Add an RPM init.d script to start the htcacheclean daemon, controlled X-Git-Tag: 2.3.3~319 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f598c1bca8113dd9575f1c727a060111954636ff;p=apache Add an RPM init.d script to start the htcacheclean daemon, controlled 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 --- diff --git a/build/rpm/htcacheclean.init b/build/rpm/htcacheclean.init new file mode 100755 index 0000000000..1f33f715aa --- /dev/null +++ b/build/rpm/htcacheclean.init @@ -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 diff --git a/build/rpm/httpd.spec.in b/build/rpm/httpd.spec.in index d6c1404911..4bbf2256b0 100644 --- a/build/rpm/httpd.spec.in +++ b/build/rpm/httpd.spec.in @@ -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*