svn commit: r424707 - in head: Mk Mk/Uses www/varnish-libvmod-digest www/varnish-libvmod-maxminddb www/varnish-modules www/varnish-modules/files www/varnish-nagios www/varnish-nagios/files
Mark Felder
feld at FreeBSD.org
Wed Oct 26 14:15:41 UTC 2016
Author: feld
Date: Wed Oct 26 14:15:38 2016
New Revision: 424707
URL: https://svnweb.freebsd.org/changeset/ports/424707
Log:
Introduce USES=varnish
You can now set the default version of Varnish with DEFAULT_VERSIONS to
build Varnish and its modules against your desired Varnish release
train.
The default version of Varnish throughout the ports tree will remain as
www/varnish4 until at least 2017Q1 when it will be changed in HEAD to be
www/varnish5. This should allow plenty of time for migration and for
stabilization of the changes in Varnish 5.x.
Submitted by: vanilla
Added:
head/Mk/Uses/varnish.mk (contents, props changed)
head/www/varnish-modules/files/patch-configure.ac (contents, props changed)
head/www/varnish-modules/files/patch-m4_ax__pthread.m4 (contents, props changed)
head/www/varnish-modules/files/patch-src_vmod__softpurge.c (contents, props changed)
head/www/varnish-modules/files/patch-src_vmod__xkey.c (contents, props changed)
head/www/varnish-nagios/files/patch-check__varnish.c (contents, props changed)
Modified:
head/Mk/bsd.default-versions.mk
head/www/varnish-libvmod-digest/Makefile
head/www/varnish-libvmod-maxminddb/Makefile
head/www/varnish-modules/Makefile
head/www/varnish-modules/files/patch-src_Makefile.am
head/www/varnish-nagios/Makefile
Added: head/Mk/Uses/varnish.mk
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/Mk/Uses/varnish.mk Wed Oct 26 14:15:38 2016 (r424707)
@@ -0,0 +1,30 @@
+# $FreeBSD$
+#
+# Provide support for Varnish
+#
+# Feature: varnish
+# Usage: USES=varnish
+# Valid ARGS: 4, 5, run
+#
+# MAINTAINER: ports at FreeBSD.org
+
+.if !defined(_INCLUDE_USES_VARNISH_MK)
+_INCLUDE_USES_VARNISH_MK= yes
+
+VARNISH_VERSION= ${VARNISH_DEFAULT}
+
+. if ${varnish_ARGS:M4}
+VARNISH_VERSION= 4
+. elif ${varnish_ARGS:M5}
+VARNISH_VERSION= 5
+. elif defined(VARNISH_DEFAULT)
+. endif
+
+RUN_DEPENDS+= varnish${VARNISH_VERSION}>=${VARNISH_VERSION}:www/varnish${VARNISH_VERSION}
+BUILD_DEPENDS+= varnish${VARNISH_VERSION}>=${VARNISH_VERSION}:www/varnish${VARNISH_VERSION}
+
+CFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/varnish
+CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/varnish
+LIBS+= -L${LOCALBASE}/lib
+
+.endif
Modified: head/Mk/bsd.default-versions.mk
==============================================================================
--- head/Mk/bsd.default-versions.mk Wed Oct 26 14:07:21 2016 (r424706)
+++ head/Mk/bsd.default-versions.mk Wed Oct 26 14:15:38 2016 (r424707)
@@ -130,6 +130,9 @@ SSL_DEFAULT?= base
# Possible values: 8.4, 8.5, 8.6
TCLTK_DEFAULT?= 8.6
+# Possible values: 4, 5
+VARNISH_DEFAULT?= 4
+
# Version of lang/gcc. Do not override!
LANG_GCC_IS= 4.8
Modified: head/www/varnish-libvmod-digest/Makefile
==============================================================================
--- head/www/varnish-libvmod-digest/Makefile Wed Oct 26 14:07:21 2016 (r424706)
+++ head/www/varnish-libvmod-digest/Makefile Wed Oct 26 14:15:38 2016 (r424707)
@@ -12,17 +12,12 @@ COMMENT= Varnish Module (vmod) for compu
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= varnish4>=4.1.0:www/varnish4 \
- rst2man:textproc/py-docutils
+BUILD_DEPENDS= rst2man:textproc/py-docutils
LIB_DEPENDS= libmhash.so:security/mhash
-RUN_DEPENDS= varnish4>=4.1.0:www/varnish4
-USES= autoreconf gmake libtool pkgconfig python:2,build
+USES= autoreconf gmake libtool pkgconfig python:2,build varnish
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-static
-CFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/varnish
-CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/varnish
-LDFLAGS+= -L${LOCALBASE}/lib
INSTALL_TARGET= install-strip
USE_GITHUB= yes
Modified: head/www/varnish-libvmod-maxminddb/Makefile
==============================================================================
--- head/www/varnish-libvmod-maxminddb/Makefile Wed Oct 26 14:07:21 2016 (r424706)
+++ head/www/varnish-libvmod-maxminddb/Makefile Wed Oct 26 14:15:38 2016 (r424707)
@@ -10,19 +10,13 @@ COMMENT= Varnish Module (vmod) for acces
LICENSE= BSD2CLAUSE
-BUILD_DEPENDS= varnish4>=4.1.0:www/varnish4 \
- rst2man:textproc/py-docutils
+BUILD_DEPENDS= rst2man:textproc/py-docutils
LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb
-RUN_DEPENDS= varnish4>=4.1.0:www/varnish4
-
-USES= autoreconf gmake libtool pkgconfig python:2,build
+USES= autoreconf gmake libtool pkgconfig python:2,build varnish
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-static
-CFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/varnish
-CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/varnish
-LDFLAGS+= -L${LOCALBASE}/lib
INSTALL_TARGET= install-strip
USE_GITHUB= yes
Modified: head/www/varnish-modules/Makefile
==============================================================================
--- head/www/varnish-modules/Makefile Wed Oct 26 14:07:21 2016 (r424706)
+++ head/www/varnish-modules/Makefile Wed Oct 26 14:15:38 2016 (r424707)
@@ -4,6 +4,7 @@
PORTNAME= varnish-modules
DISTVERSIONPREFIX= varnish-modules-
DISTVERSION= 0.9.1
+PORTREVISION= 1
CATEGORIES= www
MAINTAINER= feld at FreeBSD.org
@@ -11,14 +12,11 @@ COMMENT= Collection of Varnish Cache mod
LICENSE= BSD2CLAUSE
-BUILD_DEPENDS= varnish4>=4.1.0:www/varnish4 \
- rst2man:textproc/py-docutils
+BUILD_DEPENDS= rst2man:textproc/py-docutils
-USES= autoreconf:build gmake libtool pkgconfig python:2,build
+USES= autoreconf:build gmake libtool pkgconfig python:2,build varnish
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-static
-CFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/varnish
-CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/varnish
INSTALL_TARGET= install-strip
USE_GITHUB= yes
Added: head/www/varnish-modules/files/patch-configure.ac
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/varnish-modules/files/patch-configure.ac Wed Oct 26 14:15:38 2016 (r424707)
@@ -0,0 +1,50 @@
+--- configure.ac.orig 2016-10-26 08:05:08 UTC
++++ configure.ac
+@@ -2,6 +2,7 @@ AC_PREREQ(2.59)
+ AC_COPYRIGHT([Copyright (c) 2016 Varnish Software Group])
+ AC_INIT([varnish-modules], [0.9.1])
+ AC_CONFIG_MACRO_DIR([m4])
++AC_CONFIG_AUX_DIR([build-aux])
+ m4_ifndef([VARNISH_VMOD_INCLUDES], AC_MSG_ERROR([Need varnish.m4 -- see README.rst]))
+ AM_CONFIG_HEADER(config.h)
+
+@@ -18,6 +19,13 @@ if test "x$ac_cv_prog_cc_c99" = xno; the
+ fi
+ AC_PROG_CPP
+
++AX_PTHREAD(,[AC_MSG_ERROR([Could not configure pthreads support])])
++
++LIBS="$PTHREAD_LIBS $LIBS"
++CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++CC="$PTHREAD_CC"
++
++LT_INIT([disable-static])
+ AC_PROG_INSTALL
+ AC_PROG_LIBTOOL
+ AC_PROG_MAKE_SET
+@@ -52,6 +60,7 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl
+ ])
+
+ PKG_CHECK_MODULES([libvarnishapi], [varnishapi])
++PKG_CHECK_VAR([LIBVARNISHAPI_PREFIX], [varnishapi], [prefix])
+ PKG_CHECK_VAR([LIBVARNISHAPI_DATAROOTDIR], [varnishapi], [datarootdir])
+ PKG_CHECK_VAR([LIBVARNISHAPI_BINDIR], [varnishapi], [bindir])
+ PKG_CHECK_VAR([LIBVARNISHAPI_SBINDIR], [varnishapi], [sbindir])
+@@ -68,6 +77,17 @@ PKG_CHECK_VAR([VARNISH_PLUS], [varnishap
+ VARNISH_VMOD_INCLUDES
+ VARNISH_VMOD_DIR
+ VARNISH_VMODTOOL
++# inherit the prefix from Varnish.
++# acessing ac_ variable because AC_PREFIX_DEFAULT acts too early
++ac_default_prefix=$LIBVARNISHAPI_PREFIX
++
++save_CFLAGS="$CFLAGS"
++CFLAGS="$VMOD_INCLUDES"
++AC_CHECK_MEMBERS(struct objcore.exp,
++ [AC_DEFINE([HAVE_OBJCORE_EXP], [1],
++ [Define if exp is present in the objcore struct])],
++ [], [#include <cache/cache.h>])
++CFLAGS="$save_CFLAGS"
+
+ AC_PATH_PROG([VARNISHTEST], [varnishtest], [],
+ [$LIBVARNISHAPI_BINDIR:$LIBVARNISHAPI_SBINDIR:$PATH])
Added: head/www/varnish-modules/files/patch-m4_ax__pthread.m4
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/varnish-modules/files/patch-m4_ax__pthread.m4 Wed Oct 26 14:15:38 2016 (r424707)
@@ -0,0 +1,286 @@
+--- m4/ax_pthread.m4.orig 2016-10-26 08:33:07 UTC
++++ m4/ax_pthread.m4
+@@ -0,0 +1,283 @@
++# ===========================================================================
++# http://www.gnu.org/software/autoconf-archive/ax_pthread.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++#
++# DESCRIPTION
++#
++# This macro figures out how to build C programs using POSIX threads. It
++# sets the PTHREAD_LIBS output variable to the threads library and linker
++# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
++# flags that are needed. (The user can also force certain compiler
++# flags/libs to be tested by setting these environment variables.)
++#
++# Also sets PTHREAD_CC to any special C compiler that is needed for
++# multi-threaded programs (defaults to the value of CC otherwise). (This
++# is necessary on AIX to use the special cc_r compiler alias.)
++#
++# NOTE: You are assumed to not only compile your program with these flags,
++# but also link it with them as well. e.g. you should link with
++# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
++#
++# If you are only building threads programs, you may wish to use these
++# variables in your default LIBS, CFLAGS, and CC:
++#
++# LIBS="$PTHREAD_LIBS $LIBS"
++# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++# CC="$PTHREAD_CC"
++#
++# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
++# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
++# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
++#
++# ACTION-IF-FOUND is a list of shell commands to run if a threads library
++# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
++# is not found. If ACTION-IF-FOUND is not specified, the default action
++# will define HAVE_PTHREAD.
++#
++# Please let the authors know if this macro fails on any platform, or if
++# you have any other suggestions or comments. This macro was based on work
++# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
++# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
++# Alejandro Forero Cuervo to the autoconf macro repository. We are also
++# grateful for the helpful feedback of numerous users.
++#
++# LICENSE
++#
++# Copyright (c) 2008 Steven G. Johnson <stevenj at alum.mit.edu>
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 7
++
++AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
++AC_DEFUN([AX_PTHREAD], [
++AC_REQUIRE([AC_CANONICAL_HOST])
++AC_LANG_SAVE
++AC_LANG_C
++ax_pthread_ok=no
++
++# We used to check for pthread.h first, but this fails if pthread.h
++# requires special compiler flags (e.g. on True64 or Sequent).
++# It gets checked for in the link test anyway.
++
++# First of all, check if the user has set any of the PTHREAD_LIBS,
++# etcetera environment variables, and if threads linking works using
++# them:
++if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
++ save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++ save_LIBS="$LIBS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
++ AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes)
++ AC_MSG_RESULT($ax_pthread_ok)
++ if test x"$ax_pthread_ok" = xno; then
++ PTHREAD_LIBS=""
++ PTHREAD_CFLAGS=""
++ fi
++ LIBS="$save_LIBS"
++ CFLAGS="$save_CFLAGS"
++fi
++
++# We must check for the threads library under a number of different
++# names; the ordering is very important because some systems
++# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
++# libraries is broken (non-POSIX).
++
++# Create a list of thread flags to try. Items starting with a "-" are
++# C compiler flags, and other items are library names, except for "none"
++# which indicates that we try without any flags at all, and "pthread-config"
++# which is a program returning the flags for the Pth emulation library.
++
++ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
++
++# The ordering *is* (sometimes) important. Some notes on the
++# individual items follow:
++
++# pthreads: AIX (must check this before -lpthread)
++# none: in case threads are in libc; should be tried before -Kthread and
++# other compiler flags to prevent continual compiler warnings
++# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
++# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
++# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
++# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
++# -pthreads: Solaris/gcc
++# -mthreads: Mingw32/gcc, Lynx/gcc
++# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
++# doesn't hurt to check since this sometimes defines pthreads too;
++# also defines -D_REENTRANT)
++# ... -mt is also the pthreads flag for HP/aCC
++# pthread: Linux, etcetera
++# --thread-safe: KAI C++
++# pthread-config: use pthread-config program (for GNU Pth library)
++
++case "${host_cpu}-${host_os}" in
++ *solaris*)
++
++ # On Solaris (at least, for some versions), libc contains stubbed
++ # (non-functional) versions of the pthreads routines, so link-based
++ # tests will erroneously succeed. (We need to link with -pthreads/-mt/
++ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
++ # a function called by this macro, so we could check for that, but
++ # who knows whether they'll stub that too in a future libc.) So,
++ # we'll just look for -pthreads and -lpthread first:
++
++ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
++ ;;
++
++ *-darwin*)
++ acx_pthread_flags="-pthread $acx_pthread_flags"
++ ;;
++esac
++
++if test x"$ax_pthread_ok" = xno; then
++for flag in $ax_pthread_flags; do
++
++ case $flag in
++ none)
++ AC_MSG_CHECKING([whether pthreads work without any flags])
++ ;;
++
++ -*)
++ AC_MSG_CHECKING([whether pthreads work with $flag])
++ PTHREAD_CFLAGS="$flag"
++ ;;
++
++ pthread-config)
++ AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no)
++ if test x"$ax_pthread_config" = xno; then continue; fi
++ PTHREAD_CFLAGS="`pthread-config --cflags`"
++ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
++ ;;
++
++ *)
++ AC_MSG_CHECKING([for the pthreads library -l$flag])
++ PTHREAD_LIBS="-l$flag"
++ ;;
++ esac
++
++ save_LIBS="$LIBS"
++ save_CFLAGS="$CFLAGS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++
++ # Check for various functions. We must include pthread.h,
++ # since some functions may be macros. (On the Sequent, we
++ # need a special flag -Kthread to make this header compile.)
++ # We check for pthread_join because it is in -lpthread on IRIX
++ # while pthread_create is in libc. We check for pthread_attr_init
++ # due to DEC craziness with -lpthreads. We check for
++ # pthread_cleanup_push because it is one of the few pthread
++ # functions on Solaris that doesn't have a non-functional libc stub.
++ # We try pthread_create on general principles.
++ AC_TRY_LINK([#include <pthread.h>
++ static void routine(void* a) {a=0;}
++ static void* start_routine(void* a) {return a;}],
++ [pthread_t th; pthread_attr_t attr;
++ pthread_join(th, 0);
++ pthread_attr_init(&attr);
++ pthread_cleanup_push(routine, 0);
++ pthread_create(&th,0,start_routine,0);
++ pthread_cleanup_pop(0); ],
++ [ax_pthread_ok=yes])
++
++ LIBS="$save_LIBS"
++ CFLAGS="$save_CFLAGS"
++
++ AC_MSG_RESULT($ax_pthread_ok)
++ if test "x$ax_pthread_ok" = xyes; then
++ break;
++ fi
++
++ PTHREAD_LIBS=""
++ PTHREAD_CFLAGS=""
++done
++fi
++
++# Various other checks:
++if test "x$ax_pthread_ok" = xyes; then
++ save_LIBS="$LIBS"
++ LIBS="$PTHREAD_LIBS $LIBS"
++ save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++
++ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
++ AC_MSG_CHECKING([for joinable pthread attribute])
++ attr_name=unknown
++ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
++ AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;],
++ [attr_name=$attr; break])
++ done
++ AC_MSG_RESULT($attr_name)
++ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
++ AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
++ [Define to necessary symbol if this constant
++ uses a non-standard name on your system.])
++ fi
++
++ AC_MSG_CHECKING([if more special flags are required for pthreads])
++ flag=no
++ case "${host_cpu}-${host_os}" in
++ *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
++ *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
++ esac
++ AC_MSG_RESULT(${flag})
++ if test "x$flag" != xno; then
++ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
++ fi
++
++ LIBS="$save_LIBS"
++ CFLAGS="$save_CFLAGS"
++
++ # More AIX lossage: must compile with xlc_r or cc_r
++ if test x"$GCC" != xyes; then
++ AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC})
++ else
++ PTHREAD_CC=$CC
++ fi
++else
++ PTHREAD_CC="$CC"
++fi
++
++AC_SUBST(PTHREAD_LIBS)
++AC_SUBST(PTHREAD_CFLAGS)
++AC_SUBST(PTHREAD_CC)
++
++# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
++if test x"$ax_pthread_ok" = xyes; then
++ ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
++ :
++else
++ ax_pthread_ok=no
++ $2
++fi
++AC_LANG_RESTORE
++])dnl AX_PTHREAD
Modified: head/www/varnish-modules/files/patch-src_Makefile.am
==============================================================================
--- head/www/varnish-modules/files/patch-src_Makefile.am Wed Oct 26 14:07:21 2016 (r424706)
+++ head/www/varnish-modules/files/patch-src_Makefile.am Wed Oct 26 14:15:38 2016 (r424707)
@@ -1,4 +1,4 @@
---- src/Makefile.am.orig 2016-08-01 13:40:08 UTC
+--- src/Makefile.am.orig 2016-07-07 14:48:43 UTC
+++ src/Makefile.am
@@ -5,7 +5,6 @@ vmod_LTLIBRARIES = libvmod_cookie.la \
libvmod_header.la \
Added: head/www/varnish-modules/files/patch-src_vmod__softpurge.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/varnish-modules/files/patch-src_vmod__softpurge.c Wed Oct 26 14:15:38 2016 (r424707)
@@ -0,0 +1,44 @@
+--- src/vmod_softpurge.c.orig 2016-10-26 07:31:42 UTC
++++ src/vmod_softpurge.c
+@@ -60,6 +60,7 @@ vmod_softpurge(VRT_CTX)
+ now = ctx->req->t_prev;
+ Lck_Lock(&oh->mtx);
+ assert(oh->refcnt > 0);
++#if defined VARNISH_PLUS || defined OC_EF_DYING
+ VTAILQ_FOREACH(oc, &oh->objcs, list) {
+ CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
+ assert(oc->objhead == oh);
+@@ -73,16 +74,30 @@ vmod_softpurge(VRT_CTX)
+ spc -= sizeof *ocp;
+ ocp[nobj++] = oc;
+ }
++#else
++ VTAILQ_FOREACH(oc, &oh->objcs, hsh_list) {
++ CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
++ assert(oc->objhead == oh);
++ if (oc->flags & (OC_F_BUSY|OC_F_DYING))
++ continue;
++ if (spc < sizeof *ocp)
++ break;
++ oc->refcnt++;
++ spc -= sizeof *ocp;
++ ocp[nobj++] = oc;
++ }
++#endif
+ Lck_Unlock(&oh->mtx);
+
+ for (n = 0; n < nobj; n++) {
+ oc = ocp[n];
+ CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
+-#ifdef VARNISH_PLUS
+- /* Varnish Plus interface for EXP_Rearm() is different. */
++#if defined VARNISH_PLUS
+ EXP_Rearm(ctx->req->wrk, oc, now, 0, oc->exp.grace, oc->exp.keep);
+-#else
++#elif defined HAVE_OBJCORE_EXP
+ EXP_Rearm(oc, now, 0, oc->exp.grace, oc->exp.keep);
++#else
++ EXP_Rearm(oc, now, 0, oc->grace, oc->keep);
+ #endif
+ (void)HSH_DerefObjCore(ctx->req->wrk, &oc);
+
Added: head/www/varnish-modules/files/patch-src_vmod__xkey.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/varnish-modules/files/patch-src_vmod__xkey.c Wed Oct 26 14:15:38 2016 (r424707)
@@ -0,0 +1,207 @@
+--- src/vmod_xkey.c.orig 2016-10-26 07:41:48 UTC
++++ src/vmod_xkey.c
+@@ -130,7 +130,7 @@ xkey_ptrcmp(const struct xkey_ptrkey *k1
+ }
+
+ static struct xkey_hashhead *
+-xkey_hashhead_new()
++xkey_hashhead_new(void)
+ {
+ struct xkey_hashhead *head;
+
+@@ -166,7 +166,7 @@ xkey_hashhead_delete(struct xkey_hashhea
+ }
+
+ static struct xkey_ochead *
+-xkey_ochead_new()
++xkey_ochead_new(void)
+ {
+ struct xkey_ochead *head;
+
+@@ -201,7 +201,7 @@ xkey_ochead_delete(struct xkey_ochead **
+ }
+
+ static struct xkey_oc *
+-xkey_oc_new()
++xkey_oc_new(void)
+ {
+ struct xkey_oc *oc;
+
+@@ -352,7 +352,7 @@ xkey_remove(struct xkey_ochead **pochead
+ }
+
+ static void
+-xkey_cleanup()
++xkey_cleanup(void)
+ {
+ struct xkey_hashkey *hashkey;
+ struct xkey_hashhead *hashhead;
+@@ -396,7 +396,7 @@ xkey_cleanup()
+ /**************************/
+
+ static void
+-xkey_cb_insert(struct worker *wrk, struct objcore *objcore, void *priv)
++xkey_cb_insert(struct worker *wrk, struct objcore *objcore)
+ {
+ SHA256_CTX sha_ctx;
+ unsigned char digest[DIGEST_LEN];
+@@ -404,8 +404,6 @@ xkey_cb_insert(struct worker *wrk, struc
+ const char hdr_h2[] = "X-HashTwo:";
+ const char *ep, *sp;
+
+- (void)priv;
+-
+ CHECK_OBJ_NOTNULL(objcore, OBJCORE_MAGIC);
+
+ HTTP_FOREACH_PACK(wrk, objcore, sp) {
+@@ -435,13 +433,10 @@ xkey_cb_insert(struct worker *wrk, struc
+ }
+
+ static void
+-xkey_cb_remove(struct worker *wrk, struct objcore *objcore, void *priv)
++xkey_cb_remove(struct objcore *objcore)
+ {
+ struct xkey_ochead *ochead;
+
+- (void)wrk;
+- (void)priv;
+-
+ CHECK_OBJ_NOTNULL(objcore, OBJCORE_MAGIC);
+
+ AZ(pthread_mutex_lock(&mtx));
+@@ -451,28 +446,50 @@ xkey_cb_remove(struct worker *wrk, struc
+ AZ(pthread_mutex_unlock(&mtx));
+ }
+
++#if defined VARNISH_PLUS || !defined OEV_INSERT
+ static void __match_proto__(exp_callback_f)
+ xkey_cb(struct worker *wrk, struct objcore *objcore,
+ enum exp_event_e event, void *priv)
+ {
+
+- (void)wrk;
+- (void)objcore;
+- (void)event;
+- (void)priv;
++ CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
++ CHECK_OBJ_NOTNULL(objcore, OBJCORE_MAGIC);
++ AZ(priv);
+
+ switch (event) {
+ case EXP_INSERT:
+ case EXP_INJECT:
+- xkey_cb_insert(wrk, objcore, priv);
++ xkey_cb_insert(wrk, objcore);
+ break;
+ case EXP_REMOVE:
+- xkey_cb_remove(wrk, objcore, priv);
++ xkey_cb_remove(objcore);
+ break;
+ default:
+ WRONG("enum exp_event_e");
+ }
+ }
++#else
++static void __match_proto__(obj_event_f)
++xkey_cb(struct worker *wrk, void *priv, struct objcore *oc, unsigned ev)
++{
++
++ CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
++ CHECK_OBJ_NOTNULL(oc, OBJCORE_MAGIC);
++ AZ(priv);
++ AN(ev);
++
++ switch (ev) {
++ case OEV_INSERT:
++ xkey_cb_insert(wrk, oc);
++ break;
++ case OEV_EXPIRE:
++ xkey_cb_remove(oc);
++ break;
++ default:
++ WRONG("Unexpected event");
++ }
++}
++#endif
+
+ /**************************/
+
+@@ -507,24 +524,36 @@ purge(VRT_CTX, VCL_STRING key, VCL_INT d
+ CHECK_OBJ_NOTNULL(oc->objcore, OBJCORE_MAGIC);
+ if (oc->objcore->flags & OC_F_BUSY)
+ continue;
++#if defined HAVE_OBJCORE_EXP
++ if (do_soft && oc->objcore->exp.ttl <=
++ (ctx->now - oc->objcore->exp.t_origin))
++ continue;
++#else
+ if (do_soft &&
+- oc->objcore->exp.ttl <= (ctx->now - oc->objcore->exp.t_origin))
++ oc->objcore->ttl <= (ctx->now - oc->objcore->t_origin))
+ continue;
++#endif
+ #ifdef VARNISH_PLUS
+- /* Varnish Plus interface for EXP_Rearm() is different. */
+ if (do_soft)
+ EXP_Rearm(ctx->req->wrk, oc->objcore, ctx->now, 0,
+ oc->objcore->exp.grace, oc->objcore->exp.keep);
+ else
+- EXP_Rearm(ctx->req->wrk, oc->objcore, oc->objcore->exp.t_origin, 0,
+- 0, 0);
+-#else
++ EXP_Rearm(ctx->req->wrk, oc->objcore,
++ oc->objcore->exp.t_origin, 0, 0, 0);
++#elif defined HAVE_OBJCORE_EXP
+ if (do_soft)
+ EXP_Rearm(oc->objcore, ctx->now, 0,
+ oc->objcore->exp.grace, oc->objcore->exp.keep);
+ else
+- EXP_Rearm(oc->objcore, oc->objcore->exp.t_origin, 0,
+- 0, 0);
++ EXP_Rearm(oc->objcore, oc->objcore->exp.t_origin,
++ 0, 0, 0);
++#else
++ if (do_soft)
++ EXP_Rearm(oc->objcore, ctx->now, 0,
++ oc->objcore->grace, oc->objcore->keep);
++ else
++ EXP_Rearm(oc->objcore, oc->objcore->t_origin,
++ 0, 0, 0);
+ #endif
+
+ i++;
+@@ -554,11 +583,15 @@ vmod_event(VRT_CTX, struct vmod_priv *pr
+ switch (e) {
+ case VCL_EVENT_LOAD:
+ AZ(pthread_mutex_lock(&mtx));
+- if (n_init == 0) {
++ if (n_init == 0)
++#if defined VARNISH_PLUS || !defined OEV_INSERT
+ xkey_cb_handle =
+ EXP_Register_Callback(xkey_cb, NULL);
+- AN(xkey_cb_handle);
+- }
++#else
++ xkey_cb_handle = ObjSubscribeEvents(xkey_cb, NULL,
++ OEV_INSERT|OEV_EXPIRE);
++#endif
++ AN(xkey_cb_handle);
+ n_init++;
+ AZ(pthread_mutex_unlock(&mtx));
+ break;
+@@ -566,10 +599,14 @@ vmod_event(VRT_CTX, struct vmod_priv *pr
+ AZ(pthread_mutex_lock(&mtx));
+ assert(n_init > 0);
+ n_init--;
++ AN(xkey_cb_handle);
+ if (n_init == 0) {
+ /* Do cleanup */
+- AN(xkey_cb_handle);
++#if defined VARNISH_PLUS || !defined OEV_INSERT
+ EXP_Deregister_Callback(&xkey_cb_handle);
++#else
++ ObjUnsubscribeEvents(&xkey_cb_handle);
++#endif
+ AZ(xkey_cb_handle);
+ xkey_cleanup();
+ }
Modified: head/www/varnish-nagios/Makefile
==============================================================================
--- head/www/varnish-nagios/Makefile Wed Oct 26 14:07:21 2016 (r424706)
+++ head/www/varnish-nagios/Makefile Wed Oct 26 14:15:38 2016 (r424707)
@@ -3,7 +3,7 @@
PORTNAME= varnish-nagios
PORTVERSION= 1.1.20151214
-PORTREVISION= 0
+PORTREVISION= 1
CATEGORIES= www
MAINTAINER= ports at FreeBSD.org
@@ -11,13 +11,12 @@ COMMENT= Nagios plugin to check status o
LICENSE= BSD2CLAUSE
-BUILD_DEPENDS= varnish4>=0:www/varnish4
RUN_DEPENDS= sudo:security/sudo
GNU_CONFIGURE= yes
CFLAGS+= -lm
-USES= autoreconf libtool pkgconfig
+USES= autoreconf libtool pkgconfig varnish
USE_GITHUB= yes
GH_ACCOUNT= varnish
@@ -25,7 +24,7 @@ GH_TAGNAME= 258c486
PLIST_FILES= libexec/nagios/check_varnish
-SUB_FILES= pkg-message
+SUB_FILES= pkg-message
do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/libexec/nagios
Added: head/www/varnish-nagios/files/patch-check__varnish.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/varnish-nagios/files/patch-check__varnish.c Wed Oct 26 14:15:38 2016 (r424707)
@@ -0,0 +1,11 @@
+--- check_varnish.c.orig 2016-10-26 07:20:18 UTC
++++ check_varnish.c
+@@ -326,7 +326,7 @@ main(int argc, char **argv)
+ VSC_Setup(vd);
+ #endif
+
+- while ((opt = getopt(argc, argv, VSC_ARGS "c:hn:p:vw:")) != -1) {
++ while ((opt = getopt(argc, argv, "f:n:N:c:hn:p:vw:")) != -1) {
+ switch (opt) {
+ case 'c':
+ if (parse_range(optarg, &critical) != 0)
More information about the svn-ports-head
mailing list