diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2013-07-08 22:11:35 +0000 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2013-07-08 22:11:35 +0000 |
commit | 2bc07965552a55989c5cc96af48f6ef74f74a159 (patch) | |
tree | 97f9d95daad13ca67336801c7f3275befe2a6971 /www-servers | |
parent | Version bump with poppler:= by Dominik Kriegner (bug 471480). (diff) | |
download | gentoo-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')
-rw-r--r-- | www-servers/varnish/ChangeLog | 8 | ||||
-rw-r--r-- | www-servers/varnish/files/varnishd.confd-r1 | 22 | ||||
-rwxr-xr-x | www-servers/varnish/files/varnishd.initd-r1 | 87 | ||||
-rw-r--r-- | www-servers/varnish/varnish-3.0.4-r1.ebuild | 83 |
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." +} |