diff --git a/textproc/elasticsearch7/Makefile b/textproc/elasticsearch7/Makefile index c2ba301f73bf..f78aa6c3d096 100644 --- a/textproc/elasticsearch7/Makefile +++ b/textproc/elasticsearch7/Makefile @@ -1,111 +1,112 @@ # Created by: Tom Judge PORTNAME= elasticsearch -PORTVERSION= 7.10.1 +PORTVERSION= 7.13.2 CATEGORIES= textproc java devel MASTER_SITES= https://artifacts.elastic.co/downloads/${PORTNAME}/ PKGNAMESUFFIX= 7 -DISTNAME= ${PORTNAME}-${PORTVERSION}-no-jdk-darwin-x86_64 +DISTNAME= ${PORTNAME}-${PORTVERSION}-darwin-x86_64 MAINTAINER= elastic@FreeBSD.org COMMENT= Full-text search engine for Java LICENSE= APACHE20 BUILD_DEPENDS= jna>0:devel/jna RUN_DEPENDS= bash>0:shells/bash \ jna>0:devel/jna USES= cpe shebangfix USE_JAVA= yes JAVA_VERSION= 8+ USE_RC_SUBR= ${PORTNAME} SHEBANG_FILES= bin/elasticsearch bin/elasticsearch-certgen \ bin/elasticsearch-certutil bin/elasticsearch-cli \ bin/elasticsearch-croneval bin/elasticsearch-env \ bin/elasticsearch-env-from-file bin/elasticsearch-keystore \ bin/elasticsearch-migrate bin/elasticsearch-node \ bin/elasticsearch-plugin bin/elasticsearch-saml-metadata \ bin/elasticsearch-setup-passwords bin/elasticsearch-shard \ bin/elasticsearch-sql-cli bin/elasticsearch-syskeygen \ bin/elasticsearch-users bin/x-pack-env bin/x-pack-security-env \ bin/x-pack-watcher-env CONFLICTS= elasticsearch[56]-[0-9]* NO_ARCH= yes NO_BUILD= yes WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} OPTIONS_DEFINE= DOCS .include CONFIG_FILES= elasticsearch.yml jvm.options log4j2.properties \ role_mapping.yml roles.yml BINS= elasticsearch elasticsearch-certgen elasticsearch-certutil \ elasticsearch-cli elasticsearch-croneval elasticsearch-env \ elasticsearch-env-from-file elasticsearch-keystore \ elasticsearch-migrate elasticsearch-node elasticsearch-plugin \ elasticsearch-saml-metadata elasticsearch-setup-passwords \ elasticsearch-shard elasticsearch-sql-cli \ elasticsearch-sql-cli-${PORTVERSION}.jar \ elasticsearch-syskeygen elasticsearch-users x-pack-env \ x-pack-security-env x-pack-watcher-env PORTDOCS= LICENSE.txt NOTICE.txt README.asciidoc SIGAR_ARCH= ${ARCH:S|i386|x86|} SEARCHUSER?= elasticsearch SEARCHGROUP?= ${SEARCHUSER} USERS= ${SEARCHUSER} GROUPS= ${SEARCHGROUP} SUB_FILES= pkg-message SUB_LIST= ETCDIR=${ETCDIR} \ JAVA_HOME=${JAVA_HOME} post-patch: ${RM} ${WRKSRC}/lib/jna-*.jar # ML plugin not supported on FreeBSD ${RM} -rf ${WRKSRC}/modules/x-pack/x-pack-ml + ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/bin/elasticsearch-env do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/etc/elasticsearch .for f in ${CONFIG_FILES} ${INSTALL} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample .endfor ${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/bin .for f in ${BINS} ${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${STAGEDIR}${PREFIX}/lib/elasticsearch/bin .endfor ${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/lib (cd ${WRKSRC}/lib && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/elasticsearch/lib/ "-name *\.jar") ${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/modules (cd ${WRKSRC}/modules && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/elasticsearch/modules/) ${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/plugins ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/elasticsearch ${INSTALL} -lrs ${STAGEDIR}${ETCDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/config - ${LN} -s ${JAVASHAREDIR}/classes/jna.jar ${STAGEDIR}${PREFIX}/lib/elasticsearch/lib/jna.jar + ${LN} -s ${JAVASHAREDIR}/classes/jna.jar ${STAGEDIR}${PREFIX}/lib/elasticsearch/lib/jna-0.0.0.jar do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} .for f in ${PORTDOCS} ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR} .endfor post-install: ${ECHO} "@sample ${ETCDIR}/elasticsearch.yml.sample" >> ${TMPPLIST} ${ECHO} "@sample ${ETCDIR}/jvm.options.sample" >> ${TMPPLIST} ${ECHO} "@sample ${ETCDIR}/log4j2.properties.sample" >> ${TMPPLIST} ${ECHO} "@sample ${ETCDIR}/role_mapping.yml.sample" >> ${TMPPLIST} ${ECHO} "@sample ${ETCDIR}/roles.yml.sample" >> ${TMPPLIST} ${FIND} -s ${STAGEDIR}${PREFIX}/lib/elasticsearch -not -type d | ${SORT} | \ ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST} ${ECHO} "@dir lib/elasticsearch/plugins" >> ${TMPPLIST} ${ECHO} "@dir libexec/elasticsearch" >> ${TMPPLIST} ${ECHO} "@dir(elasticsearch,elasticsearch,0755) ${ETCDIR}" >> ${TMPPLIST} .include diff --git a/textproc/elasticsearch7/distinfo b/textproc/elasticsearch7/distinfo index cc3c7c31c7b4..aeefd92f7292 100644 --- a/textproc/elasticsearch7/distinfo +++ b/textproc/elasticsearch7/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1609277185 -SHA256 (elasticsearch-7.10.1-no-jdk-darwin-x86_64.tar.gz) = 269189ce606b071a30724fa678cca42dcbdea88134770070d043927b2a748dac -SIZE (elasticsearch-7.10.1-no-jdk-darwin-x86_64.tar.gz) = 162046388 +TIMESTAMP = 1625521166 +SHA256 (elasticsearch-7.13.2-darwin-x86_64.tar.gz) = e53aa58cc96759cf4c294ea1cc9dbf29008ad7e8ffd32e2030b315dea28758a0 +SIZE (elasticsearch-7.13.2-darwin-x86_64.tar.gz) = 319111204 diff --git a/textproc/elasticsearch7/files/elasticsearch.in b/textproc/elasticsearch7/files/elasticsearch.in index 4a037b2a9918..002a2335bf0b 100644 --- a/textproc/elasticsearch7/files/elasticsearch.in +++ b/textproc/elasticsearch7/files/elasticsearch.in @@ -1,128 +1,128 @@ #!/bin/sh # PROVIDE: elasticsearch -# REQUIRE: NETWORKING SERVERS -# BEFORE: DAEMON +# REQUIRE: DAEMON +# BEFORE: LOGIN # KEYWORD: shutdown # # Add the following line to /etc/rc.conf to enable elasticsearch: # # elasticsearch_enable="YES" # # elasticsearch_user (username): Set to elasticsearch by default. # Set it to required username. # elasticsearch_group (group): Set to elasticsearch by default. # Set it to required group. # elasticsearch_config (path): Set to %%PREFIX%%/etc/elasticsearch/elasticsearch.yml by default. # Set it to the config file location. # elasticsearch_java_home (path): Set to %%JAVA_HOME%% by default. # Set it to the root of the JDK to use. # . /etc/rc.subr name=elasticsearch rcvar=elasticsearch_enable load_rc_config ${name} : ${elasticsearch_enable:=NO} : ${elasticsearch_user=elasticsearch} : ${elasticsearch_group=elasticsearch} : ${elasticsearch_config=%%PREFIX%%/etc/elasticsearch} : ${elasticsearch_login_class=root} : ${elasticsearch_java_home="%%JAVA_HOME%%"} required_files="${elasticsearch_config}/elasticsearch.yml" _pidprefix=/var/run/elasticsearch/elasticsearch pidfile=${_pidprefix}.pid procname=${elasticsearch_java_home}/bin/java extra_commands="console status" console_cmd=elasticsearch_console start_precmd=elasticsearch_precmd command=%%PREFIX%%/lib/elasticsearch/bin/elasticsearch command_args="-d --pidfile=${pidfile}" export ES_PATH_CONF=${elasticsearch_config} -export JAVA_HOME=${elasticsearch_java_home} +export ES_JAVA_HOME=${elasticsearch_java_home} elasticsearch_precmd() { /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 755 ${pidfile%/*} /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 755 /var/db/elasticsearch /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 755 /var/log/elasticsearch } elasticsearch_console() { command_args="" run_rc_command "start" } if [ -n "$2" ]; then profile="$2" if [ "x${elasticsearch_profiles}" != "x" ]; then eval elasticsearch_config="\${elasticsearch_${profile}_config:-}" if [ "x${elasticsearch_config}" = "x" ]; then echo "You must define a configuration (elasticsearch_${profile}_config)" exit 1 fi export ES_PATH_CONF=${elasticsearch_config} required_files="${elasticsearch_config}/elasticsearch.yml" required_files="${elasticsearch_config}/jvm.options" eval elasticsearch_enable="\${elasticsearch_${profile}_enable:-${elasticsearch_enable}}" pidfile="${_pidprefix}.${profile}.pid" command_args="-d --pidfile=${pidfile}" echo "===> elasticsearch profile: ${profile}" else echo "$0: extra argument ignored" fi else if [ "x${elasticsearch_profiles}" != "x" -a "x$1" != "x" ]; then for profile in ${elasticsearch_profiles}; do eval _enable="\${elasticsearch_${profile}_enable}" case "x${_enable:-${elasticsearch_enable}}" in x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee]) continue ;; x[Yy][Ee][Ss]) ;; *) if test -z "$_enable"; then _var=elasticsearch_enable else _var=elasticsearch_"${profile}"_enable fi echo "Bad value" \ "'${_enable:-${elasticsearch_enable}}'" \ "for ${_var}. " \ "Profile ${profile} skipped." continue ;; esac %%PREFIX%%/etc/rc.d/elasticsearch $1 ${profile} retcode="$?" if [ "0${retcode}" -ne 0 ]; then failed="${profile} (${retcode}) ${failed:-}" else success="${profile} ${success:-}" fi done exit 0 fi fi if [ "x${elasticsearch_mem_min}" != "x" ]; then echo "The elasticsearch_mem_min variable is no longer supported please set this in ${elasticsearch_config}/jvm.options" exit 1; fi if [ "x${elasticsearch_mem_max}" != "x" ]; then echo "The elasticsearch_mem_max variable is no longer supported please set this in ${elasticsearch_config}/jvm.options" exit 1; fi if [ "x${elasticsearch_props}" != "x" ]; then echo "The elasticsearch_props variable is no longer supported please set this in ${elasticsearch_config}/jvm.options" exit 1; fi run_rc_command "$1" diff --git a/textproc/elasticsearch7/files/patch-bin_elasticsearch-env b/textproc/elasticsearch7/files/patch-bin_elasticsearch-env new file mode 100644 index 000000000000..4dee506b5784 --- /dev/null +++ b/textproc/elasticsearch7/files/patch-bin_elasticsearch-env @@ -0,0 +1,26 @@ +--- bin/elasticsearch-env.orig 2021-07-05 19:40:21 UTC ++++ bin/elasticsearch-env +@@ -46,12 +46,17 @@ elif [ ! -z "$JAVA_HOME" ]; then + JAVA_TYPE="JAVA_HOME" + else + # use the bundled JDK (default) +- if [ "$(uname -s)" = "Darwin" ]; then +- # macOS has a different structure +- JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java" +- else +- JAVA="$ES_HOME/jdk/bin/java" +- fi ++ case "$(uname -s)" in ++ "Darwin") ++ JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java" ++ ;; ++ "FreeBSD") ++ JAVA=%%LOCALBASE%%/bin/java ++ ;; ++ *) ++ JAVA="$ES_HOME/jdk/bin/java" ++ ;; ++ esac + JAVA_TYPE="bundled JDK" + fi + diff --git a/textproc/elasticsearch7/files/patch-config_elasticsearch.yml b/textproc/elasticsearch7/files/patch-config_elasticsearch.yml index a39468ea84c9..ede1e3ded1bb 100644 --- a/textproc/elasticsearch7/files/patch-config_elasticsearch.yml +++ b/textproc/elasticsearch7/files/patch-config_elasticsearch.yml @@ -1,22 +1,22 @@ ---- config/elasticsearch.yml.orig 2018-09-26 13:30:23 UTC +--- config/elasticsearch.yml.orig 2021-06-10 20:59:11 UTC +++ config/elasticsearch.yml @@ -31,10 +31,12 @@ # Path to directory where to store the data (separate multiple locations by comma): # #path.data: /path/to/data +path.data: /var/db/elasticsearch # # Path to log files: # #path.logs: /path/to/logs +path.logs: /var/log/elasticsearch # # ----------------------------------- Memory ----------------------------------- # -@@ -86,3 +88,6 @@ +@@ -80,3 +82,6 @@ # Require explicit names when deleting indices: # #action.destructive_requires_name: true + +# ml is not supported on FreeBSD +xpack.ml.enabled: false diff --git a/textproc/elasticsearch7/files/patch-config_jvm.options b/textproc/elasticsearch7/files/patch-config_jvm.options index 6289563798a9..7c8c3ce353c0 100644 --- a/textproc/elasticsearch7/files/patch-config_jvm.options +++ b/textproc/elasticsearch7/files/patch-config_jvm.options @@ -1,15 +1,15 @@ ---- config/jvm.options.orig 2020-01-15 04:09:47 UTC +--- config/jvm.options.orig 2021-06-10 20:59:11 UTC +++ config/jvm.options -@@ -67,10 +67,10 @@ +@@ -83,10 +83,10 @@ 8:-XX:+PrintGCDateStamps 8:-XX:+PrintTenuringDistribution 8:-XX:+PrintGCApplicationStoppedTime -8:-Xloggc:logs/gc.log +8:-Xloggc:${ES_TMPDIR}/gc.log 8:-XX:+UseGCLogFileRotation 8:-XX:NumberOfGCLogFiles=32 8:-XX:GCLogFileSize=64m # JDK 9+ GC logging -9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m +9-:-Xlog:gc*,gc+age=trace,safepoint:file=${ES_TMPDIR}/gc.log:utctime,pid,tags:filecount=32,filesize=64m diff --git a/textproc/elasticsearch7/files/pkg-message.in b/textproc/elasticsearch7/files/pkg-message.in index f664cda07807..2182e1a8789b 100644 --- a/textproc/elasticsearch7/files/pkg-message.in +++ b/textproc/elasticsearch7/files/pkg-message.in @@ -1,34 +1,40 @@ [ { type: install message: <