aboutsummaryrefslogtreecommitdiffstats
path: root/sysutils
diff options
context:
space:
mode:
authorSteve Wills <swills@FreeBSD.org>2020-01-04 08:42:39 +0800
committerSteve Wills <swills@FreeBSD.org>2020-01-04 08:42:39 +0800
commit9059fb6879ed5c8abcab7129ae0bf8e0907efb28 (patch)
treecc359daa5acc983df3b1fcd0744c615fe27391e0 /sysutils
parentce64b5a9136afecdfdf293abb732af53ebb31402 (diff)
downloadfreebsd-ports-gnome-9059fb6879ed5c8abcab7129ae0bf8e0907efb28.tar.gz
freebsd-ports-gnome-9059fb6879ed5c8abcab7129ae0bf8e0907efb28.tar.zst
freebsd-ports-gnome-9059fb6879ed5c8abcab7129ae0bf8e0907efb28.zip
sysutils/consul: Update to 1.6.2 and refactoring rc.script
PR: 240882 Submitted by: Dmitry Wagin <dmitry.wagin@ya.ru> (with changes)
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/consul/Makefile18
-rw-r--r--sysutils/consul/distinfo6
-rw-r--r--sysutils/consul/files/consul.in92
3 files changed, 87 insertions, 29 deletions
diff --git a/sysutils/consul/Makefile b/sysutils/consul/Makefile
index 9e3a7bd32cfc..00aa1bf06df2 100644
--- a/sysutils/consul/Makefile
+++ b/sysutils/consul/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= consul
-PORTVERSION= 1.6.1
+PORTVERSION= 1.6.2
DISTVERSIONPREFIX= v
CATEGORIES= sysutils
@@ -16,7 +16,7 @@ USES= go:modules
USE_GITHUB= yes
GH_ACCOUNT= hashicorp
-GO_BUILDFLAGS= -ldflags="\
+GO_BUILDFLAGS= -ldflags=" \
-X github.com/hashicorp/consul/version.Version=${PORTVERSION} \
-X github.com/hashicorp/consul/version.VersionPrerelease= \
-X github.com/hashicorp/consul/version.GitDescribe=v${PORTVERSION} \
@@ -26,8 +26,18 @@ USE_RC_SUBR= consul
PLIST_FILES= bin/consul
-USERS= consul
-GROUPS= consul
+ETCDIR= ${PREFIX}/etc/${PORTNAME}.d
+CONSUL_USER?= consul
+CONSUL_GROUP?= consul
+CONSUL_DATADIR?= /var/db/${PORTNAME}
+
+USERS= ${CONSUL_USER}
+GROUPS= ${CONSUL_GROUP}
+
+SUB_LIST= CONSUL_DATADIR=${CONSUL_DATADIR} \
+ CONSUL_GROUP=${CONSUL_GROUP} \
+ CONSUL_USER=${CONSUL_USER} \
+ ETCDIR=${ETCDIR}
post-extract:
${MKDIR} ${WRKSRC}/vendor/github.com/${GH_ACCOUNT}/${PORTNAME}
diff --git a/sysutils/consul/distinfo b/sysutils/consul/distinfo
index 2c36a72e09ec..ae83c204826e 100644
--- a/sysutils/consul/distinfo
+++ b/sysutils/consul/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1572039537
-SHA256 (hashicorp-consul-v1.6.1_GH0.tar.gz) = c02a8a9a8b775066cdc33765bbf928f3dd20e3cc0f61cf41f35ed5f0e12a8749
-SIZE (hashicorp-consul-v1.6.1_GH0.tar.gz) = 22621651
+TIMESTAMP = 1576365597
+SHA256 (hashicorp-consul-v1.6.2_GH0.tar.gz) = 98ba4f3e271536954deb118fe88bfcbd3c6150defeee8a2b946a4dff98594a75
+SIZE (hashicorp-consul-v1.6.2_GH0.tar.gz) = 22041280
diff --git a/sysutils/consul/files/consul.in b/sysutils/consul/files/consul.in
index 081c07526d64..b9438ffc5430 100644
--- a/sysutils/consul/files/consul.in
+++ b/sysutils/consul/files/consul.in
@@ -6,47 +6,95 @@
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
-# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
-# to enable this service:
+# Add consul_enable="YES" to /etc/rc.conf to enable Consul
+#
+# Additional variables you can define are:
+#
+# consul_user (string): Set user to run consul.
+# Default is "%%CONSUL_USER%%".
+# consul_group (string): Set group to run consul.
+# Default is "%%CONSUL_GROUP%%".
+# consul_pidfile (string): Set full path to pid file
+# Default is "/var/run/consul.pid"
+# consul_configtest (string): Set to yes to enable Consul config validation
+# Set to NO by default
+# consul_datadir (dir): Set dir to run consul in.
+# Default is "%%CONSUL_DATADIR%%"
+# consul_syslog_output_enable (bool): Set to YES to enable syslog output
+# Default is "NO". See daemon(8).
+# consul_syslog_output_priority (str): Set syslog priority if syslog enabled.
+# Default is "info". See daemon(8).
+# consul_syslog_output_facility (str): Set to YES to enable syslog output
+# Default is "daemon". See daemon(8).
+#
+# see rc.subr(8) for additional variables and options
#
-# consul_enable (bool): Set to NO by default.
-# Set it to YES to enable consul.
-# consul_user (user): Set user to run consul.
-# Default is "consul".
-# consul_group (group): Set group to run consul.
-# Default is "consul".
-# consul_dir (dir): Set dir to run consul in.
-# Default is "/var/db/consul".
. /etc/rc.subr
name=consul
rcvar=consul_enable
-extra_commands="reload configtest"
load_rc_config $name
: ${consul_enable:="NO"}
-: ${consul_user:="consul"}
-: ${consul_group:="consul"}
-: ${consul_dir:="/var/db/consul"}
+: ${consul_syslog_output_enable:="NO"}
+: ${consul_user:="%%CONSUL_USER%%"}
+: ${consul_group:="%%CONSUL_GROUP%%"}
+: ${consul_pidfile:="/var/run/${name}.pid"}
+: ${consul_configtest:="NO"}
+: ${consul_datadir:="%%CONSUL_DATADIR%%"}
+
+start_precmd="consul_start_precmd"
+extra_commands="reload configtest"
+configtest_cmd="consul_checkconfig"
+
+# backwards compatibility
+if [ -n "${consul_dir}" ]; then
+ consul_datadir=${consul_dir}
+fi
+
+if checkyesno consul_syslog_output_enable; then
+ consul_syslog_output_flags="-T ${name}"
-pidfile=/var/run/consul.pid
+ if [ -n "${consul_syslog_output_priority}" ]; then
+ consul_syslog_output_flags="${consul_syslog_output_flags} -s ${consul_syslog_output_priority}"
+ fi
+
+ if [ -n "${consul_syslog_output_facility}" ]; then
+ consul_syslog_output_flags="${consul_syslog_output_flags} -l ${consul_syslog_output_facility}"
+ fi
+fi
+
+if checkyesno consul_configtest; then
+ restart_precmd="consul_checkconfig"
+ reload_precmd="consul_checkconfig"
+fi
+
+pidfile=${consul_pidfile}
procname="%%PREFIX%%/bin/consul"
command="/usr/sbin/daemon"
-command_args="-f -p ${pidfile} /usr/bin/env ${consul_env} ${procname} agent -data-dir=${consul_dir} -config-dir=%%PREFIX%%/etc/consul.d ${consul_args}"
-
-start_precmd=consul_startprecmd
+command_args="-f -t ${name} ${consul_syslog_output_flags} -p ${pidfile} /usr/bin/env ${consul_env} ${procname} agent -data-dir=${consul_datadir} -config-dir=%%ETCDIR%% ${consul_args}"
-consul_startprecmd()
+consul_start_precmd()
{
if [ ! -e ${pidfile} ]; then
- install -o ${consul_user} -g ${consul_group} /dev/null ${pidfile};
+ install -o ${consul_user} -g ${consul_group} /dev/null ${pidfile}
fi
- if [ ! -d ${consul_dir} ]; then
- install -d -o ${consul_user} -g ${consul_group} ${consul_dir}
+ if [ ! -d ${consul_datadir} ]; then
+ install -d -m 0750 -o ${consul_user} -g ${consul_group} ${consul_datadir}
fi
+
+ if [ ! -d %%ETCDIR%% ]; then
+ install -d -m 0750 -o ${consul_user} -g ${consul_group} %%ETCDIR%%
+ fi
+}
+
+consul_checkconfig()
+{
+ echo "Performing sanity check on ${name} configuration:"
+ eval ${procname} validate "%%ETCDIR%%"
}
run_rc_command "$1"