Date: Tue, 6 Jul 2021 20:45:34 GMT From: Juraj Lutter <otis@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 1457ecce2ae6 - main - textproc/kibana7: Update to 7.13.2 Message-ID: <202107062045.166KjYlD082539@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by otis: URL: https://cgit.FreeBSD.org/ports/commit/?id=1457ecce2ae6702e6600617902b3b3a8698c416e commit 1457ecce2ae6702e6600617902b3b3a8698c416e Author: Juraj Lutter <otis@FreeBSD.org> AuthorDate: 2021-07-05 09:09:43 +0000 Commit: Juraj Lutter <otis@FreeBSD.org> CommitDate: 2021-07-06 20:44:38 +0000 textproc/kibana7: Update to 7.13.2 - Update to 7.13.2 - kibana since 7.13.0 ships with re2.node shared library built for Linux, Windows or Darwin. Build a native one for FreeBSD as a part of the port build. This involves: - Build node-nan - Build node-re2 - Fix memleak [1] PR: 253314 [1] --- textproc/kibana7/Makefile | 71 +++++++++++++++++++--- textproc/kibana7/distinfo | 10 ++- .../kibana7/files/extra-node-re2-binding-gyp.patch | 51 ++++++++++++++++ textproc/kibana7/files/kibana.in | 56 ++++++++++++----- 4 files changed, 163 insertions(+), 25 deletions(-) diff --git a/textproc/kibana7/Makefile b/textproc/kibana7/Makefile index 438118630dc6..653ca01ce47e 100644 --- a/textproc/kibana7/Makefile +++ b/textproc/kibana7/Makefile @@ -1,34 +1,86 @@ # Created by: Tom Judge <tj@FreeBSD.org> PORTNAME= kibana -PORTVERSION= 7.10.1 +PORTVERSION= 7.13.2 DISTVERSIONSUFFIX= -darwin-x86_64 CATEGORIES= textproc www MASTER_SITES= https://artifacts.elastic.co/downloads/kibana/ \ http://artifacts.elastic.co/downloads/kibana/ PKGNAMESUFFIX?= 7 +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= elastic@FreeBSD.org COMMENT= Browser based analytics and search interface to ElasticSearch LICENSE= APACHE20 -DEPRECATED= Uses EOL Python 2.7 via www/node10 -EXPIRATION_DATE=2021-06-23 +BUILD_DEPENDS= node14>=14.17.0:www/node14 \ + npm-node14>0:www/npm-node14 +LIB_DEPENDS= libre2.so:devel/re2 \ + libuv.so:devel/libuv +RUN_DEPENDS= node14>=14.17.0:www/node14 -RUN_DEPENDS= node10>=10.22.1:www/node10 +USES= compiler:c++14-lang python:build -CONFLICTS= kibana[6]* +USE_GITHUB= nodefault +GH_TUPLE= nodejs:nan:v${_NODE_NAN_VER}:node_nan \ + uhop:node-re2:${_NODE_RE2_VER}:node_re2 -NO_BUILD= yes -WWWDIR= ${PREFIX}/www/${PORTNAME}${PKGNAMESUFFIX} USE_RC_SUBR= ${PORTNAME} +CONFLICTS= kibana6 + +WWWDIR= ${PREFIX}/www/${PORTNAME}${PKGNAMESUFFIX} + SUB_FILES= pkg-deinstall -SUB_LIST+= PORTNAME=${PORTNAME} PKGNAMESUFFIX=${PKGNAMESUFFIX} +SUB_LIST+= PKGNAMESUFFIX=${PKGNAMESUFFIX} \ + PORTNAME=${PORTNAME} + +####################################################################### +# Set node-nan version here +_NODE_NAN_VER= 2.14.2 +# Set node-re version here +_NODE_RE2_VER= 1.16.0 +####################################################################### + +_NODECMD= ${LOCALBASE}/bin/node --version +_DEVDIR:= ${WRKDIR}/.devdir + +_RE2DIR= ${WRKDIR}/node-re2-${_NODE_RE2_VER} + +# Extra patch files must be updated whenever node-re2 changes +_RE2PATCHES= ${PATCHDIR}/extra-node-re2-binding-gyp.patch post-patch: ${FIND} -s ${WRKSRC}/node_modules -type d -empty -delete + cd ${_RE2DIR} && ${PATCH} -p0 < ${_RE2PATCHES} + ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" \ + -e "s|%%DEVDIR%%|${_DEVDIR}|g" ${_RE2DIR}/binding.gyp \ + +pre-configure: + ( \ + _NODEVER=$$(${_NODECMD} | ${SED} -n 's|^v\(.*\)|\1|p') && \ + ${MKDIR} ${_DEVDIR}/$${_NODEVER}/include && \ + ${RLN} ${LOCALBASE}/include/node ${_DEVDIR}/$${_NODEVER}/include/node && \ + ${ECHO} "9" > ${_DEVDIR}/$${_NODEVER}/installVersion \ + ) + +do-configure: + ${MKDIR} ${_DEVDIR}/nan + (cd ${WRKDIR}/nan-${_NODE_NAN_VER} && ${COPYTREE_SHARE} . \ + ${_DEVDIR}/nan \ + "! ( -name \.* -or -path *\/test\/* -or -name test )") + (cd ${_RE2DIR} && \ + ${SETENV} HOME=${WRKDIR} \ + ${LOCALBASE}/lib/node_modules/npm/bin/node-gyp-bin/node-gyp configure \ + --python=${PYTHON_CMD} \ + --devdir=${_DEVDIR}) + +do-build: + (cd ${_RE2DIR} && \ + ${SETENV} HOME=${WRKDIR} \ + ${LOCALBASE}/lib/node_modules/npm/bin/node-gyp-bin/node-gyp build \ + --devdir=${_DEVDIR}) do-install: ${MKDIR} ${STAGEDIR}${WWWDIR} ${STAGEDIR}${ETCDIR} @@ -38,6 +90,9 @@ do-install: ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR} && \ ${COPYTREE_BIN} bin ${STAGEDIR}${WWWDIR}) ${INSTALL} -lrs ${STAGEDIR}${ETCDIR} ${STAGEDIR}${WWWDIR}/config + ${RM} ${STAGEDIR}${WWWDIR}/node_modules/re2/build/Release/re2.node + ${INSTALL_LIB} ${_RE2DIR}/build/Release/re2.node \ + ${STAGEDIR}${WWWDIR}/node_modules/re2/build/Release/re2.node post-install: ${ECHO} "@sample ${ETCDIR}/kibana.yml.sample" >> ${TMPPLIST} diff --git a/textproc/kibana7/distinfo b/textproc/kibana7/distinfo index f99132e0709b..956e3e1fefdc 100644 --- a/textproc/kibana7/distinfo +++ b/textproc/kibana7/distinfo @@ -1,3 +1,7 @@ -TIMESTAMP = 1609276223 -SHA256 (kibana-7.10.1-darwin-x86_64.tar.gz) = 325e8bc4f6c88be485f1c7b9f9029646cfa5123411c9ca3be5530a8c171edd76 -SIZE (kibana-7.10.1-darwin-x86_64.tar.gz) = 254099681 +TIMESTAMP = 1625487084 +SHA256 (kibana-7.13.2-darwin-x86_64.tar.gz) = 38964e6f785e500b78a8569b2cc7aa1f0169e73986546b80f36b408af127dd3e +SIZE (kibana-7.13.2-darwin-x86_64.tar.gz) = 304694256 +SHA256 (nodejs-nan-v2.14.2_GH0.tar.gz) = 26dce4db0194c4a7b51b33d0324f3cf36eb67be49dc43a043e0a2dffc9dcdd6d +SIZE (nodejs-nan-v2.14.2_GH0.tar.gz) = 178650 +SHA256 (uhop-node-re2-1.16.0_GH0.tar.gz) = 1f59293128e527942e3b5a372bcbf1f73abb3eb767b8a3958718bb67daa8e16b +SIZE (uhop-node-re2-1.16.0_GH0.tar.gz) = 38904 diff --git a/textproc/kibana7/files/extra-node-re2-binding-gyp.patch b/textproc/kibana7/files/extra-node-re2-binding-gyp.patch new file mode 100644 index 000000000000..ebab5accfed0 --- /dev/null +++ b/textproc/kibana7/files/extra-node-re2-binding-gyp.patch @@ -0,0 +1,51 @@ +--- binding.gyp.orig 2021-05-10 04:34:55.000000000 +0200 ++++ binding.gyp 2021-07-05 19:22:23.670716000 +0200 +@@ -14,29 +14,6 @@ + "lib/to_string.cc", + "lib/accessors.cc", + "lib/util.cc", +- "vendor/re2/bitstate.cc", +- "vendor/re2/compile.cc", +- "vendor/re2/dfa.cc", +- "vendor/re2/filtered_re2.cc", +- "vendor/re2/mimics_pcre.cc", +- "vendor/re2/nfa.cc", +- "vendor/re2/onepass.cc", +- "vendor/re2/parse.cc", +- "vendor/re2/perl_groups.cc", +- "vendor/re2/prefilter.cc", +- "vendor/re2/prefilter_tree.cc", +- "vendor/re2/prog.cc", +- "vendor/re2/re2.cc", +- "vendor/re2/regexp.cc", +- "vendor/re2/set.cc", +- "vendor/re2/simplify.cc", +- "vendor/re2/stringpiece.cc", +- "vendor/re2/tostring.cc", +- "vendor/re2/unicode_casefold.cc", +- "vendor/re2/unicode_groups.cc", +- "vendor/util/pcre.cc", +- "vendor/util/rune.cc", +- "vendor/util/strutil.cc" + ], + "cflags": [ + "-std=c++14", +@@ -45,7 +22,7 @@ + "-Wno-sign-compare", + "-Wno-unused-parameter", + "-Wno-missing-field-initializers", +- "-Wno-cast-function-type", ++ "-Wno-bad-function-cast", + "-O3", + "-g" + ], +@@ -54,7 +31,8 @@ + "NOMINMAX" + ], + "include_dirs": [ +- "<!(node -e \"require('nan')\")", ++ "%%PREFIX%%/include", ++ "%%DEVDIR%%/nan", + "vendor" + ], + "xcode_settings": { diff --git a/textproc/kibana7/files/kibana.in b/textproc/kibana7/files/kibana.in index 4d7514248376..b61f10699d53 100644 --- a/textproc/kibana7/files/kibana.in +++ b/textproc/kibana7/files/kibana.in @@ -2,6 +2,7 @@ # PROVIDE: kibana # REQUIRE: DAEMON +# BEFORE: LOGIN # KEYWORD: shutdown . /etc/rc.subr @@ -16,30 +17,47 @@ load_rc_config $name : ${kibana_user:="www"} : ${kibana_group:="www"} : ${kibana_log:="/var/log/kibana.log"} +: ${kibana_syslog_output_enable:="NO"} -export BABEL_DISABLE_CACHE=1 -export NODE_ENV=production -# ml and reporting modules not supported on FreeBSD -export XPACK_ML_ENABLED=false -export XPACK_REPORTING_ENABLED=false +start_precmd="kibana_start_precmd" +reload_cmd="kibana_reload_cmd" +extra_commands="reload" + +if checkyesno kibana_syslog_output_enable; then + if [ -n "${kibana_syslog_output_tag}" ]; then + kibana_syslog_output_flags="-T ${kibana_syslog_output_tag}" + else + kibana_syslog_output_flags="-T ${name}" + fi + if [ -n "${kibana_syslog_output_priority}" ]; then + kibana_syslog_output_flags="${kibana_syslog_output_flags} -s ${kibana_syslog_output_priority}" + fi + if [ -n "${kibana_syslog_output_facility}" ]; then + kibana_syslog_output_flags="${kibana_syslog_output_flags} -l ${kibana_syslog_output_facility}" + fi +fi + +NODE="%%LOCALBASE%%/bin/node" required_files="${kibana_config}" -pidfile="/var/run/${name}/${name}.pid" -start_precmd="kibana_precmd" -procname="%%LOCALBASE%%/bin/node" +pidfile="/var/run/${name}.pid" + command="/usr/sbin/daemon" -command_args="-f -p ${pidfile} ${procname} --no-warnings %%WWWDIR%%/src/cli/dist serve --config ${kibana_config} --log-file ${kibana_log}" +command_args="-f ${kibana_syslog_output_flags} -P ${pidfile} -t ${name} \ + /usr/bin/env BABEL_DISABLE_CACHE=1 NODE_ENV=production ${kibana_env} \ + ${NODE} --no-warnings --max-http-header-size=65536 \ + %%WWWDIR%%/src/cli/dist serve \ + --config ${kibana_config} --log-file ${kibana_log} \ + --xpack.reporting.enabled=false ${kibana_args}" -kibana_precmd() +kibana_start_precmd() { - if [ ! -d $(dirname ${pidfile}) ]; then - install -d -o ${kibana_user} -g ${kibana_group} $(dirname ${pidfile}) + if [ ! -e "${pidfile}" ]; then + install -m 0600 -o ${kibana_user} -g ${kibana_group} /dev/null ${pidfile} fi - if [ ! -f ${kibana_log} ]; then install -o ${kibana_user} -g ${kibana_group} -m 640 /dev/null ${kibana_log} fi - if [ ! -d %%WWWDIR%%/optimize ]; then install -d -o ${kibana_user} -g ${kibana_group} %%WWWDIR%%/optimize else @@ -49,4 +67,14 @@ kibana_precmd() fi } +kibana_reload_cmd() +{ + if [ -z "$rc_pid" ]; then + _run_rc_notrunning + return 1 + else + pkill -HUP -P ${rc_pid} + fi +} + run_rc_command "$1"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107062045.166KjYlD082539>