Skip to content
Snippets Groups Projects
Commit 16970dde authored by Danilo G. Baio's avatar Danilo G. Baio
Browse files

www/varnish7: New port

parent 6e79c8a2
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,7 @@
#
# Feature: varnish
# Usage: USES=varnish
# Valid ARGS: 4, 6, run
# Valid ARGS: 4, 6, 7, run
#
# MAINTAINER: ports@FreeBSD.org
......@@ -15,6 +15,8 @@ VARNISH_VERSION= ${VARNISH_DEFAULT}
VARNISH_VERSION= 4
. elif ${varnish_ARGS:M6}
VARNISH_VERSION= 6
. elif ${varnish_ARGS:M7}
VARNISH_VERSION= 7
. elif defined(VARNISH_DEFAULT)
. endif
......
......@@ -2320,6 +2320,7 @@
SUBDIR += varnish-nagios
SUBDIR += varnish4
SUBDIR += varnish6
SUBDIR += varnish7
SUBDIR += varnish_exporter
SUBDIR += vdr-plugin-live
SUBDIR += vdradmin-am
......
......@@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= rst2man:textproc/py-docutils
LIB_DEPENDS= libpcre.so:devel/pcre
CONFLICTS= varnish-2.* varnish-3.*
CONFLICTS= varnish6 varnish7
USES= autoreconf cpe gmake libedit libtool ncurses pathfix \
pkgconfig python:build readline shebangfix
......
......@@ -18,7 +18,7 @@ LIB_DEPENDS= libpcre.so:devel/pcre
USES= autoreconf compiler cpe gmake libedit libtool ncurses pathfix \
pkgconfig python:3.4+,build readline shebangfix
CONFLICTS= varnish-2.* varnish-3.* varnish4-4.* varnish5-5.*
CONFLICTS= varnish4 varnish7
SHEBANG_FILES= lib/libvcc/*.py
CPE_VENDOR= varnish-cache
......
PORTNAME= varnish
DISTVERSION= 7.1.0
DISTVERSIONPREFIX= varnish-
CATEGORIES= www
PKGNAMESUFFIX= 7
MAINTAINER= dbaio@FreeBSD.org
COMMENT= High-performance HTTP accelerator
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= rst2man:textproc/py-docutils@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
LIB_DEPENDS= libpcre2-8.so:devel/pcre2
USES= autoreconf compiler cpe gmake libedit libtool ncurses pathfix \
pkgconfig python:3.6+,build readline shebangfix
CONFLICTS= varnish4 varnish6
SHEBANG_FILES= lib/libvcc/*.py lib/libvsc/*.py
CPE_VENDOR= varnish-cache
CFLAGS+= -I${LOCALBASE}/include
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --localstatedir=${PREFIX} --without-dot
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
TEST_TARGET= check
TEST_ARGS= TESTS_PARALLELISM=1
USE_GITHUB= yes
GH_ACCOUNT= varnishcache
GH_PROJECT= varnish-cache
USERS= varnish varnishlog
GROUPS= varnish
USE_RC_SUBR= varnishd varnishlog varnishncsa
.if defined(NO_INET6) || defined(WITHOUT_INET6)
BAD_TESTS+= r00832
EXTRA_PATCHES+= ${FILESDIR}/no-inet6.patch
.endif
OPTIONS_DEFINE= DOCS
.include <bsd.port.pre.mk>
post-patch:
.if defined(BAD_TESTS)
${RM} ${BAD_TESTS:C|.+|${WRKSRC}/bin/varnishtest/tests/\0.vtc|}
.endif
.if ${CHOSEN_COMPILER_TYPE} == gcc
${REINPLACE_CMD} -e '/-Wno-unknown-warning-option -Wno-implicit-fallthrough/d' ${WRKSRC}/configure.ac
.endif
.include <bsd.port.post.mk>
TIMESTAMP = 1648299456
SHA256 (varnishcache-varnish-cache-varnish-7.1.0_GH0.tar.gz) = 6dc4b066a949886e917736c21ae4e9ee3f519d7479820914643b45133a793684
SIZE (varnishcache-varnish-cache-varnish-7.1.0_GH0.tar.gz) = 1742291
--- bin/varnishtest/tests/c00005.vtc 2012-08-20 05:20:39.000000000 -0400
+++ bin/varnishtest/tests/c00005.vtc 2012-09-26 12:09:59.000000000 -0400
@@ -32,5 +32,4 @@
! "localhost";
"0.0.0.0" / 0;
- "::" / 0;
}
#!/bin/sh
# PROVIDE: varnishd
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable varnishd:
#
# varnishd_enable="YES"
#
# Configuration variables and their default values:
#
# varnishd_pidfile - full path to the PID file.
# default: "/var/run/varnishd.pid"
#
# varnishd_listen - address and port at which varnishd will listen for
# client requests.
# default: ":80"
#
# varnishd_admin - address and port at which varnishd will listen for
# administrative commands.
# default: "localhost:81"
#
# varnishd_backend - address of the backend server.
# default: "localhost:8080"
#
# varnishd_config - name of the varnishd config file.
# default: unset.
#
# varnishd_hash - hash algorithm
# default: "critbit"
#
# varnishd_storage - storage method and parameters.
# default: "file,/tmp,100M"
#
# varnishd_jailuser - unprivileged user for the child process.
# default: "varnish"
#
# varnishd_flags - complete command line arguments.
# default if varnishd_config is unset: "-j unix,user=${varnishd_jailuser} -P ${varnishd_pidfile} -a ${varnishd_listen} -T ${varnishd_admin} -b ${varnishd_backend} -s ${varnishd_storage} -h ${varnishd_hash} ${varnishd_extra_flags}"
# default if varnishd_config is set: "-j unix,user=${varnishd_jailuser} -P ${varnishd_pidfile} -a ${varnishd_listen} -T ${varnishd_admin} -f ${varnishd_config} -s ${varnishd_storage} -h ${varnishd_hash} ${varnishd_extra_flags}"
#
# See varnishd(1) for a detailed overview of command-line options.
#
. /etc/rc.subr
name=varnishd
rcvar=varnishd_enable
load_rc_config ${name}
: ${varnishd_enable:=NO}
: ${varnishd_pidfile=/var/run/${name}.pid}
: ${varnishd_listen=:80}
: ${varnishd_admin=localhost:81}
: ${varnishd_backend=localhost:8080}
: ${varnishd_storage=file,/tmp,100M}
: ${varnishd_hash=critbit}
: ${varnishd_jailuser=varnish}
command="%%PREFIX%%/sbin/${name}"
pidfile="${varnishd_pidfile}"
configtest_cmd="varnishd_checkconfig"
reload_cmd="varnishd_reload"
restart_precmd="varnishd_checkconfig"
start_precmd="varnishd_precmd"
extra_commands="status reload configtest"
if [ -n "${varnishd_config}" ] ; then
: ${varnishd_flags:="-j unix,user=${varnishd_jailuser} -P ${varnishd_pidfile} -a ${varnishd_listen} -T ${varnishd_admin} -f ${varnishd_config} -s ${varnishd_storage} -h ${varnishd_hash} ${varnishd_extra_flags}"}
else
: ${varnishd_flags:="-j unix,user=${varnishd_jailuser} -P ${varnishd_pidfile} -a ${varnishd_listen} -T ${varnishd_admin} -b ${varnishd_backend} -s ${varnishd_storage} -h ${varnishd_hash} ${varnishd_extra_flags}"}
fi
varnishd_checkconfig()
{
if [ -z "${varnishd_config}" ]; then
echo "${name}: nothing to check, no configuration file defined, builtin VCL used"
else
echo "Performing sanity check on ${name} configuration:"
if eval ${command} -s ${varnishd_storage} ${varnishd_extra_flags} -C -f "${varnishd_config}" 2> /dev/null ; then
echo "${name}: the configuration file ${varnishd_config} syntax is ok"
else
err 1 "${name}: the configuration file ${varnishd_config} syntax is NOT ok"
fi
fi
}
# Adapted from work done by Ingvar Hagelund <ingvar@redpill-linpro.com> (see redhat/varnish_reload_vcl)
varnishd_reload()
{
local _current_config_name _new_config_name _varnishadm_cmd
if [ -z "${varnishd_config}" ]; then
echo "${name}: nothing to reload, no configuration file defined, builtin VCL used"
else
_new_config_name="reloaded_$(date +%Y%m%d%H%M%S)"
_varnishadm_cmd="%%PREFIX%%/bin/varnishadm ${varnish_cli_flags}"
if ! eval ${_varnishadm_cmd} vcl.list > /dev/null; then
err 1 "${name}: can't connect to varnishadm"
fi
_current_config_name=$(${_varnishadm_cmd} vcl.list | awk ' /^active/ { print $3 } ')
if ! eval ${_varnishadm_cmd} vcl.load ${_new_config_name} ${varnishd_config} > /dev/null; then
err 1 "${name}: vcl.load failed, you're still using previous rules (${_current_config_name})"
fi
if eval ${_varnishadm_cmd} vcl.use ${_new_config_name} > /dev/null; then
echo "VCL file \"${varnishd_config}\" has been successfully loaded as \"${_new_config_name}\""
echo "To remove previous loaded configurations, you should run \"${_varnishadm_cmd} vcl.discard <configname>\" by yourself"
else
err 1 "${name}: vcl.use failed, you're still using previous rules (${_current_config_name})"
fi
fi
return 0
}
varnishd_precmd()
{
# Check config before starting
varnishd_checkconfig
}
run_rc_command "$1"
#!/bin/sh
# PROVIDE: varnishlog
# REQUIRE: DAEMON varnishd
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable varnishlog:
#
# varnishlog_enable="YES"
#
# Configuration variables and their default values:
#
# varnishlog_pidfile - full path to the PID file.
# default: "/var/run/varnishlog.pid"
#
# varnishlog_file - full path to the log file.
# default: "/var/log/varnish.log"
#
# varnishlog_flags - command line arguments.
# default: "-t off -P ${varnishlog_pidfile} -D -a -A -w ${varnishlog_file}"
#
# Add the following line to /etc/newsyslog.conf to rotate the log file
# once a day:
#
# /var/log/varnish.log varnishlog:varnish 640 7 * @T00 JB /var/run/varnishlog.pid
#
# See varnishlog(1) for a detailed overview of command-line options.
#
. /etc/rc.subr
name=varnishlog
rcvar=varnishlog_enable
load_rc_config ${name}
: ${varnishlog_enable:=NO}
: ${varnishlog_pidfile=/var/run/${name}.pid}
: ${varnishlog_file=/var/log/varnish.log}
: ${varnishlog_flags="-t off -P ${varnishlog_pidfile} -D -a -A -w ${varnishlog_file}"}
procname="%%PREFIX%%/bin/${name}"
command="/usr/sbin/daemon"
command_args="-f -u varnishlog ${procname} ${varnishlog_flags}"
pidfile=${varnishlog_pidfile}
start_precmd=precmd
precmd()
{
# varnishlog_flags gets applied too early if we don't do this.
rc_flags=""
if [ ! -e ${pidfile} ]; then
install -o varnishlog -g varnish -m 644 /dev/null ${pidfile};
fi
if [ ! -e ${varnishlog_file} ]; then
install -o varnishlog -g varnish -m 640 /dev/null ${varnishlog_file};
fi
}
run_rc_command "$1"
#!/bin/sh
# PROVIDE: varnishncsa
# REQUIRE: DAEMON varnishd
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable varnishncsa:
#
# varnishncsa_enable="YES"
#
# Configuration variables and their default values:
#
# varnishncsa_pidfile - full path to the PID file.
# default: "/var/run/varnishncsa.pid"
#
# varnishncsa_file - full path to the log file.
# default: "/var/log/varnishncsa.log"
#
# varnishncsa_log_method - log to file or syslog
# default: "-D -a -w ${varnishncsa_file}"
# varnishncsa_syslog="YES": '| /usr/bin/logger -t varnish -p daemon.info &'
#
# varnishncsa_flags - command line arguments.
# default: "-t off -P ${varnishncsa_pidfile} ${varnishncsa_logformat:+ -F \"$varnishncsa_logformat\"} ${varnishncsa_log_method}"
#
# varnishncsa_logformat - log file format.
# default: "" (uses varnishncsa's default format)
# example: "%h %l %u %t %r %s %b %{Referer}i %{User-agent}i"
#
# Add the following line to /etc/newsyslog.conf to rotate the log file
# once a day:
#
# /var/log/varnishncsa.log varnishlog:varnish 640 7 * @T00 JB /var/run/varnishncsa.pid
#
# See varnishncsa(1) for a detailed overview of command-line options.
#
. /etc/rc.subr
name=varnishncsa
rcvar=varnishncsa_enable
load_rc_config ${name}
: ${varnishncsa_enable:=NO}
: ${varnishncsa_pidfile=/var/run/${name}.pid}
: ${varnishncsa_file=/var/log/${name}.log}
: ${varnishncsa_flags="-t off -P ${varnishncsa_pidfile} ${varnishncsa_logformat:+-F \"$varnishncsa_logformat\"}"}
: ${varnishncsa_syslog:=NO}
if checkyesno varnishncsa_syslog; then
varnishncsa_log_method='| /usr/bin/logger -t varnish -p daemon.info &'
else
varnishncsa_log_method="-D -a -w ${varnishncsa_file}"
fi
command="%%PREFIX%%/bin/${name}"
command_args="${varnishncsa_flags} ${varnishncsa_log_method}"
pidfile=${varnishncsa_pidfile}
start_precmd=precmd
precmd()
{
# $varnishncsa_flags gets applied too early if we don't do this.
rc_flags=""
if [ ! -e ${pidfile} ]; then
install -o varnishlog -g varnish -m 644 /dev/null ${pidfile};
fi
if [ ! -e ${varnishncsa_file} ]; then
install -o varnishlog -g varnish -m 640 /dev/null ${varnishncsa_file};
fi
}
run_rc_command "$1"
This is the Varnish high-performance HTTP accelerator.
Documentation and additional information about Varnish is available on
http://varnish-cache.org/docs/index.html
Technical questions about Varnish and this release should be addressed
to <varnish-dev@varnish-cache.org>
Questions about commercial support and services related to Varnish
can be directed here: https://www.varnish-software.com/contact-us/
WWW: https://varnish-cache.org/
[
{ type: install
message: <<EOM
QUICK-START GUIDE
It's two in the morning and someone posted a link to your website on Hacker
News. Don't panic, it takes only a minute to set up Varnish in front of your
web server:
1) Install Varnish
2) Reconfigure your web server to listen on localhost:8080
3) sysrc varnishd_enable=YES
4) service varnishd start
Refer to the documentation for more advanced configuration.
EOM
}
]
bin/varnishadm
bin/varnishhist
bin/varnishlog
bin/varnishncsa
bin/varnishstat
bin/varnishstat_help_gen
bin/varnishtest
bin/varnishtop
include/varnish/cache/cache_backend.h
include/varnish/cache/cache_director.h
include/varnish/cache/cache_filter.h
include/varnish/cache/cache_varnishd.h
include/varnish/cache/cache.h
include/varnish/common/common_param.h
include/varnish/miniobj.h
include/varnish/tbl/acct_fields_bereq.h
include/varnish/tbl/acct_fields_req.h
include/varnish/tbl/backend_poll.h
include/varnish/tbl/ban_arg_oper.h
include/varnish/tbl/ban_oper.h
include/varnish/tbl/ban_vars.h
include/varnish/tbl/bo_flags.h
include/varnish/tbl/boc_state.h
include/varnish/tbl/body_status.h
include/varnish/tbl/cli_cmds.h
include/varnish/tbl/debug_bits.h
include/varnish/tbl/experimental_bits.h
include/varnish/tbl/feature_bits.h
include/varnish/tbl/h2_error.h
include/varnish/tbl/h2_frames.h
include/varnish/tbl/h2_settings.h
include/varnish/tbl/h2_stream.h
include/varnish/tbl/htc.h
include/varnish/tbl/http_headers.h
include/varnish/tbl/http_response.h
include/varnish/tbl/locks.h
include/varnish/tbl/mgt_vcc.h
include/varnish/tbl/obj_attr.h
include/varnish/tbl/oc_exp_flags.h
include/varnish/tbl/oc_flags.h
include/varnish/tbl/params.h
include/varnish/tbl/req_flags.h
include/varnish/tbl/sess_attr.h
include/varnish/tbl/sess_close.h
include/varnish/tbl/symbol_kind.h
include/varnish/tbl/vcl_returns.h
include/varnish/tbl/vcl_states.h
include/varnish/tbl/vhd_fsm_funcs.h
include/varnish/tbl/vhd_fsm.h
include/varnish/tbl/vhd_return.h
include/varnish/tbl/vhp_huffman.h
include/varnish/tbl/vhp_static.h
include/varnish/tbl/vrt_stv_var.h
include/varnish/tbl/vsc_levels.h
include/varnish/tbl/vsig_list.h
include/varnish/tbl/vsl_tags_http.h
include/varnish/tbl/vsl_tags.h
include/varnish/tbl/waiters.h
include/varnish/vapi/vapi_options.h
include/varnish/vapi/voptget.h
include/varnish/vapi/vsc.h
include/varnish/vapi/vsig.h
include/varnish/vapi/vsl_int.h
include/varnish/vapi/vsl.h
include/varnish/vapi/vsm.h
include/varnish/vas.h
include/varnish/vav.h
include/varnish/vbh.h
include/varnish/vbm.h
include/varnish/vcl.h
include/varnish/vcli.h
include/varnish/vcs.h
include/varnish/vdef.h
include/varnish/vmod_abi.h
include/varnish/vqueue.h
include/varnish/vre.h
include/varnish/vre_pcre2.h
include/varnish/vrnd.h
include/varnish/vrt_obj.h
include/varnish/vrt.h
include/varnish/vsa.h
include/varnish/vsb.h
include/varnish/vsha256.h
include/varnish/vtcp.h
include/varnish/vtim.h
include/varnish/vtree.h
include/varnish/vut_options.h
include/varnish/vut.h
include/varnish/waiter/waiter.h
lib/libvarnishapi.so
lib/libvarnishapi.so.3
lib/libvarnishapi.so.3.0.0
lib/varnish/vmods/libvmod_blob.so
lib/varnish/vmods/libvmod_cookie.so
lib/varnish/vmods/libvmod_debug.so
lib/varnish/vmods/libvmod_directors.so
lib/varnish/vmods/libvmod_proxy.so
lib/varnish/vmods/libvmod_purge.so
lib/varnish/vmods/libvmod_std.so
lib/varnish/vmods/libvmod_unix.so
lib/varnish/vmods/libvmod_vtc.so
libdata/pkgconfig/varnishapi.pc
man/man1/varnishadm.1.gz
man/man1/varnishd.1.gz
man/man1/varnishhist.1.gz
man/man1/varnishlog.1.gz
man/man1/varnishncsa.1.gz
man/man1/varnishstat.1.gz
man/man1/varnishtest.1.gz
man/man1/varnishtop.1.gz
man/man3/vmod_blob.3.gz
man/man3/vmod_cookie.3.gz
man/man3/vmod_directors.3.gz
man/man3/vmod_proxy.3.gz
man/man3/vmod_purge.3.gz
man/man3/vmod_std.3.gz
man/man3/vmod_unix.3.gz
man/man3/vmod_vtc.3.gz
man/man7/varnish-cli.7.gz
man/man7/varnish-counters.7.gz
man/man7/vcl-backend.7.gz
man/man7/vcl-probe.7.gz
man/man7/vcl-var.7.gz
man/man7/vcl.7.gz
man/man7/vsl-query.7.gz
man/man7/vsl.7.gz
man/man7/vtc.7.gz
sbin/varnishd
share/aclocal/varnish-legacy.m4
share/aclocal/varnish.m4
%%PORTDOCS%%%%DOCSDIR%%/builtin.vcl
%%PORTDOCS%%%%DOCSDIR%%/example.vcl
%%DATADIR%%/vcl/devicedetect.vcl
%%DATADIR%%/vmodtool.py
%%DATADIR%%/vsctool.py
@dir varnish
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment