summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--network/squid/README2
-rw-r--r--network/squid/doinst.sh2
-rw-r--r--network/squid/rc.squid83
-rw-r--r--network/squid/squid.SlackBuild37
-rw-r--r--network/squid/squid.info6
-rw-r--r--network/squid/squid.logrotate1
6 files changed, 110 insertions, 21 deletions
diff --git a/network/squid/README b/network/squid/README
index 7a1cbe1dc1..3bd042b5ee 100644
--- a/network/squid/README
+++ b/network/squid/README
@@ -17,4 +17,4 @@ executable and add the following to /etc/rc.d/rc.local:
/etc/rc.d/rc.squid start
fi
-See /usr/doc/squid-3.0.STABLE2/README.SBo for configuration help.
+See /usr/doc/squid-3.0.STABLE10/README.SBo for configuration help.
diff --git a/network/squid/doinst.sh b/network/squid/doinst.sh
index 18b429664a..ca824a11f4 100644
--- a/network/squid/doinst.sh
+++ b/network/squid/doinst.sh
@@ -25,4 +25,4 @@ config etc/rc.d/rc.squid.new
config etc/squid/mime.conf.new
config etc/squid/squid.conf.new
config etc/squid/cachemgr.conf.new
-
+config etc/logrotate.d/squid.new
diff --git a/network/squid/rc.squid b/network/squid/rc.squid
new file mode 100644
index 0000000000..4810dae64f
--- /dev/null
+++ b/network/squid/rc.squid
@@ -0,0 +1,83 @@
+#!/bin/sh
+# Start/stop/restart/reload the Squid Internet Object Cache (squid)
+# To make Squid start automatically at boot, make this
+# file executable: chmod 755 /etc/rc.d/rc.Squid
+#
+# Written for Slackware Linux by Erik Jan Tromp
+# Modified by David Somero <xgizzmo@slackbuilds.org>
+
+SQUIDCFG=/etc/squid/squid.conf
+SQUIDCMD=/usr/sbin/squid
+
+if [ ! -r $SQUIDCFG ]; then
+ echo "Please set the correct path to $SQUIDCFG"
+ exit 1
+fi
+
+if [ ! -x $SQUIDCMD ]; then
+ echo "$SQUIDCMD not found"
+ exit 1
+fi
+
+squid_start() {
+ # Create cache directory hierarchy if needed
+ ALL_DIRS=$(awk '/^cache_dir/ {print $3}' $SQUIDCFG)
+ [ -z "$ALL_DIRS" ] && ALL_DIRS=/var/cache/squid
+
+ for CACHE_DIR in $ALL_DIRS ; do
+ if [ ! -d $CACHE_DIR/00 ] ; then
+ echo "Creating swap directories: $SQUIDCMD -z"
+ $SQUIDCMD -z 2> /dev/null
+ break
+ fi
+ done
+
+ echo "Starting Squid: $SQUIDCMD -DF"
+ $SQUIDCMD -DF
+}
+
+squid_stop() {
+ COUNTDOWN=$(awk '/^shutdown_lifetime/ {print $2}' $SQUIDCFG)
+ [ -z "$COUNTDOWN" ] && COUNTDOWN=30
+
+ echo -n "Shutting down Squid in $COUNTDOWN seconds: "
+ $SQUIDCMD -k shutdown 2> /dev/null
+ while $SQUIDCMD -k check 2> /dev/null ; do
+ sleep 1
+ echo -n .
+ COUNTDOWN=$[ $COUNTDOWN - 1 ]
+ if [ $COUNTDOWN -le 0 ] ; then
+ $SQUIDCMD -k interrupt 2> /dev/null
+ sleep 1
+ break
+ fi
+ done
+ echo
+}
+
+squid_restart() {
+ squid_stop
+ sleep 1
+ squid_start
+}
+
+squid_reload() {
+ $SQUIDCMD -k reconfigure 2> /dev/null
+}
+
+case "$1" in
+'start')
+ squid_start
+ ;;
+'stop')
+ squid_stop
+ ;;
+'restart')
+ squid_restart
+ ;;
+'reload')
+ squid_reload
+ ;;
+*)
+ echo "usage: $0 start|stop|restart|reload"
+esac
diff --git a/network/squid/squid.SlackBuild b/network/squid/squid.SlackBuild
index 7f99dfbdfd..de7206f75d 100644
--- a/network/squid/squid.SlackBuild
+++ b/network/squid/squid.SlackBuild
@@ -24,9 +24,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=squid
-VERSION=3.0.STABLE2
+VERSION=3.0.STABLE10
ARCH=${ARCH:-i486}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
CWD=$(pwd)
@@ -41,6 +41,8 @@ if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
fi
set -e
@@ -49,10 +51,14 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.*z*
+tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
-chmod -R u+w,go+r-w,a-s .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -62,12 +68,11 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var/log/squid \
--datadir=/usr/share/squid \
--mandir=/usr/man \
- --program-prefix="" \
- --program-suffix="" \
--enable-snmp \
--enable-linux-netfilter \
--enable-async-io \
- --build=i486-slackware-linux
+ --build=$ARCH-slackware-linux \
+ --host=$ARCH-slackware-linux
make all
make install DESTDIR=$PKG
@@ -90,19 +95,21 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chown root:root $PKG/usr/doc/$PRGNAM-$VERSION/*
mkdir -p $PKG/etc/{logrotate.d,rc.d}
-cat $CWD/rc.squid.new > $PKG/etc/rc.d/rc.squid.new
-cat $CWD/squid.logrotate > $PKG/etc/logrotate.d/squid
+cat $CWD/rc.squid > $PKG/etc/rc.d/rc.squid.new
+
+# Note that the .new file left hanging around in /etc/logrotate.d/ will
+# probably/surely make cron'd logrotations fail, but not installing it
+# as .new here will clobber a potentially custom file.
+cat $CWD/squid.logrotate > $PKG/etc/logrotate.d/squid.new
mv $PKG/etc/squid/mime.conf $PKG/etc/squid/mime.conf.new
mv $PKG/etc/squid/cachemgr.conf $PKG/etc/squid/cachemgr.conf.new
-rm $PKG/etc/squid/squid.conf ; cp $CWD/squid.conf $PKG/etc/squid/squid.conf.new
+rm $PKG/etc/squid/squid.conf
+cat $CWD/squid.conf > $PKG/etc/squid/squid.conf.new
-mkdir -p $PKG/var/cache/squid
-mkdir -p $PKG/var/run/squid
+mkdir -p $PKG/var/{cache,run}/squid
rmdir $PKG/var/log/squid/logs
-chown $SQUIDUSER:$SQUIDGROUP $PKG/var/log/squid
-chown $SQUIDUSER:$SQUIDGROUP $PKG/var/cache/squid
-chown $SQUIDUSER:$SQUIDGROUP $PKG/var/run/squid
+chown $SQUIDUSER:$SQUIDGROUP $PKG/var/{cache,log,run}/squid
## Edit the config file to set the user and group to run as
sed -i -e 's%^cache_effective_user nobody%cache_effective_user '"$SQUIDUSER"'%g' \
diff --git a/network/squid/squid.info b/network/squid/squid.info
index 5e7aa84221..0ac81b3efc 100644
--- a/network/squid/squid.info
+++ b/network/squid/squid.info
@@ -1,8 +1,8 @@
PRGNAM="squid"
-VERSION="3.0.STABLE2"
+VERSION="3.0.STABLE10"
HOMEPAGE="http://www.squid-cache.org/"
-DOWNLOAD="http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE2.tar.bz2"
-MD5SUM="21b0413c95b5b9b48e816a5f33f86312"
+DOWNLOAD="http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE10.tar.bz2"
+MD5SUM="cfd37717230220a9f47177594e235f18"
MAINTAINER="David Somero"
EMAIL="dsomero@hotmail.com"
APPROVED="rworkman"
diff --git a/network/squid/squid.logrotate b/network/squid/squid.logrotate
index 87b66e6df6..e6d8309b7b 100644
--- a/network/squid/squid.logrotate
+++ b/network/squid/squid.logrotate
@@ -5,7 +5,6 @@
compress
notifempty
missingok
-
# This script asks squid to rotate its logs on its own.
# Restarting squid is a long process and it is not worth
# doing it just to rotate logs