diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /www-servers/varnish/files | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'www-servers/varnish/files')
23 files changed, 721 insertions, 0 deletions
diff --git a/www-servers/varnish/files/varnish-3.0.3-pthread-uclibc.patch b/www-servers/varnish/files/varnish-3.0.3-pthread-uclibc.patch new file mode 100644 index 000000000000..93f3da3f878e --- /dev/null +++ b/www-servers/varnish/files/varnish-3.0.3-pthread-uclibc.patch @@ -0,0 +1,35 @@ +Refine header check in bin/varnishd/mgt/mgt.h, mgt_main.c for uClibc + +Because of the difference in how uClibc and glibc stack their header +files, stdio.h indirectly brings in PTHREAD_CANCELED from pthread.h +on a uClibc system, whereas it does not on a glibc system. This happens +in mgt.h and mgt_main.c. This patch refines the check in those files +to take this fact into consideration. + +X-Gentoo-Bug-URL: https://bugs.gentoo.org/444294 +--- + +diff --git a/bin/varnishd/mgt.h b/bin/varnishd/mgt.h +index 905fbcc..5d3ab09 100644 +--- a/bin/varnishd/mgt.h ++++ b/bin/varnishd/mgt.h +@@ -126,6 +126,6 @@ extern unsigned mgt_vcc_unsafe_path; + syslog(pri, fmt, __VA_ARGS__); \ + } while (0) + +-#if defined(PTHREAD_CANCELED) || defined(PTHREAD_MUTEX_DEFAULT) ++#if (defined(PTHREAD_CANCELED) && !defined(__UCLIBC__)) || defined(PTHREAD_MUTEX_DEFAULT) + #error "Keep pthreads out of in manager process" + #endif +diff --git a/bin/varnishd/varnishd.c b/bin/varnishd/varnishd.c +index 1b7f1e3..dce42d9 100644 +--- a/bin/varnishd/varnishd.c ++++ b/bin/varnishd/varnishd.c +@@ -656,6 +656,6 @@ main(int argc, char * const *argv) + exit(exit_status); + } + +-#if defined(PTHREAD_CANCELED) || defined(PTHREAD_MUTEX_DEFAULT) ++#if (defined(PTHREAD_CANCELED) && !defined(__UCLIBC__)) || defined(PTHREAD_MUTEX_DEFAULT) + #error "Keep pthreads out of in manager process" + #endif diff --git a/www-servers/varnish/files/varnish-3.0.4-automagic.patch b/www-servers/varnish/files/varnish-3.0.4-automagic.patch new file mode 100644 index 000000000000..6a517cc9efeb --- /dev/null +++ b/www-servers/varnish/files/varnish-3.0.4-automagic.patch @@ -0,0 +1,94 @@ +diff -Naur varnish-3.0.4.orig/configure.ac varnish-3.0.4/configure.ac +--- varnish-3.0.4.orig/configure.ac 2013-06-14 04:39:32.000000000 -0400 ++++ varnish-3.0.4/configure.ac 2013-06-15 23:51:51.000000000 -0400 +@@ -87,15 +87,20 @@ + + save_LIBS="${LIBS}" + LIBS="" +-AC_SEARCH_LIBS(initscr, [curses ncurses], +- [have_curses=yes], [have_curses=no]) +-CURSES_LIBS="${LIBS}" +-LIBS="${save_LIBS}" +-AC_SUBST(CURSES_LIBS) +-if test "$have_curses" = no; then +- AC_MSG_WARN([curses not found; some tools will not be built]) +-fi +-AC_CHECK_HEADERS([ncurses/curses.h curses.h]) ++AC_ARG_WITH([tools], AS_HELP_STRING([--without-tools], ++ [Don't build additional tools: varnishhist, varnishstat, varnishtop, varnishsizes (default: test)])) ++ ++AS_IF([test "x$with_tools" != "xno"], [ ++ AC_SEARCH_LIBS(initscr, [curses ncurses], ++ [have_curses=yes], [have_curses=no]) ++ CURSES_LIBS="${LIBS}" ++ LIBS="${save_LIBS}" ++ AC_SUBST(CURSES_LIBS) ++ if test "$have_curses" = no; then ++ AC_MSG_ERROR([curses not found, required to build additional tools]) ++ fi ++ AC_CHECK_HEADERS([ncurses/curses.h curses.h]) ++]) + AM_CONDITIONAL([HAVE_CURSES], [test x$have_curses = xyes]) + + save_LIBS="${LIBS}" +@@ -266,7 +271,6 @@ + CFLAGS="${save_CFLAGS}" + + # Use jemalloc on Linux +-JEMALLOC_SUBDIR= + JEMALLOC_LDADD= + AC_ARG_WITH([jemalloc], + [AS_HELP_STRING([--with-jemalloc], +@@ -274,18 +278,13 @@ + [], + [with_jemalloc=check]) + +-case $target in +- *-*-linux*) +- if test "x$with_jemalloc" != xno; then +- AC_CHECK_LIB([jemalloc], [malloc_conf], ++if test "x$with_jemalloc" != xno; then ++ AC_CHECK_LIB([jemalloc], [malloc_conf], ++ [JEMALLOC_LDADD="-ljemalloc"], ++ [AC_CHECK_LIB([jemalloc], [jmalloc_conf], + [JEMALLOC_LDADD="-ljemalloc"], +- [AC_MSG_NOTICE([No system jemalloc found, using bundled version]) +- JEMALLOC_SUBDIR=libjemalloc +- JEMALLOC_LDADD='$(top_builddir)/lib/libjemalloc/libjemalloc_mt.la']) +- fi +- ;; +-esac +-AC_SUBST(JEMALLOC_SUBDIR) ++ [AC_MSG_ERROR([No system jemalloc found])])]) ++fi + AC_SUBST(JEMALLOC_LDADD) + + # Userland slab allocator, available only on Solaris +@@ -588,7 +587,6 @@ + lib/libvcl/Makefile + lib/libvgz/Makefile + lib/libvmod_std/Makefile +- lib/libjemalloc/Makefile + man/Makefile + redhat/Makefile + varnishapi.pc +--- varnish-3.0.4.orig/lib/Makefile.am 2013-06-14 04:39:32.000000000 -0400 ++++ varnish-3.0.4/lib/Makefile.am 2013-06-15 23:51:08.000000000 -0400 +@@ -6,14 +6,12 @@ + libvarnishapi \ + libvcl \ + libvgz \ +- libvmod_std \ +- @JEMALLOC_SUBDIR@ ++ libvmod_std + +-DIST_SUBDIRS = \ ++DIST_SUBDIRS = \ + libvarnishcompat \ + libvarnish \ + libvarnishapi \ + libvcl \ + libvgz \ +- libvmod_std \ +- libjemalloc ++ libvmod_std diff --git a/www-servers/varnish/files/varnish-3.0.4-fix-automake-1.13.patch b/www-servers/varnish/files/varnish-3.0.4-fix-automake-1.13.patch new file mode 100644 index 000000000000..0034c8071393 --- /dev/null +++ b/www-servers/varnish/files/varnish-3.0.4-fix-automake-1.13.patch @@ -0,0 +1,12 @@ +diff -Naur varnish-3.0.4.orig/configure.ac varnish-3.0.4/configure.ac +--- varnish-3.0.4.orig/configure.ac 2013-06-14 04:39:32.000000000 -0400 ++++ varnish-3.0.4/configure.ac 2013-06-21 08:48:32.000000000 -0400 +@@ -4,7 +4,7 @@ + AC_REVISION([$Id: varnish-3.0.4-fix-automake-1.13.patch,v 1.1 2013/06/21 12:51:35 blueness Exp $]) + AC_INIT([Varnish], [3.0.4], [varnish-dev@varnish-cache.org]) + AC_CONFIG_SRCDIR(include/varnishapi.h) +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADERS(config.h) + + # save command line CFLAGS for use in VCC_CC (to pass through things like -m64) + OCFLAGS="$CFLAGS" diff --git a/www-servers/varnish/files/varnish-3.0.5-fix-python-path.patch b/www-servers/varnish/files/varnish-3.0.5-fix-python-path.patch new file mode 100644 index 000000000000..4c927e364a61 --- /dev/null +++ b/www-servers/varnish/files/varnish-3.0.5-fix-python-path.patch @@ -0,0 +1,9 @@ +diff -Naur varnish-3.0.5.orig/lib/libvmod_std/vmod.py varnish-3.0.5/lib/libvmod_std/vmod.py +--- varnish-3.0.5.orig/lib/libvmod_std/vmod.py 2013-12-02 02:47:57.000000000 -0500 ++++ varnish-3.0.5/lib/libvmod_std/vmod.py 2014-01-16 13:21:50.763238020 -0500 +@@ -1,4 +1,4 @@ +-#!/usr/local/bin/python ++#!/usr/bin/python + #- + # Copyright (c) 2010-2011 Varnish Software AS + # All rights reserved. diff --git a/www-servers/varnish/files/varnish-3.0.5-path-to-vmod_vcc.patch b/www-servers/varnish/files/varnish-3.0.5-path-to-vmod_vcc.patch new file mode 100644 index 000000000000..479e007938ba --- /dev/null +++ b/www-servers/varnish/files/varnish-3.0.5-path-to-vmod_vcc.patch @@ -0,0 +1,12 @@ +diff -Naur varnish-3.0.5.orig/lib/libvmod_std/vmod.py varnish-3.0.5/lib/libvmod_std/vmod.py +--- varnish-3.0.5.orig/lib/libvmod_std/vmod.py 2014-01-16 13:33:02.983247069 -0500 ++++ varnish-3.0.5/lib/libvmod_std/vmod.py 2014-01-16 13:42:36.848254794 -0500 +@@ -43,7 +43,7 @@ + if len(sys.argv) == 2: + specfile = sys.argv[1] + else: +- specfile = "vmod.vcc" ++ specfile = "/etc/varnish/vmod.vcc" + + ctypes = { + 'IP': "struct sockaddr_storage *", diff --git a/www-servers/varnish/files/varnish-4.0.0-fix-man-Makefile_am.patch b/www-servers/varnish/files/varnish-4.0.0-fix-man-Makefile_am.patch new file mode 100644 index 000000000000..311f0fd7c956 --- /dev/null +++ b/www-servers/varnish/files/varnish-4.0.0-fix-man-Makefile_am.patch @@ -0,0 +1,14 @@ +diff -Naur varnish-4.0.0.orig/man/Makefile.am varnish-4.0.0/man/Makefile.am +--- varnish-4.0.0.orig/man/Makefile.am 2014-04-12 18:25:35.435043191 -0400 ++++ varnish-4.0.0/man/Makefile.am 2014-04-12 18:25:58.579043997 -0400 +@@ -84,8 +84,8 @@ + $(top_srcdir)/doc/sphinx/include/varnishhist_synopsis.rst + ${RST2MAN} $(top_srcdir)/doc/sphinx/reference/varnishhist.rst $@ + +-vmod_std.3: $(top_srcdir)/lib/libvmod_std/vmod_std.man.rst ++vmod_std.3: $(top_builddir)/lib/libvmod_std/vmod_std.man.rst + ${RST2MAN} $? $@ + +-vmod_directors.3: $(top_srcdir)/lib/libvmod_directors/vmod_directors.man.rst ++vmod_directors.3: $(top_builddir)/lib/libvmod_directors/vmod_directors.man.rst + ${RST2MAN} $? $@ diff --git a/www-servers/varnish/files/varnish-4.0.1-fix-doc-Makefile_am.patch b/www-servers/varnish/files/varnish-4.0.1-fix-doc-Makefile_am.patch new file mode 100644 index 000000000000..57885c6488ea --- /dev/null +++ b/www-servers/varnish/files/varnish-4.0.1-fix-doc-Makefile_am.patch @@ -0,0 +1,14 @@ +diff -Naur varnish-4.0.1.orig/man/Makefile.am varnish-4.0.1/man/Makefile.am +--- varnish-4.0.1.orig/man/Makefile.am 2014-06-23 09:43:06.000000000 -0400 ++++ varnish-4.0.1/man/Makefile.am 2014-06-25 08:40:43.498765372 -0400 +@@ -86,8 +86,8 @@ + $(top_srcdir)/doc/sphinx/include/varnishhist_synopsis.rst + ${RST2MAN} $(RST2ANY_FLAGS) $(top_srcdir)/doc/sphinx/reference/varnishhist.rst $@ + +-vmod_std.3: $(top_srcdir)/lib/libvmod_std/vmod_std.man.rst ++vmod_std.3: $(top_builddir)/lib/libvmod_std/vmod_std.man.rst + ${RST2MAN} $(RST2ANY_FLAGS) $? $@ + +-vmod_directors.3: $(top_srcdir)/lib/libvmod_directors/vmod_directors.man.rst ++vmod_directors.3: $(top_builddir)/lib/libvmod_directors/vmod_directors.man.rst + ${RST2MAN} $(RST2ANY_FLAGS) $? $@ diff --git a/www-servers/varnish/files/varnish-4.0.1-fix-man-Makefile_am.patch b/www-servers/varnish/files/varnish-4.0.1-fix-man-Makefile_am.patch new file mode 100644 index 000000000000..c65fba2391e0 --- /dev/null +++ b/www-servers/varnish/files/varnish-4.0.1-fix-man-Makefile_am.patch @@ -0,0 +1,19 @@ +diff -Naur varnish-4.0.1.orig/doc/sphinx/Makefile.am varnish-4.0.1/doc/sphinx/Makefile.am +--- varnish-4.0.1.orig/doc/sphinx/Makefile.am 2014-06-23 09:43:06.000000000 -0400 ++++ varnish-4.0.1/doc/sphinx/Makefile.am 2014-06-25 08:35:11.887750279 -0400 +@@ -144,11 +144,13 @@ + BUILT_SOURCES += include/varnishhist_options.rst \ + include/varnishhist_synopsis.rst + +-reference/vmod_std.generated.rst: $(top_srcdir)/lib/libvmod_std/vmod_std.rst ++reference/vmod_std.generated.rst: $(top_builddir)/lib/libvmod_std/vmod_std.rst ++ mkdir -p reference + cp $? $@ + BUILT_SOURCES += reference/vmod_std.generated.rst + +-reference/vmod_directors.generated.rst: $(top_srcdir)/lib/libvmod_directors/vmod_directors.rst ++reference/vmod_directors.generated.rst: $(top_builddir)/lib/libvmod_directors/vmod_directors.rst ++ mkdir -p reference + cp $? $@ + BUILT_SOURCES += reference/vmod_directors.generated.rst + diff --git a/www-servers/varnish/files/varnish-4.0.1-fix-warning.patch b/www-servers/varnish/files/varnish-4.0.1-fix-warning.patch new file mode 100644 index 000000000000..ae327292fb7c --- /dev/null +++ b/www-servers/varnish/files/varnish-4.0.1-fix-warning.patch @@ -0,0 +1,12 @@ +diff -Naur /root/varnish-4.0.1/lib/libvcc/vcc_expr.c varnish-4.0.1/lib/libvcc/vcc_expr.c +--- /root/varnish-4.0.1/lib/libvcc/vcc_expr.c 2014-06-25 07:06:42.550508615 -0400 ++++ varnish-4.0.1/lib/libvcc/vcc_expr.c 2014-06-23 09:43:06.000000000 -0400 +@@ -670,7 +670,7 @@ + struct expr *e1, *e2; + const char *ip; + const struct symbol *sym; +- double d; ++ double d = 0.0; + + *e = NULL; + if (tl->t->tok == '(') { 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.confd-r2 b/www-servers/varnish/files/varnishd.confd-r2 new file mode 100644 index 000000000000..699bc8e57d69 --- /dev/null +++ b/www-servers/varnish/files/varnishd.confd-r2 @@ -0,0 +1,26 @@ +# /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 varnishncsa(1) for more options +VARNISHNCSA_ARGS="-c -a -w /var/log/varnish/access.log" + +# Arguments passed to varnishncsa -F option +# Please see varnishncsa(1) for more options +# VARNISHNCSA_LOGFORMAT='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-agent}i"' + +# 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.confd-r3 b/www-servers/varnish/files/varnishd.confd-r3 new file mode 100644 index 000000000000..c05b8fb7521c --- /dev/null +++ b/www-servers/varnish/files/varnishd.confd-r3 @@ -0,0 +1,22 @@ +# /etc/conf.d/varnishd + +VARNISHD="/usr/sbin/varnishd" +VARNISHADM="/usr/bin/varnishadm" + +#CONFIGFILES="/etc/varnish/${SVCNAME}.vcl" +CONFIGFILE="/etc/varnish/default.vcl" + +# Listen on 127.0.0.1:8080 and connect to backend 127.0.0.1:80 +#VARNISHD_OPTS="-a 127.0.0.1:8080 -a 127.0.0.1:8080" + +# Alternatively, don't listen to a backend +VARNISHD_OPTS="-a 127.0.0.1:8080" + + +# User/Group +VARNISHD_OPTS="${VARNISHD_OPTS} -u varnish -g varnish" + +# You may 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..54487ca6e9eb --- /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 +# $Id$ + +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/files/varnishd.initd-r2 b/www-servers/varnish/files/varnishd.initd-r2 new file mode 100755 index 000000000000..055a9ec0405a --- /dev/null +++ b/www-servers/varnish/files/varnishd.initd-r2 @@ -0,0 +1,94 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 /run/varnishd.pid \ + --exec ${VARNISHD} -- \ + -P /run/varnishd.pid \ + ${VARNISHD_OPTS} &> /dev/null + eend $? + + if [ "${VARNISHNCSA_ARGS}" != "" ]; then + ebegin "Starting varnish logging" + start-stop-daemon --quiet --start --pidfile /run/varnishncsa.pid \ + --exec /usr/bin/varnishncsa -- \ + -D -P /run/varnishncsa.pid \ + ${VARNISHNCSA_ARGS} \ + ${VARNISHNCSA_LOGFORMAT:+-F "${VARNISHNCSA_LOGFORMAT}"} + eend $? + fi +} + +stop() { + ebegin "Stopping varnish" + start-stop-daemon --quiet --stop --pidfile /run/varnishd.pid + eend $? + + if [ -e /run/varnishncsa.pid ]; then + ebegin "Stopping varnish logging" + start-stop-daemon --quiet --stop --pidfile /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/files/varnishd.initd-r3 b/www-servers/varnish/files/varnishd.initd-r3 new file mode 100644 index 000000000000..4a7dcb9d0ad8 --- /dev/null +++ b/www-servers/varnish/files/varnishd.initd-r3 @@ -0,0 +1,78 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +VARNISHD_PID=${VARNISHD_PID:-/run/${SVCNAME}.pid} +CONFIGFILES="${CONFIGFILE:-/etc/varnish/default.vcl}" + +command="${VARNISHD:-/usr/sbin/varnishd}" +command_args="-P ${VARNISHD_PID} -f ${CONFIGFILE} ${VARNISHD_OPTS}" +pidfile="${VARNISHD_PID}" + +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_pre() { + checkconfig || return 1 +} + +stop_pre() { + if [ "${RC_CMD}" = "restart" ]; then + checkconfig || return 1 + 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/files/varnishd.logrotate b/www-servers/varnish/files/varnishd.logrotate new file mode 100644 index 000000000000..62ee60007a2d --- /dev/null +++ b/www-servers/varnish/files/varnishd.logrotate @@ -0,0 +1,9 @@ +/var/log/varnish/*.log { + weekly + rotate 10 + copytruncate + delaycompress + compress + notifempty + missingok +} diff --git a/www-servers/varnish/files/varnishd.logrotate-r2 b/www-servers/varnish/files/varnishd.logrotate-r2 new file mode 100644 index 000000000000..e697e428f3dd --- /dev/null +++ b/www-servers/varnish/files/varnishd.logrotate-r2 @@ -0,0 +1,31 @@ +/var/log/varnish/varnishncsa.log { + daily + rotate 31 + copytruncate + dateext + dateyesterday + delaycompress + compress + notifempty + missingok + + prerotate + /etc/init.d/varnishncsa -q status && /etc/init.d/varnishncsa -q flush + endscript +} + +/var/log/varnish/varnishlog.log { + daily + rotate 31 + copytruncate + dateext + dateyesterday + delaycompress + compress + notifempty + missingok + + prerotate + /etc/init.d/varnishlog -q status && /etc/init.d/varnishlog -q flush + endscript +} diff --git a/www-servers/varnish/files/varnishd.service b/www-servers/varnish/files/varnishd.service new file mode 100644 index 000000000000..a45f1e247839 --- /dev/null +++ b/www-servers/varnish/files/varnishd.service @@ -0,0 +1,16 @@ +[Unit] +Description=Varnish is a high-performance HTTP accelerator +After=network.target + +[Service] +Type=forking +LimitNOFILE=32786 +LimitMEMLOCK=82000 +PIDFile=/var/run/varnishd.pid +ExecStart=/usr/sbin/varnishd -a 0.0.0.0:80 -P /var/run/varnishd.pid + +#If you wish to use a config file, then use the following ExecStart line +#ExecStart=/usr/sbin/varnishd -a 0.0.0.0:80 -f /etc/varnish/default.vcl -P /var/run/varnishd.pid + +[Install] +WantedBy=multi-user.target diff --git a/www-servers/varnish/files/varnishlog.confd b/www-servers/varnish/files/varnishlog.confd new file mode 100644 index 000000000000..d7358b1dc898 --- /dev/null +++ b/www-servers/varnish/files/varnishlog.confd @@ -0,0 +1,3 @@ +# /etc/conf.d/varnishlog + +VARNISHLOG_OPTS="-a -w /var/log/varnish/varnishlog.log" diff --git a/www-servers/varnish/files/varnishlog.initd b/www-servers/varnish/files/varnishlog.initd new file mode 100644 index 000000000000..fae8297743fe --- /dev/null +++ b/www-servers/varnish/files/varnishlog.initd @@ -0,0 +1,32 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +VARNISHLOG_PID=${VARNISHLOG_PID:-/run/${SVCNAME}.pid} + +command="${VARNISHLOG:-/usr/bin/varnishlog}" +command_args="-D -P ${VARNISHLOG_PID} ${VARNISHLOG_OPTS}" +pidfile="${VARNISHLOG_PID}" + +extra_started_commands="reload rotate flush" + +description_rotate="Rotate the log file" +description_flush="Flush any outstanding transactions" + +rotate() { + ebegin "Rotating log file" + start-stop-daemon -p ${VARNISHLOG_PID} -s SIGHUP + eend $? +} + +flush() { + ebegin "Flushing any outstanding transactions" + start-stop-daemon -p ${VARNISHLOG_PID} -s SIGUSR1 + eend $? +} + +reload() { + flush + rotate +} diff --git a/www-servers/varnish/files/varnishncsa.confd b/www-servers/varnish/files/varnishncsa.confd new file mode 100644 index 000000000000..f3112fdd532a --- /dev/null +++ b/www-servers/varnish/files/varnishncsa.confd @@ -0,0 +1,3 @@ +# /etc/conf.d/varnishncsa + +VARNISHNCSA_OPTS="-a -w /var/log/varnish/${SVCNAME}.log" diff --git a/www-servers/varnish/files/varnishncsa.initd b/www-servers/varnish/files/varnishncsa.initd new file mode 100644 index 000000000000..7b38397670d0 --- /dev/null +++ b/www-servers/varnish/files/varnishncsa.initd @@ -0,0 +1,32 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +VARNISHNCSA_PID=${VARNISHNCSA_PID:-/run/${SVCNAME}.pid} + +command="${VARNISHNCSA:-/usr/bin/varnishncsa}" +command_args="-D -P ${VARNISHNCSA_PID} ${VARNISHNCSA_OPTS}" +pidfile="${VARNISHNCSA_PID}" + +extra_started_commands="reload rotate flush" + +description_rotate="Rotate the log file" +description_flush="Flush any outstanding transactions" + +rotate() { + ebegin "Rotating log file" + start-stop-daemon -p ${VARNISHNCSA_PID} -s SIGHUP + eend $? +} + +flush() { + ebegin "Flushing any outstanding transactions" + start-stop-daemon -p ${VARNISHNCSA_PID} -s SIGUSR1 + eend $? +} + +reload() { + flush + rotate +} diff --git a/www-servers/varnish/files/varnishncsa.initd-r1 b/www-servers/varnish/files/varnishncsa.initd-r1 new file mode 100644 index 000000000000..e06a5945afb4 --- /dev/null +++ b/www-servers/varnish/files/varnishncsa.initd-r1 @@ -0,0 +1,45 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +VARNISHNCSA_PID=${VARNISHNCSA_PID:-/run/${SVCNAME}.pid} + +command="${VARNISHNCSA:-/usr/bin/varnishncsa}" +command_args="-D -P ${VARNISHNCSA_PID} ${VARNISHNCSA_OPTS}" +pidfile="${VARNISHNCSA_PID}" + +extra_started_commands="reload rotate flush" + +description_rotate="Rotate the log file" +description_flush="Flush any outstanding transactions" + +# We need to make sure varnishd has started first, bug #524284 +start_pre() { + TIMEOUT=${TIMEOUT:-5} + + local i=0 + while [ $i -lt ${TIMEOUT} ]; do + echo status | varnishadm 2>/dev/null | grep -q "Child in state running" + test $? -eq 0 && break + + sleep 1 && i=$(expr $i + 1) + done +} + +rotate() { + ebegin "Rotating log file" + start-stop-daemon -p ${VARNISHNCSA_PID} -s SIGHUP + eend $? +} + +flush() { + ebegin "Flushing any outstanding transactions" + start-stop-daemon -p ${VARNISHNCSA_PID} -s SIGUSR1 + eend $? +} + +reload() { + flush + rotate +} |