forked from freebsd/freebsd-ports
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
textproc/opensearch-dashboards: New port
OpenSearch Dashboards is the default visualization tool for data in OpenSearch. It also serves as a user interface for many of the OpenSearch plugins, including security, alerting, Index State Management, SQL, and more. WWW: http://opensearch.org With hat: opensearch
- Loading branch information
Showing
12 changed files
with
278 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
PORTNAME= opensearch-dashboards | ||
DISTVERSION= 1.0.1 | ||
DISTVERSIONSUFFIX= -linux-x64 | ||
CATEGORIES= textproc www | ||
MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/ | ||
|
||
MAINTAINER= [email protected] | ||
COMMENT= Visualization dashboards for OpenSearch | ||
|
||
LICENSE= APACHE20 | ||
LICENSE_FILE= ${WRKSRC}/LICENSE.txt | ||
|
||
BUILD_DEPENDS= node14>=14.17.0:www/node14 \ | ||
npm-node14>0:www/npm-node14 | ||
RUN_DEPENDS= node14>=14.17.0:www/node14 | ||
|
||
USES= python:build | ||
USE_RC_SUBR= ${PORTNAME} | ||
|
||
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} | ||
|
||
_DEVDIR= ${WRKDIR}/.devdir | ||
|
||
post-patch: | ||
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' -e 's|%%LOCALBASE%%|${LOCALBASE}|' -e 's|%%WRKSRC%%|${WRKSRC}|' \ | ||
${WRKSRC}/bin/opensearch-dashboards \ | ||
${WRKSRC}/bin/opensearch-dashboards-keystore \ | ||
${WRKSRC}/bin/opensearch-dashboards-plugin \ | ||
${WRKSRC}/node_modules/re2/binding.gyp \ | ||
${WRKSRC}/plugins/reportsDashboards/server/routes/utils/constants.js | ||
${RM} \ | ||
${WRKSRC}/bin/*.orig \ | ||
${WRKSRC}/bin/*.bak \ | ||
${WRKSRC}/node_modules/re2/binding.gyp.orig \ | ||
${WRKSRC}/node_modules/re2/binding.gyp.bak \ | ||
${WRKSRC}/plugins/reportsDashboards/server/routes/utils/constants.js.orig \ | ||
${WRKSRC}/plugins/reportsDashboards/server/routes/utils/constants.js.bak | ||
${RM} -r ${WRKSRC}/plugins/reportsDashboards/.chromium | ||
|
||
do-configure: | ||
(cd ${WRKSRC}/node_modules/re2 && \ | ||
${SETENV} HOME=${WRKDIR} \ | ||
${LOCALBASE}/lib/node_modules/npm/bin/node-gyp-bin/node-gyp configure \ | ||
--python=${PYTHON_CMD} \ | ||
--nodedir ${LOCALBASE} \ | ||
--devdir=${_DEVDIR}) | ||
|
||
do-build: | ||
(cd ${WRKSRC}/node_modules/re2 && \ | ||
${SETENV} HOME=${WRKDIR} \ | ||
${LOCALBASE}/lib/node_modules/npm/bin/node-gyp-bin/node-gyp build \ | ||
--devdir=${_DEVDIR}) | ||
${RM} -r ${WRKSRC}/node_modules/re2/build/Release/.deps \ | ||
${WRKSRC}/node_modules/re2/build/Release/obj.target | ||
|
||
do-install: | ||
${MKDIR} ${STAGEDIR}${WWWDIR} ${STAGEDIR}${ETCDIR} | ||
${INSTALL_DATA} ${WRKSRC}/config/opensearch_dashboards.yml ${STAGEDIR}${ETCDIR}/opensearch_dashboards.yml.sample | ||
(cd ${WRKSRC} && \ | ||
${COPYTREE_SHARE} "data node_modules package.json plugins src" ${STAGEDIR}${WWWDIR} && \ | ||
${COPYTREE_BIN} bin ${STAGEDIR}${WWWDIR}) | ||
${STRIP_CMD} ${STAGEDIR}${WWWDIR}/node_modules/re2/build/Release/re2.node | ||
|
||
post-install: | ||
${ECHO} "@sample ${ETCDIR}/opensearch_dashboards.yml.sample" >> ${TMPPLIST} | ||
${FIND} -s ${STAGEDIR}${WWWDIR} -not -type d | ${SORT} | \ | ||
${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST} | ||
${ECHO} "@dir(www,www) ${WWWDIR}/data" >> ${TMPPLIST} | ||
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/legacy" >> ${TMPPLIST} | ||
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/fixed" >> ${TMPPLIST} | ||
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/test/resources/dynamic" >> ${TMPPLIST} | ||
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/examples/fixed" >> ${TMPPLIST} | ||
${ECHO} "@dir ${WWWDIR}/plugins/reportsDashboards/node_modules/set-interval-async/examples/dynamic" >> ${TMPPLIST} | ||
|
||
.include <bsd.port.mk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
TIMESTAMP = 1630974509 | ||
SHA256 (opensearch-dashboards-1.0.1-linux-x64.tar.gz) = 2ed7dac6d98dbf0bdeb04c21197ee12cef731a3ab5a549b633f708111122d9ee | ||
SIZE (opensearch-dashboards-1.0.1-linux-x64.tar.gz) = 203017916 |
80 changes: 80 additions & 0 deletions
80
textproc/opensearch-dashboards/files/opensearch-dashboards.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
#!/bin/sh | ||
|
||
# PROVIDE: opensearch_dashboards | ||
# REQUIRE: DAEMON | ||
# BEFORE: LOGIN | ||
# KEYWORD: shutdown | ||
|
||
. /etc/rc.subr | ||
|
||
name=opensearch_dashboards | ||
rcvar=opensearch_dashboards_enable | ||
|
||
load_rc_config $name | ||
|
||
: ${opensearch_dashboards_enable:="NO"} | ||
: ${opensearch_dashboards_config:="%%ETCDIR%%/opensearch_dashboards.yml"} | ||
: ${opensearch_dashboards_user:="www"} | ||
: ${opensearch_dashboards_group:="www"} | ||
: ${opensearch_dashboards_log:="/var/log/opensearch_dashboards.log"} | ||
: ${opensearch_dashboards_syslog_output_enable:="NO"} | ||
|
||
start_precmd="opensearch_dashboards_start_precmd" | ||
reload_cmd="opensearch_dashboards_reload_cmd" | ||
extra_commands="reload" | ||
|
||
if checkyesno opensearch_dashboards_syslog_output_enable; then | ||
if [ -n "${opensearch_dashboards_syslog_output_tag}" ]; then | ||
opensearch_dashboards_syslog_output_flags="-T ${opensearch_dashboards_syslog_output_tag}" | ||
else | ||
opensearch_dashboards_syslog_output_flags="-T ${name}" | ||
fi | ||
if [ -n "${opensearch_dashboards_syslog_output_priority}" ]; then | ||
opensearch_dashboards_syslog_output_flags="${opensearch_dashboards_syslog_output_flags} -s ${opensearch_dashboards_syslog_output_priority}" | ||
fi | ||
if [ -n "${opensearch_dashboards_syslog_output_facility}" ]; then | ||
opensearch_dashboards_syslog_output_flags="${opensearch_dashboards_syslog_output_flags} -l ${opensearch_dashboards_syslog_output_facility}" | ||
fi | ||
fi | ||
|
||
NODE="%%LOCALBASE%%/bin/node" | ||
|
||
required_files="${opensearch_dashboards_config}" | ||
pidfile="/var/run/${name}.pid" | ||
|
||
command="/usr/sbin/daemon" | ||
command_args="-f ${opensearch_dashboards_syslog_output_flags} -P ${pidfile} -t ${name} \ | ||
/usr/bin/env NODE_ENV=production ${opensearch_dashboards_env} \ | ||
${NODE} --no-warnings --max-http-header-size=65536 \ | ||
%%WWWDIR%%/src/cli/dist serve \ | ||
--config ${opensearch_dashboards_config} --log-file ${opensearch_dashboards_log} \ | ||
${opensearch_dashboards_args}" | ||
|
||
opensearch_dashboards_start_precmd() | ||
{ | ||
if [ ! -e "${pidfile}" ]; then | ||
install -m 0600 -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} /dev/null ${pidfile} | ||
fi | ||
if [ ! -f ${opensearch_dashboards_log} ]; then | ||
install -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} -m 640 /dev/null ${opensearch_dashboards_log} | ||
fi | ||
if [ ! -d %%WWWDIR%%/optimize ]; then | ||
install -d -o ${opensearch_dashboards_user} -g ${opensearch_dashboards_group} %%WWWDIR%%/optimize | ||
else | ||
# We may have installed a plugin as root which will cause files in here | ||
# to be owned by root:wheel. Fix with a chown. | ||
chown -R ${opensearch_dashboards_user}:${opensearch_dashboards_group} %%WWWDIR%%/optimize | ||
fi | ||
} | ||
|
||
opensearch_dashboards_reload_cmd() | ||
{ | ||
if [ -z "$rc_pid" ]; then | ||
_run_rc_notrunning | ||
return 1 | ||
else | ||
pkill -HUP -P ${rc_pid} | ||
fi | ||
} | ||
|
||
run_rc_command "$1" |
13 changes: 13 additions & 0 deletions
13
textproc/opensearch-dashboards/files/patch-bin_opensearch-dashboards
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- bin/opensearch-dashboards.orig 2021-07-02 23:30:56 UTC | ||
+++ bin/opensearch-dashboards | ||
@@ -14,8 +14,8 @@ while [ -h "$SCRIPT" ] ; do | ||
done | ||
|
||
DIR="$(dirname "${SCRIPT}")/.." | ||
-CONFIG_DIR=${OSD_PATH_CONF:-"$DIR/config"} | ||
-NODE="${DIR}/node/bin/node" | ||
+CONFIG_DIR="%%PREFIX%%/etc/opensearch-dashboards" | ||
+NODE="%%LOCALBASE%%/bin/node" | ||
test -x "$NODE" | ||
if [ ! -x "$NODE" ]; then | ||
echo "unable to find usable node.js executable." |
13 changes: 13 additions & 0 deletions
13
textproc/opensearch-dashboards/files/patch-bin_opensearch-dashboards-keystore
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- bin/opensearch-dashboards-keystore.orig 2021-07-02 23:30:56 UTC | ||
+++ bin/opensearch-dashboards-keystore | ||
@@ -14,8 +14,8 @@ while [ -h "$SCRIPT" ] ; do | ||
done | ||
|
||
DIR="$(dirname "${SCRIPT}")/.." | ||
-CONFIG_DIR=${OSD_PATH_CONF:-"$DIR/config"} | ||
-NODE="${DIR}/node/bin/node" | ||
+CONFIG_DIR="%%PREFIX%%/etc/opensearch-dashboards" | ||
+NODE="%%LOCALBASE%%/bin/node" | ||
test -x "$NODE" | ||
if [ ! -x "$NODE" ]; then | ||
echo "unable to find usable node.js executable." |
13 changes: 13 additions & 0 deletions
13
textproc/opensearch-dashboards/files/patch-bin_opensearch-dashboards-plugin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- bin/opensearch-dashboards-plugin.orig 2021-07-02 23:30:56 UTC | ||
+++ bin/opensearch-dashboards-plugin | ||
@@ -14,8 +14,8 @@ while [ -h "$SCRIPT" ] ; do | ||
done | ||
|
||
DIR="$(dirname "${SCRIPT}")/.." | ||
-CONFIG_DIR=${OSD_PATH_CONF:-"$DIR/config"} | ||
-NODE="${DIR}/node/bin/node" | ||
+CONFIG_DIR="%%PREFIX%%/etc/opensearch-dashboards" | ||
+NODE="%%LOCALBASE%%/bin/node" | ||
test -x "$NODE" | ||
if [ ! -x "$NODE" ]; then | ||
echo "unable to find usable node.js executable." |
21 changes: 21 additions & 0 deletions
21
textproc/opensearch-dashboards/files/patch-node__modules_re2_binding.gyp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
--- node_modules/re2/binding.gyp.orig 2021-07-02 23:30:56 UTC | ||
+++ node_modules/re2/binding.gyp | ||
@@ -45,7 +45,7 @@ | ||
"-Wno-sign-compare", | ||
"-Wno-unused-parameter", | ||
"-Wno-missing-field-initializers", | ||
- "-Wno-cast-function-type", | ||
+ "-Wno-bad-function-cast", | ||
"-O3", | ||
"-g" | ||
], | ||
@@ -54,7 +54,8 @@ | ||
"NOMINMAX" | ||
], | ||
"include_dirs": [ | ||
- "<!(node -e \"require('nan')\")", | ||
+ "%%WRKSRC%%/node_modules/nan", | ||
+ "%%LOCALBASE%%/include", | ||
"vendor" | ||
], | ||
"xcode_settings": { |
11 changes: 11 additions & 0 deletions
11
...nsearch-dashboards/files/patch-plugins_reportsDashboards_server_routes_utils_constants.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- plugins/reportsDashboards/server/routes/utils/constants.js.orig 2021-09-16 00:07:34 UTC | ||
+++ plugins/reportsDashboards/server/routes/utils/constants.js | ||
@@ -130,7 +130,7 @@ const SECURITY_CONSTANTS = { | ||
PROXY_AUTH_IP_HEADER: 'x-forwarded-for' | ||
}; | ||
exports.SECURITY_CONSTANTS = SECURITY_CONSTANTS; | ||
-const CHROMIUM_PATH = `${__dirname}/../../../.chromium/headless_shell`; | ||
+const CHROMIUM_PATH = '%%LOCALBASE%%/bin/chrome'; | ||
/** | ||
* Metric constants | ||
*/ |
18 changes: 18 additions & 0 deletions
18
textproc/opensearch-dashboards/files/patch-src_setup__node__env_node__version__validator.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- src/setup_node_env/node_version_validator.js.orig 2021-09-07 03:05:30 UTC | ||
+++ src/setup_node_env/node_version_validator.js | ||
@@ -38,11 +38,11 @@ var pkg = require('../../package.json'); // Note: This | ||
var currentVersion = process && process.version || null; | ||
var rawRequiredVersion = pkg && pkg.engines && pkg.engines.node || null; | ||
var requiredVersion = rawRequiredVersion ? 'v' + rawRequiredVersion : rawRequiredVersion; | ||
-var isVersionValid = !!currentVersion && !!requiredVersion && currentVersion === requiredVersion; // Validates current the NodeJS version compatibility when OpenSearch Dashboards starts. | ||
+var isVersionValid = !!currentVersion && !!requiredVersion && currentVersion >= requiredVersion; // Validates current the NodeJS version compatibility when OpenSearch Dashboards starts. | ||
|
||
if (!isVersionValid) { | ||
- var errorMessage = 'OpenSearch Dashboards does not support the current Node.js version ' + currentVersion + '. Please use Node.js ' + requiredVersion + '.'; // Actions to apply when validation fails: error report + exit. | ||
+ var errorMessage = 'OpenSearch Dashboards does not support the current Node.js version ' + currentVersion + '. Please use Node.js >= ' + requiredVersion + '.'; // Actions to apply when validation fails: error report + exit. | ||
|
||
console.error(errorMessage); | ||
process.exit(1); | ||
-} | ||
\ No newline at end of file | ||
+} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#!/bin/sh | ||
|
||
case "$2" in | ||
POST-DEINSTALL) | ||
if [ -d %%WWWDIR%%/optimize ]; then | ||
/usr/bin/find %%WWWDIR%%/optimize/ -delete | ||
fi | ||
|
||
cat <<EOMSG | ||
If %%PORTNAME%%%%PKGNAMESUFFIX%% is being deleted permanently, and you do not wish to keep any | ||
data that was in the cluster, then you may wish to delete the | ||
%%WWWDIR%% directory. This can be done by with the command: | ||
# rm -rf %%WWWDIR%% | ||
Please ignore this if %%PORTNAME%%%%PKGNAMESUFFIX%% is being upgraded | ||
EOMSG | ||
;; | ||
esac |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
OpenSearch Dashboards is the default visualization tool for data in OpenSearch. | ||
It also serves as a user interface for many of the OpenSearch plugins, | ||
including security, alerting, Index State Management, SQL, and more. | ||
|
||
WWW: http://opensearch.org |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters