[oe-commits] Roman I Khimov : squid: revamp init

git version control git at git.openembedded.org
Sat Mar 20 15:04:57 UTC 2010


Module: openembedded.git
Branch: org.openembedded.dev
Commit: cf50e480b287db476fca182615c3d173e7862dae
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=cf50e480b287db476fca182615c3d173e7862dae

Author: Roman I Khimov <khimov at altell.ru>
Date:   Fri Mar 19 13:58:32 2010 +0300

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 at altell.ru>

---

 recipes/squid/squid.inc        |    3 ++-
 recipes/squid/squid/squid.init |   23 ++++++++++++++++++-----
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/recipes/squid/squid.inc b/recipes/squid/squid.inc
index ff3789c..9004b6f 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 61d9de4..d829cf9 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... "





More information about the Openembedded-commits mailing list