>Number:         178304
>Category:       misc
>Synopsis:       squid doesn't work in SMP mode
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri May 03 00:20:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     anonymous
>Release:        
>Organization:
>Environment:
FreeBSD FreeBSD 9.1-RELEASE FreeBSD 9.1-RELEASE #0: Tue Apr 16 01:05:45 PDT 
2013     root@FreeBSD:/usr/obj/usr/src/sys/CUSTOM  i386
>Description:
Squid tries to save its ipc sockets in localstatedir(/var/squid)/run/squid 
which it can't write to.
>How-To-Repeat:
Add "workers=2" to squid.conf
>Fix:
Change localstatedir to "/var" so squid uses /var/run/squid instead.
/var/squid/cache/squid => /var/squid/cache
/var/squid/run/squid => /var/run/squid

Patch attached with submission follows:

diff -ur a/www/squid33/Makefile b/www/squid33/Makefile
--- a/www/squid33/Makefile      2013-05-01 09:56:25.000000000 -0700
+++ b/www/squid33/Makefile      2013-05-02 16:39:06.876875733 -0700
@@ -228,10 +228,11 @@
                --sbindir=${PREFIX}/sbin  \
                --datadir=${ETCDIR} \
                --libexecdir=${PREFIX}/libexec/squid \
-               --localstatedir=/var/squid \
+               --localstatedir=/var \
                --sysconfdir=${ETCDIR} \
                --with-logdir=/var/log/squid \
                --with-pidfile=/var/run/squid/squid.pid \
+               --with-swapdir=/var/squid/cache \
                --enable-auth \
                --enable-build-info \
                --enable-loadable-modules \
diff -ur a/www/squid33/files/pkg-install.in b/www/squid33/files/pkg-install.in
--- a/www/squid33/files/pkg-install.in  2012-10-30 16:05:50.000000000 -0700
+++ b/www/squid33/files/pkg-install.in  2013-05-02 16:46:11.408876004 -0700
@@ -5,11 +5,11 @@
 
 PATH=/bin:/usr/bin:/usr/sbin
 pkgname=$1
-squid_base="/var/squid"
-squid_cachedir="${squid_base}/cache"
+squid_homedir="/var/squid"
 squid_confdir="${PKG_PREFIX:-%%PREFIX%%}/etc/squid"
 squid_logdir="/var/log/squid"
 squid_rundir="/var/run/squid"
+squid_cachedir="${squid_homedir}/cache"
 # these are hardcoded, see /usr/ports/UIDs and /usr/ports/GIDs:
 squid_user=squid
 squid_group=squid
@@ -21,14 +21,14 @@
        ;;
 POST-INSTALL)
        # Since we usually start the Squid master process as ${squid_user}
-       # instead of root make sure that ${squid_base} is writable for it.
-       if [ ! -d ${squid_base} ]; then
-               echo "Creating ${squid_base}..."
+       # instead of root make sure that ${squid_homedir} is writable for it.
+       if [ ! -d ${squid_homedir} ]; then
+               echo "Creating ${squid_homedir}..."
                install -d -o root -g ${squid_group} \
-                   -m 0775 ${squid_base}
+                   -m 0775 ${squid_homedir}
        else
-               chgrp ${squid_group} ${squid_base}
-               chmod g+w ${squid_base}
+               chgrp ${squid_group} ${squid_homedir}
+               chmod g+w ${squid_homedir}
        fi
        if [ ! -d ${squid_cachedir} ]; then
                echo "Creating ${squid_cachedir} ..."
diff -ur a/www/squid33/files/pkg-message.in b/www/squid33/files/pkg-message.in
--- a/www/squid33/files/pkg-message.in  2012-10-30 16:05:50.000000000 -0700
+++ b/www/squid33/files/pkg-message.in  2013-05-02 16:39:44.871873847 -0700
@@ -1,7 +1,7 @@
      o You can find the configuration files for this package in the
        directory %%PREFIX%%/etc/squid.
 
-     o The default cache directory is /var/squid/.
+     o The default cache directory is /var/squid/cache/.
        The default log directory is /var/log/squid/.
 
        Note:
diff -ur a/www/squid33/pkg-deinstall b/www/squid33/pkg-deinstall
--- a/www/squid33/pkg-deinstall 2012-10-30 16:05:50.000000000 -0700
+++ b/www/squid33/pkg-deinstall 2013-05-02 16:45:00.104873016 -0700
@@ -5,11 +5,10 @@
 
 PATH=/bin:/usr/bin:/usr/sbin
 squid_homedir="/var/squid"
-squid_cache_basedir="${squid_homedir}/cache"
-squid_state_basedir="${squid_homedir}/run"
 squid_confdir=${PKG_PREFIX}/etc/squid
 squid_logdir="/var/log/squid"
 squid_rundir="/var/run/squid"
+squid_cachedir="${squid_homedir}/cache"
 
 case $2 in
 DEINSTALL)
@@ -18,7 +17,7 @@
                cmp -s -z ${f} ${f}.default && rm ${f}
        done
        # try to cleanup directories in /var:
-       for d in ${squid_cache_basedir}/squid ${squid_cache_basedir} 
${squid_state_basedir}/squid ${squid_state_basedir} ${squid_homedir} 
${squid_logdir} ${squid_rundir}; do
+       for d in ${squid_logdir} ${squid_rundir} ${squid_cachedir} 
${squid_homedir}; do
                rmdir ${d} 2>/dev/null
        done
        ;;
@@ -32,7 +31,7 @@
        echo "     created by a default installation of this package, run"
        echo ""
        echo "     pw userdel -n squid -u 100"
-       if  [ -d ${squid_homedir} -o -d ${squid_confdir} -o -d ${squid_logdir} 
-o -d ${squid_rundir} ] ; then
+       if  [ -d ${squid_confdir} -o -d ${squid_logdir} -o -d ${squid_rundir} 
-o -d ${squid_homedir} ] ; then
                echo ""
                echo "     In order to ease updates the cache and log 
directories"
                echo "     and all configuration files modified by you were 
preserved."


>Release-Note:
>Audit-Trail:
>Unformatted:
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to