summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Laine <jeremy.laine@m4x.org>2008-03-26 14:18:00 +0000
committerJeremy Laine <jeremy.laine@m4x.org>2008-03-26 14:18:00 +0000
commit4c87a2194276a51024de7a1aa15bada9798687cf (patch)
tree5f745438b9efc548f4c3ef1717bba2cfae500026
parentc86759af98a513b368c047195d2a923164f98c25 (diff)
squid: improve configuration defaults and provide init script
* provide sane defaults for configuration file (based on Debian package) * provide an init script for squid which creates log/cache directories as needed
-rw-r--r--MAINTAINERS2
-rw-r--r--packages/squid/squid/.mtn2git_empty0
-rw-r--r--packages/squid/squid/fix_epoll_check.patch11
-rw-r--r--packages/squid/squid/squid.init70
-rw-r--r--packages/squid/squid_2.6.STABLE14.bb24
5 files changed, 103 insertions, 4 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 4b74dc2778..de93d236e3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -97,7 +97,7 @@ Mail: jeremy.laine@bolloretelecom.eu
Website: http://www.jerryweb.org/
Machines: mpc8313e-rdb
Recipes: libexosip2, python-cheetah, python-django, python-pyopenssl,
-Recipes: pump, squidview
+Recipes: pump, squid, squidview
Person: Joaquim Duran
Mail: joaquinduran@adtelecom.es
diff --git a/packages/squid/squid/.mtn2git_empty b/packages/squid/squid/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/squid/squid/.mtn2git_empty
diff --git a/packages/squid/squid/fix_epoll_check.patch b/packages/squid/squid/fix_epoll_check.patch
new file mode 100644
index 0000000000..8f195277fd
--- /dev/null
+++ b/packages/squid/squid/fix_epoll_check.patch
@@ -0,0 +1,11 @@
+--- squid-2.6.STABLE14.orig/configure.in 2007-07-15 16:21:59.000000000 +0200
++++ squid-2.6.STABLE14/configure.in 2008-03-25 17:15:53.000000000 +0100
+@@ -2416,7 +2416,7 @@
+
+ if test -n "$SELECT_TYPE"; then
+ : # Nothing to do
+-elif test "$ac_cv_epoll_works" = "yes" ; then
++elif test "$ac_cv_func_epoll_ctl" = "yes" && "$ac_cv_epoll_works" = "yes" ; then
+ SELECT_TYPE="epoll"
+ elif test "$ac_cv_func_kqueue" = "yes" ; then
+ SELECT_TYPE="kqueue"
diff --git a/packages/squid/squid/squid.init b/packages/squid/squid/squid.init
new file mode 100644
index 0000000000..80573bf6fa
--- /dev/null
+++ b/packages/squid/squid/squid.init
@@ -0,0 +1,70 @@
+#!/bin/sh
+DAEMON=/usr/sbin/squid
+NAME=squid
+DESC="Squid HTTP proxy"
+PIDFILE=/var/run/squid.pid
+SQUID_ARGS="-D -sYC"
+
+test -f $DAEMON || exit 0
+
+grepconf() {
+ w=" " # space tab
+ sq=/etc/$NAME.conf
+ # sed is cool.
+ res=`sed -ne '
+ s/^'$1'['"$w"']\+[^'"$w"']\+['"$w"']\+\([^'"$w"']\+\).*$/\1/p;
+ t end;
+ d;
+ :end q' < $sq`
+ [ -n "$res" ] || res=$2
+ echo "$res"
+}
+
+start() {
+ owner=nobody
+
+ cdr=`grepconf cache_dir /var/spool/$NAME`
+ if [ ! -d "$cdr/00" ]; then
+ mkdir -p $cdr
+ chown $owner $cdr
+ $DAEMON -z
+ fi
+
+ ldr="/var/log/$NAME"
+ if [ ! -d "$ldr" ]; then
+ mkdir -p $ldr
+ chown $owner $cdr
+ fi
+
+ start-stop-daemon -S -p $PIDFILE -x $DAEMON
+}
+
+stop() {
+ start-stop-daemon -K -p $PIDFILE -x $DAEMON
+}
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: $NAME... "
+ start
+ echo "done."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: $NAME... "
+ stop
+ echo "done."
+ ;;
+ restart)
+ echo "Restarting $DESC: $NAME... "
+ stop
+ sleep 1
+ start
+ echo "done."
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/packages/squid/squid_2.6.STABLE14.bb b/packages/squid/squid_2.6.STABLE14.bb
index beef3ba2b0..10c20c505e 100644
--- a/packages/squid/squid_2.6.STABLE14.bb
+++ b/packages/squid/squid_2.6.STABLE14.bb
@@ -1,18 +1,36 @@
DESCRIPTION = "Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more"
LICENSE = "GPLv2"
-
+PR = "r1"
DEPENDS = "squid-native-${PV}"
-SRC_URI = "http://www.squid-cache.org/Versions/v2/2.6/squid-${PV}.tar.bz2"
+SRC_URI = "http://www.squid-cache.org/Versions/v2/2.6/squid-${PV}.tar.bz2 \
+ file://fix_epoll_check.patch;patch=1 \
+ file://squid.init"
-inherit autotools
+inherit autotools update-rc.d
EXTRA_OECONF = "--disable-epoll --disable-nls"
+logdir = ${localstatedir}/log/squid
+EXTRA_OEMAKE = "\
+ DEFAULT_CACHE_LOG=${logdir}/cache.log \
+ DEFAULT_ACCESS_LOG=${logdir}/access.log \
+ DEFAULT_STORE_LOG=${logdir}/store.log \
+ DEFAULT_PID_FILE=${localstatedir}/run/squid.pid \
+ DEFAULT_SWAP_DIR=${localstatedir}/spool/squid \
+ "
+
+INITSCRIPT_NAME = "squid"
+
do_configure_append() {
sed -i -e 's|./cf_gen |${STAGING_BINDIR_NATIVE}/cf_gen |g' src/Makefile
}
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/squid.init ${D}${sysconfdir}/init.d/squid
+}
+
# this packages the languages better and saves some space, installs
# English as errors default and the others in locale package