Commit 5d469231 authored by Natanael Copa's avatar Natanael Copa
Browse files

main/squid: fix for squid initscript and pidfile

fixes #133
parent 353ecc79
......@@ -3,7 +3,7 @@
pkgname=squid
pkgver=2.7.6
_ver=2.7.STABLE6
pkgrel=6
pkgrel=7
pkgdesc="A full-featured Web proxy cache server."
url="http://www.squid-cache.org"
install="squid.post-install"
......@@ -49,15 +49,17 @@ subpackages="$pkgname-doc
source="http://www.squid-cache.org/Versions/v2/2.7/${pkgname}-${_ver}.tar.bz2
squid.initd
squid.confd
squid.post-install
squid-2.7-gentoo.patch
$pkgname.logrotate
"
pkgusers="squid"
pkggroups="squid"
build() {
cd "$srcdir/$pkgname-$_ver"
patch -p1 -i "$srcdir"/squid-2.7-gentoo.patch || return 1
touch NEWS AUTHORS
aclocal && autoconf && automake -a || return 1
......@@ -86,7 +88,10 @@ build() {
install -m644 -D "$srcdir"/$pkgname.logrotate \
"$pkgdir"/etc/logrotate.d/squid
mkdir -p "$pkgdir"/var/cache/squid "$pkgdir"/var/log/squid
install -d -o squid -g squid \
"$pkgdir"/var/cache/squid \
"$pkgdir"/var/log/squid \
"$pkgdir"/var/run/squid
chmod +x "$pkgdir"/usr/lib/squid/*
}
......@@ -272,8 +277,7 @@ errors_ukrainian_utf8() {
md5sums="6de3a6a7a56a7ecae092f2d31a04f039 squid-2.7.STABLE6.tar.bz2
d31f293cf10a90bc3d60aa6428889db5 squid.initd
d7f3f823f5648dae74cb68a3b2c2f70e squid.initd
44b052db7910f386ef88ddcf69c9ba4e squid.confd
9bf350646e321f7c38ffeb9af828ec98 squid.post-install
1d33108353d788b238d9a8877bf2e401 squid-2.7-gentoo.patch
3827f71d940b47eb385a1a1d92a51d66 squid-2.7-gentoo.patch
58823e0b86bc2dc71d270208b7b284b4 squid.logrotate"
......@@ -104,7 +104,7 @@ http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-proxy/squid/files/squid-2.7.
DEFAULT_ACCESS_LOG = $(DEFAULT_LOG_PREFIX)/access.log
DEFAULT_STORE_LOG = $(DEFAULT_LOG_PREFIX)/store.log
-DEFAULT_PID_FILE = $(DEFAULT_LOG_PREFIX)/squid.pid
+DEFAULT_PID_FILE = $(localstatedir)/run/squid.pid
+DEFAULT_PID_FILE = $(localstatedir)/run/squid/squid.pid
DEFAULT_NETDB_FILE = $(DEFAULT_LOG_PREFIX)/netdb.state
-DEFAULT_SWAP_DIR = $(localstatedir)/cache
+DEFAULT_SWAP_DIR = $(localstatedir)/cache/squid
......
......@@ -5,6 +5,8 @@
opts="${opts} reload rotate"
conf=/etc/squid/squid.conf
depend() {
need net
}
......@@ -25,7 +27,7 @@ maxfds() {
checkconfig() {
maxfds
local CACHE_SWAP=$(awk '/^[ \t]*cache_dir[ \t]+/ { if ($2 == "coss" ) printf "%s/stripe ", $3 ; else printf "%s/00 ", $3; }' < /etc/squid/squid.conf)
local CACHE_SWAP=$(awk '/^[ \t]*cache_dir[ \t]+/ { if ($2 == "coss" ) printf "%s/stripe ", $3 ; else printf "%s/00 ", $3; }' < $conf)
[ -z "$CACHE_SWAP" ] && CACHE_SWAP="/var/cache/squid/00"
local x
......@@ -50,27 +52,37 @@ checkconfig() {
return 0
}
get_pidfile() {
PIDFILE=$(awk '/^[ \t]*pid_filename[ \t]+/ {print $2}' $conf)
[ -z "$PIDFILE" ] && PIDFILE=/var/run/squid/squid.pid
}
start() {
get_pidfile
checkconfig || return 1
ebegin "Starting squid"
KRB5_KTNAME="${SQUID_KEYTAB}" /usr/sbin/squid ${SQUID_OPTS}
start-stop-daemon --start --pidfile "$PIDFILE" \
--env KRB5_KTNAME="${SQUID_KEYTAB}" \
--exec /usr/sbin/squid -- ${SQUID_OPTS}
eend $? && sleep 1
}
stop() {
local rc=0
ebegin "Stopping squid"
get_pidfile
/usr/sbin/squid -k shutdown
# Now we have to wait until squid has _really_ stopped.
sleep 1
if [ -f /var/run/squid.pid ] ; then
if [ -f "$PIDFILE" ] ; then
einfon "Waiting for squid to shutdown ."
cnt=0
while [ -f /var/run/squid.pid ] ; do
while [ -f "$PIDFILE" ] ; do
cnt=$(expr $cnt + 1)
if [ $cnt -gt 60 ] ; then
# Waited 120 seconds now. Fail.
echo
eend 1 "Failed."
rc=1
break
fi
sleep 2
......@@ -78,7 +90,7 @@ stop() {
done
echo
fi
eend 0
eend $rc
}
reload() {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment