[squid/f16] fixes #747103 - squid does not start if /var/spool/squid is empty fixes #747110 - squid does not sta

Jiri Skala jskala at fedoraproject.org
Wed Oct 26 08:30:57 UTC 2011


commit 2924c95a6a9d84ed3540a01921e4237937f5a848
Author: Jiri Skala <jskala at redhat.com>
Date:   Wed Oct 26 10:30:53 2011 +0200

    fixes #747103 - squid does not start if /var/spool/squid is empty
    fixes #747110 - squid does not start adding "memory_pools off"

 cache_swap.sh                |   16 ++++++++++++++++
 squid-3.2.0.13-errname.patch |   13 +++++++++++++
 squid.service                |    1 +
 squid.spec                   |   12 +++++++++++-
 4 files changed, 41 insertions(+), 1 deletions(-)
---
diff --git a/cache_swap.sh b/cache_swap.sh
new file mode 100644
index 0000000..b714e66
--- /dev/null
+++ b/cache_swap.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+if [ -f /etc/sysconfig/squid ]; then
+	. /etc/sysconfig/squid
+fi
+
+SQUID_CONF=${SQUID_CONF:-"/etc/squid/squid.conf"}
+
+CACHE_SWAP=`sed -e 's/#.*//g' $SQUID_CONF | \
+	grep cache_dir | awk '{ print $3 }'`
+
+for adir in $CACHE_SWAP; do
+	if [ ! -d $adir/00 ]; then
+		echo -n "init_cache_dir $adir... "
+		squid -z -F -f $SQUID_CONF >> /var/log/squid/squid.out 2>&1
+	fi
+done
diff --git a/squid-3.2.0.13-errname.patch b/squid-3.2.0.13-errname.patch
new file mode 100644
index 0000000..6927a90
--- /dev/null
+++ b/squid-3.2.0.13-errname.patch
@@ -0,0 +1,13 @@
+diff -up squid-3.2.0.13/src/ssl/ErrorDetailManager.cc.dbg squid-3.2.0.13/src/ssl/ErrorDetailManager.cc
+--- squid-3.2.0.13/src/ssl/ErrorDetailManager.cc.dbg	2011-10-14 03:42:56.000000000 +0200
++++ squid-3.2.0.13/src/ssl/ErrorDetailManager.cc	2011-10-26 08:16:12.968976995 +0200
+@@ -209,7 +209,8 @@ Ssl::ErrorDetailFile::parse(const char *
+                 return false;
+             }
+ 
+-            const char *errorName = parser.getByName("name").termedBuf();
++            String strErrName = parser.getByName("name");
++            const char *errorName = strErrName.termedBuf();
+             if (!errorName) {
+                 debugs(83, DBG_IMPORTANT, HERE <<
+                        "WARNING! invalid or no error detail name on:" << s);
diff --git a/squid.service b/squid.service
index 1544e24..0c96e46 100644
--- a/squid.service
+++ b/squid.service
@@ -5,6 +5,7 @@ After=syslog.target network.target
 [Service]
 Type=forking
 EnvironmentFile=/etc/sysconfig/squid
+ExecStartPre=/usr/libexec/squid/cache_swap.sh
 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF
 ExecReload=/usr/sbin/squid $SQUID_OPTS -k reconfigure -f $SQUID_CONF
 ExecStop=/usr/sbin/squid -k shutdown -f $SQUID_CONF
diff --git a/squid.spec b/squid.spec
index 7862ba9..eea3e95 100644
--- a/squid.spec
+++ b/squid.spec
@@ -4,7 +4,7 @@
 
 Name:     squid
 Version:  3.2.0.13
-Release:  1%{?dist}
+Release:  2%{?dist}
 Summary:  The Squid proxy caching server
 Epoch:    7
 # See CREDITS for breakdown of non GPLv2+ code
@@ -19,6 +19,7 @@ Source4:  squid.sysconfig
 Source5:  squid.pam
 Source6:  squid.nm
 Source7:  squid.service
+Source8:  cache_swap.sh
 Source98: perl-requires-squid.sh
 ## Source99: filter-requires-squid.sh
 
@@ -33,6 +34,7 @@ Patch202: squid-3.1.0.9-location.patch
 Patch203: squid-3.0.STABLE1-perlpath.patch
 Patch204: squid-3.2.0.9-fpic.patch
 Patch205: squid-3.1.9-ltdl.patch
+Patch206: squid-3.2.0.13-errname.patch
 
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Requires: bash >= 2.0
@@ -93,6 +95,7 @@ The squid-sysvinit contains SysV initscritps support.
 %patch203 -p1 -b .perlpath
 %patch204 -p1 -b .fpic
 %patch205 -p1 -b .ltdl
+%patch206 -p1 -b .errname
 
 %build
 %ifarch sparcv9 sparc64 s390 s390x
@@ -178,11 +181,13 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d
 mkdir -p $RPM_BUILD_ROOT/lib/systemd/system
+mkdir -p $RPM_BUILD_ROOT/usr/libexec/squid
 install -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/squid
 install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/squid
 install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/squid
 install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/squid
 install -m 644 %{SOURCE7} ${RPM_BUILD_ROOT}/lib/systemd/system
+install -m 755 %{SOURCE8} ${RPM_BUILD_ROOT}/usr/libexec/squid
 install -m 644 $RPM_BUILD_ROOT/squid.httpd.tmp $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/squid.conf
 install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d/20-squid
 mkdir -p $RPM_BUILD_ROOT/var/log/squid
@@ -211,6 +216,7 @@ rm -rf $RPM_BUILD_ROOT
 %doc contrib/url-normalizer.pl contrib/rredir.* contrib/user-agents.pl
 
 /lib/systemd/system/squid.service
+%attr(755,root,root) %dir /usr/libexec/squid/cache_swap.sh
 %attr(755,root,root) %dir %{_sysconfdir}/squid
 %attr(755,root,root) %dir %{_libdir}/squid
 %attr(750,squid,squid) %dir /var/log/squid
@@ -296,6 +302,10 @@ fi
         /sbin/chkconfig --add squid >/dev/null 2>&1 || :
 
 %changelog
+* Wed Oct 26 2011 Jiri Skala <jskala at redhat.com> - 7:3.2.0.13-2
+- fixes #747103 - squid does not start if /var/spool/squid is empty
+- fixes #747110 - squid does not start adding "memory_pools off"
+
 * Mon Oct 17 2011 Jiri Skala <jskala at redhat.com> - 7:3.2.0.13-1
 - update to latest upstream 3.2.0.13
 


More information about the scm-commits mailing list