[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