Browse Source

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

master
parent
commit
2abf1b2593
  1. 12
      squid/rc.squid
  2. 44
      squid/squid.spec

12
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

44
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

Loading…
Cancel
Save