summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2013-07-08 22:11:35 +0000
committerAnthony G. Basile <blueness@gentoo.org>2013-07-08 22:11:35 +0000
commit2bc07965552a55989c5cc96af48f6ef74f74a159 (patch)
tree97f9d95daad13ca67336801c7f3275befe2a6971 /www-servers/varnish
parentVersion bump with poppler:= by Dominik Kriegner (bug 471480). (diff)
downloadgentoo-2-2bc07965552a55989c5cc96af48f6ef74f74a159.tar.gz
gentoo-2-2bc07965552a55989c5cc96af48f6ef74f74a159.tar.bz2
gentoo-2-2bc07965552a55989c5cc96af48f6ef74f74a159.zip
Add sanity test and reload functionality to init.d script, bug #475600
(Portage version: 2.1.12.2/cvs/Linux x86_64, signed Manifest commit with key 0xF52D4BBA)
Diffstat (limited to 'www-servers/varnish')
-rw-r--r--www-servers/varnish/ChangeLog8
-rw-r--r--www-servers/varnish/files/varnishd.confd-r122
-rwxr-xr-xwww-servers/varnish/files/varnishd.initd-r187
-rw-r--r--www-servers/varnish/varnish-3.0.4-r1.ebuild83
4 files changed, 199 insertions, 1 deletions
diff --git a/www-servers/varnish/ChangeLog b/www-servers/varnish/ChangeLog
index 37d7a3147d35..ca5e79c34eeb 100644
--- a/www-servers/varnish/ChangeLog
+++ b/www-servers/varnish/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for www-servers/varnish
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/varnish/ChangeLog,v 1.62 2013/06/21 12:51:35 blueness Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/varnish/ChangeLog,v 1.63 2013/07/08 22:11:35 blueness Exp $
+
+*varnish-3.0.4-r1 (08 Jul 2013)
+
+ 08 Jul 2013; Anthony G. Basile <blueness@gentoo.org> +files/varnishd.confd-r1,
+ +files/varnishd.initd-r1, +varnish-3.0.4-r1.ebuild:
+ Add sanity test and reload functionality to init.d script, bug #475600
21 Jun 2013; Anthony G. Basile <blueness@gentoo.org>
+files/varnish-3.0.4-fix-automake-1.13.patch, varnish-3.0.4.ebuild:
diff --git a/www-servers/varnish/files/varnishd.confd-r1 b/www-servers/varnish/files/varnishd.confd-r1
new file mode 100644
index 000000000000..472b26f99426
--- /dev/null
+++ b/www-servers/varnish/files/varnishd.confd-r1
@@ -0,0 +1,22 @@
+# /etc/conf.d/varnishd
+
+VARNISHD="/usr/sbin/varnishd"
+VARNISHADM="/usr/bin/varnishadm"
+CONFIGFILE="/etc/varnish/default.vcl"
+
+# Listen on 127.0.0.1:8080 and connect to backend 127.0.0.1:80
+# Ignore the config file, /etc/varnish/default.vcl
+VARNISHD_OPTS="-a 127.0.0.1:8080 -b 127.0.0.1:80"
+
+# Alternatively, don't listen to a backend and use
+# the config file
+#VARNISHD_OPTS="-a 127.0.0.1:8080 -f $CONFIGFILE"
+
+# arguments passed to varnishncsa
+# please see the varnishncsa man page for more options
+VARNISHNCSA_ARGS="-c -a -w /var/log/varnish/access.log"
+
+# We need to increase the number of open files (-n)
+# and the maximum amount off locked memory (-l)
+# See bug #459142
+rc_ulimit="-n 32786 -l 82000"
diff --git a/www-servers/varnish/files/varnishd.initd-r1 b/www-servers/varnish/files/varnishd.initd-r1
new file mode 100755
index 000000000000..41e0e3027e07
--- /dev/null
+++ b/www-servers/varnish/files/varnishd.initd-r1
@@ -0,0 +1,87 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/varnish/files/varnishd.initd-r1,v 1.1 2013/07/08 22:11:35 blueness Exp $
+
+extra_commands="configtest"
+extra_started_commands="reload"
+
+description_configtest="Run syntax tests for configuration files."
+description_reload="Reloads the configuration."
+
+depend() {
+ need net
+}
+
+configtest() {
+ ebegin "Checking ${SVCNAME} configuration"
+ checkconfig
+ eend $?
+}
+
+checkconfig() {
+ ${VARNISHD} -C -f ${CONFIGFILE} >/dev/null 2>&1
+ ret=$?
+ if [ $ret -ne 0 ]; then
+ eerror "${SVCNAME} has detected an error in your setup:"
+ ${VARNISHD} -C -f ${CONFIGFILE}
+ fi
+
+ return $ret
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting varnish"
+ start-stop-daemon --quiet --start --pidfile /var/run/varnishd.pid --exec ${VARNISHD} -- -P /var/run/varnishd.pid ${VARNISHD_OPTS} &> /dev/null
+ eend $?
+
+ if [ "${VARNISHNCSA_ARGS}" != "" ]; then
+ ebegin "Starting varnish logging"
+ start-stop-daemon --quiet --start --pidfile /var/run/varnishncsa.pid --exec /usr/bin/varnishncsa -- -D -P /var/run/varnishncsa.pid ${VARNISHNCSA_ARGS}
+ eend $?
+ fi
+}
+
+stop() {
+ ebegin "Stopping varnish"
+ start-stop-daemon --quiet --stop --pidfile /var/run/varnishd.pid
+ eend $?
+
+ if [ -e /var/run/varnishncsa.pid ]; then
+ ebegin "Stopping varnish logging"
+ start-stop-daemon --quiet --stop --pidfile /var/run/varnishncsa.pid
+ eend $?
+ fi
+}
+
+reload() {
+ checkconfig || return 1
+
+ ebegin "Reloading varnish"
+
+ $VARNISHADM vcl.list >/dev/null 2>&1
+ ret=$?
+ if [ $ret -ne 0 ]; then
+ eerror "${SVCNAME} cannot list configuration"
+ return 1
+ fi
+
+ new_config="reload_$(date +%FT%H:%M:%S)"
+ $VARNISHADM vcl.load $new_config $CONFIGFILE >/dev/null 2>&1
+ ret=$?
+ if [ $ret -ne 0 ]; then
+ eerror "${SVCNAME} cannot load configuration"
+ return 1
+ fi
+
+ $VARNISHADM vcl.use $new_config >/dev/null 2>&1
+ ret=$?
+ if [ $ret -ne 0 ]; then
+ eerror "${SVCNAME} cannot switch configuration"
+ return 1
+ fi
+
+ eend 0
+}
diff --git a/www-servers/varnish/varnish-3.0.4-r1.ebuild b/www-servers/varnish/varnish-3.0.4-r1.ebuild
new file mode 100644
index 000000000000..c8f982fa7f89
--- /dev/null
+++ b/www-servers/varnish/varnish-3.0.4-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/varnish/varnish-3.0.4-r1.ebuild,v 1.1 2013/07/08 22:11:35 blueness Exp $
+
+EAPI="5"
+
+inherit autotools-utils eutils
+
+DESCRIPTION="Varnish is a state-of-the-art, high-performance HTTP accelerator"
+HOMEPAGE="http://www.varnish-cache.org/"
+SRC_URI="http://repo.varnish-cache.org/source/${P}.tar.gz"
+
+LICENSE="BSD-2 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~x86"
+IUSE="doc jemalloc jit static-libs +tools"
+
+CDEPEND="
+ || ( dev-libs/libedit sys-libs/readline )
+ dev-libs/libpcre[jit?]
+ jemalloc? ( dev-libs/jemalloc )
+ tools? ( sys-libs/ncurses )"
+
+#varnish compiles stuff at run time
+RDEPEND="
+ ${CDEPEND}
+ sys-devel/gcc"
+
+DEPEND="
+ ${CDEPEND}
+ virtual/pkgconfig"
+
+RESTRICT="test" #315725
+
+DOCS=( README doc/changes.rst )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.0.4-fix-automake-1.13.patch
+ "${FILESDIR}"/${PN}-3.0.4-automagic.patch
+ "${FILESDIR}"/${PN}-3.0.3-pthread-uclibc.patch
+)
+
+AUTOTOOLS_AUTORECONF="yes"
+
+src_prepare() {
+ # Remove bundled libjemalloc. We also fix
+ # automagic dep in our patches, bug #461638
+ rm -rf lib/libjemalloc
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ $(use_enable jit pcre-jit )
+ $(use_with jemalloc)
+ $(use_with tools)
+ --without-rst2man
+ --without-rst2html
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ newinitd "${FILESDIR}"/varnishd.initd-r1 varnishd
+ newconfd "${FILESDIR}"/varnishd.confd-r1 varnishd
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/varnishd.logrotate" varnishd
+
+ dodir /var/log/varnish
+
+ use doc && dohtml -r "doc/sphinx/=build/html/"
+}
+
+pkg_postinst () {
+ elog "No demo-/sample-configfile is included in the distribution. Please"
+ elog "read the man-page for more info. A sample configuration proxying"
+ elog "localhost:8080 for localhost:80 is given in /etc/conf.d/varnishd."
+}