From 2abf1b259314d956a0f3cb3bce920d392856800b Mon Sep 17 00:00:00 2001 From: "Ralf S. Engelschall" Date: Fri, 11 Jul 2003 16:33:13 +0000 Subject: [PATCH] fix rc file installation (l_susr was not substituted); make rc file more robust by checking for pid file; add a bunch of comments; cleanup installation procedure --- squid/rc.squid | 12 +++++++++--- squid/squid.spec | 44 +++++++++++++++++++++++++++++--------------- 2 files changed, 38 insertions(+), 18 deletions(-) diff --git a/squid/rc.squid b/squid/rc.squid index 1a877ef711..2899944ee0 100644 --- a/squid/rc.squid +++ b/squid/rc.squid @@ -12,15 +12,21 @@ %stop -p 200 -u @l_susr@ opServiceEnabled squid || exit 0 - kill -TERM `cat @l_prefix@/var/squid/logs/squid.pid` + if [ -f @l_prefix@/var/squid/logs/squid.pid ]; then + kill -TERM `cat @l_prefix@/var/squid/logs/squid.pid` + fi %restart -u @l_susr@ opServiceEnabled squid || exit 0 - kill -TERM `cat @l_prefix@/var/squid/logs/squid.pid` + if [ -f @l_prefix@/var/squid/logs/squid.pid ]; then + kill -TERM `cat @l_prefix@/var/squid/logs/squid.pid` + fi sleep 2 @l_prefix@/sbin/squid -D %reload -u @l_susr@ opServiceEnabled squid || exit 0 - kill -HUP `cat @l_prefix@/var/squid/logs/squid.pid` + if [ -f @l_prefix@/var/squid/logs/squid.pid ]; then + kill -HUP `cat @l_prefix@/var/squid/logs/squid.pid` + fi diff --git a/squid/squid.spec b/squid/squid.spec index c3cea4730a..6172f14dab 100644 --- a/squid/squid.spec +++ b/squid/squid.spec @@ -38,7 +38,7 @@ Distribution: OpenPKG [BASE] Group: Web License: GPL Version: %{V_maj}.%{V_min}.%{V_rev} -Release: 20030710 +Release: 20030711 # list of sources Source0: http://www.squid-cache.org/Versions/v%{V_maj}/%{V_maj}.%{V_min}/squid-%{V_maj}.%{V_min}.STABLE%{V_rev}.tar.gz @@ -62,6 +62,7 @@ AutoReqProv: no %setup -q -n squid-%{V_maj}.%{V_min}.STABLE%{V_rev} %build + # configure package CC="%{l_cc}" \ CFLAGS="%{l_cflags -O}" \ ./configure \ @@ -78,41 +79,52 @@ AutoReqProv: no --enable-forw-via-db \ --enable-snmp \ --enable-useragent-log + + # build package %{l_make} %{l_mflags} %install rm -rf $RPM_BUILD_ROOT - %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix} - %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/squid + # pregenerate installation directories + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/squid \ + $RPM_BUILD_ROOT%{l_prefix}/var/squid/logs \ + $RPM_BUILD_ROOT%{l_prefix}/var/squid/cache + # install package %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" - rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/Run* - rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/RunCache - rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/squid/*.default - rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/squid/*.orig + # strip down installation + rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/Run* + rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/RunCache + rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/squid/*.default + rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/squid/*.orig rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/squid/errors/[A-D]* rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/squid/errors/Es* rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/squid/errors/[F-Z]* - %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/var/squid/logs - %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/var/squid/cache - + # post-adjust default configuration %{l_shtool} subst \ -e 's;^# \(cache_mgr\).*;\1 %{l_musr};' \ -e 's;^# \(cache_effective_user\).*;\1 %{l_musr};' \ -e 's;^# \(cache_effective_group\).*;\1 %{l_mgrp};' \ $RPM_BUILD_ROOT%{l_prefix}/etc/squid/squid.conf - rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/squid/squid.conf.orig - %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d - %{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};g' \ - %{SOURCE rc.squid} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + # install run-command script + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d + %{l_shtool} install -c -m 755 \ + -e 's;@l_prefix@;%{l_prefix};g' \ + -e 's;@l_susr@;%{l_susr};g' \ + %{SOURCE rc.squid} \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + # strip executables strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true + # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ '%config %{l_prefix}/etc/squid/squid.conf' @@ -124,11 +136,13 @@ AutoReqProv: no %post if [ $1 -eq 1 ]; then + # initialize cache directory structure $RPM_INSTALL_PREFIX/sbin/squid -z >/dev/null 2>&1 fi %preun if [ $1 -eq 0 ]; then - rm -rf $RPM_INSTALL_PREFIX/var/squid/cache/[0-9ABCDEF][0-9ABCDEF] >/dev/null 2>&1 + # remove cache directory structure and contents + rm -rf $RPM_INSTALL_PREFIX/var/squid/cache/[0-9ABCDEF][0-9ABCDEF] >/dev/null 2>&1 || true fi