aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/squid
diff options
context:
space:
mode:
authorRoman I Khimov <khimov@altell.ru>2010-03-19 13:58:32 +0300
committerRoman I Khimov <khimov@altell.ru>2010-03-20 18:01:50 +0300
commitcf50e480b287db476fca182615c3d173e7862dae (patch)
tree324bc2c17f9529db683aecb316bb622e89334a0a /recipes/squid
parentfcf68ac68bdeb3f83246bfcf0ef60c706294e3eb (diff)
downloadopenembedded-cf50e480b287db476fca182615c3d173e7862dae.tar.gz
squid: revamp init
Configure squid to create PID file by default, use SQUID_ARGS variable, wait for it to actually stop when stopping (takes some time for squid to do it). Signed-off-by: Roman I Khimov <khimov@altell.ru>
Diffstat (limited to 'recipes/squid')
-rw-r--r--recipes/squid/squid.inc3
-rw-r--r--recipes/squid/squid/squid.init23
2 files changed, 20 insertions, 6 deletions
diff --git a/recipes/squid/squid.inc b/recipes/squid/squid.inc
index ff3789cc23..9004b6f550 100644
--- a/recipes/squid/squid.inc
+++ b/recipes/squid/squid.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more"
LICENSE = "GPLv2"
-INC_PR = "r3"
+INC_PR = "r4"
DEPENDS = "squid-native-${PV}"
SRC_URI = "http://www.squid-cache.org/Versions/v2/${SQUID_MAJOR}/squid-${PV}.tar.bz2;name=squid-${PV} \
@@ -42,6 +42,7 @@ do_install_append() {
mv ${D}${sysconfdir}/mime.conf.default ${D}${sysconfdir}/squid/
mv ${D}${sysconfdir}/squid.conf.default ${D}${sysconfdir}/squid/
install -m 0644 ${WORKDIR}/squid-volatiles ${D}${sysconfdir}/default/volatiles/squid
+ sed -ri "s,^\#?\ *(pid_filename.+)$,\1," ${D}${sysconfdir}/squid/squid.conf
}
# this packages the languages better and saves some space, installs
diff --git a/recipes/squid/squid/squid.init b/recipes/squid/squid/squid.init
index 61d9de42dd..d829cf90b9 100644
--- a/recipes/squid/squid/squid.init
+++ b/recipes/squid/squid/squid.init
@@ -3,7 +3,7 @@ DAEMON=/usr/sbin/squid
NAME=squid
DESC="Squid HTTP proxy"
PIDFILE=/var/run/squid.pid
-SQUID_ARGS="-D -sYC"
+SQUID_ARGS="-D -sY"
test -f $DAEMON || exit 0
@@ -36,11 +36,25 @@ start() {
chown $owner $ldr
fi
- start-stop-daemon -S -p $PIDFILE -x $DAEMON
+ start-stop-daemon -S -p $PIDFILE -x $DAEMON -- $SQUID_ARGS
}
stop() {
- start-stop-daemon -K -p $PIDFILE -x $DAEMON
+ EX=0
+ CNT=1
+ while [ $EX -eq 0 -a $CNT -lt 15 ]; do
+ echo -n .
+ sleep 1
+ start-stop-daemon -K -p $PIDFILE 1>/dev/null 2>&1
+ EX=$?
+ CNT=`expr $CNT + 1`
+ done
+ if [ $CNT -eq 15 ]; then
+ echo "failed."
+ else
+ echo "done."
+ rm -f $PIDFILE
+ fi
}
case "$1" in
@@ -50,9 +64,8 @@ case "$1" in
echo "done."
;;
stop)
- echo -n "Stopping $DESC: $NAME... "
+ echo -n "Stopping $DESC: $NAME"
stop
- echo "done."
;;
restart)
echo "Restarting $DESC: $NAME... "