Date: Sat, 24 Feb 2018 15:42:11 +0000 (UTC) From: Mark Felder <feld@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r462845 - in head/textproc/elasticsearch6: . files Message-ID: <201802241542.w1OFgB3v036658@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: feld Date: Sat Feb 24 15:42:11 2018 New Revision: 462845 URL: https://svnweb.freebsd.org/changeset/ports/462845 Log: textproc/elasticsearch6: Update to 6.2.2 - Take maintainership - Sync up with work done on textproc/elasticsearch5 port Approved by: maintainer (private email) Deleted: head/textproc/elasticsearch6/pkg-plist Modified: head/textproc/elasticsearch6/Makefile head/textproc/elasticsearch6/distinfo head/textproc/elasticsearch6/files/elasticsearch.in head/textproc/elasticsearch6/files/pkg-message.in Modified: head/textproc/elasticsearch6/Makefile ============================================================================== --- head/textproc/elasticsearch6/Makefile Sat Feb 24 15:25:48 2018 (r462844) +++ head/textproc/elasticsearch6/Makefile Sat Feb 24 15:42:11 2018 (r462845) @@ -2,13 +2,14 @@ # $FreeBSD$ PORTNAME= elasticsearch -PORTVERSION= 6.0.1 +PORTVERSION= 6.2.2 +PORTREVISION= 0 CATEGORIES= textproc java devel MASTER_SITES= https://artifacts.elastic.co/downloads/${PORTNAME}/ \ http://mirrors.rit.edu/zi/ PKGNAMESUFFIX= 6 -MAINTAINER= pi@FreeBSD.org +MAINTAINER= feld@FreeBSD.org COMMENT= Full-text search engine for Java LICENSE= APACHE20 @@ -30,12 +31,11 @@ OPTIONS_DEFINE= DOCS .include <bsd.port.options.mk> -LUCENEVER= 6.4.1 CONFIG_FILES= elasticsearch.yml log4j2.properties jvm.options BINS= elasticsearch \ elasticsearch-plugin -DOCS= LICENSE.txt \ +PORTDOCS= LICENSE.txt \ NOTICE.txt \ README.textile @@ -44,47 +44,46 @@ SEARCHUSER?= elasticsearch SEARCHGROUP?= ${SEARCHUSER} USERS= ${SEARCHUSER} GROUPS= ${SEARCHGROUP} -ELASTIC_DBDIR= /var/db/elasticsearch -ELASTIC_LOGDIR= /var/log/elasticsearch -SUB_LIST= SEARCHUSER=${SEARCHUSER} \ - SEARCHGROUP=${SEARCHGROUP} \ - PORTVERSION=${PORTVERSION} +SUB_LIST= ETCDIR=${ETCDIR} JAVA=${JAVA} SUB_FILES= pkg-message -PLIST_SUB+= SEARCHUSER=${SEARCHUSER} \ - SEARCHGROUP=${SEARCHGROUP} \ - LUCENEVER=${LUCENEVER} \ - PORTVERSION=${PORTVERSION} \ - ELASTIC_DBDIR=${ELASTIC_DBDIR} \ - ELASTIC_LOGDIR=${ELASTIC_LOGDIR} post-patch: ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/config/elasticsearch.yml ${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/bin/elasticsearch do-install: - @${MKDIR} ${STAGEDIR}${PREFIX}/etc/elasticsearch + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/elasticsearch .for f in ${CONFIG_FILES} - ${INSTALL} -m 440 ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample + ${INSTALL} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample .endfor - @${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/bin + ${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 + ${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/lib (cd ${WRKSRC}/lib && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/elasticsearch/lib/ "-name *\.jar") - @${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/modules + ${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 - @${MKDIR} ${STAGEDIR}${ELASTIC_DBDIR} ${STAGEDIR}${ELASTIC_LOGDIR} - cd ${STAGEDIR}${PREFIX}/bin && ${LN} -s ${PREFIX}/lib/elasticsearch/bin/elasticsearch-plugin elasticsearch-plugin + ${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/plugins + ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/elasticsearch + ${INSTALL} -lrs ${STAGEDIR}${PREFIX}/lib/elasticsearch/bin/elasticsearch-plugin ${STAGEDIR}${PREFIX}/bin/elasticsearch-plugin do-install-DOCS-on: - @${MKDIR} ${STAGEDIR}${DOCSDIR} -.for f in ${DOCS} + ${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}/log4j2.properties.sample" >> ${TMPPLIST} + ${ECHO} "@sample ${ETCDIR}/jvm.options.sample" >> ${TMPPLIST} + ${ECHO} "bin/elasticsearch-plugin" >> ${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} .include <bsd.port.mk> Modified: head/textproc/elasticsearch6/distinfo ============================================================================== --- head/textproc/elasticsearch6/distinfo Sat Feb 24 15:25:48 2018 (r462844) +++ head/textproc/elasticsearch6/distinfo Sat Feb 24 15:42:11 2018 (r462845) @@ -1,3 +1,3 @@ -TIMESTAMP = 1518385033 -SHA256 (elasticsearch-6.0.1.tar.gz) = efaf32aba41e1b7fd086639c0f062c39e1f28b360a78d5c2b8deed797a4c5c57 -SIZE (elasticsearch-6.0.1.tar.gz) = 28026460 +TIMESTAMP = 1519482605 +SHA256 (elasticsearch-6.2.2.tar.gz) = b26e3546784b39ce3eacc10411e68ada427c5764bcda3064e9bb284eca907983 +SIZE (elasticsearch-6.2.2.tar.gz) = 29049540 Modified: head/textproc/elasticsearch6/files/elasticsearch.in ============================================================================== --- head/textproc/elasticsearch6/files/elasticsearch.in Sat Feb 24 15:25:48 2018 (r462844) +++ head/textproc/elasticsearch6/files/elasticsearch.in Sat Feb 24 15:42:11 2018 (r462845) @@ -15,7 +15,7 @@ # Set it to required username. # elasticsearch_group (group): Set to elasticsearch by default. # Set it to required group. -# elasticsearch_config (path): Set to /usr/local/etc/elasticsearch/elasticsearch.yml by default. +# elasticsearch_config (path): Set to %%PREFIX%%/etc/elasticsearch/elasticsearch.yml by default. # Set it to the config file location. # elasticsearch_tmp (path): Set to /var/tmp/elasticsearch by default. # Set it to the path to be used for temp files. @@ -27,31 +27,29 @@ rcvar=elasticsearch_enable load_rc_config ${name} -: ${elasticsearch_enable:="NO"} -: ${elasticsearch_user:=%%SEARCHUSER%%} -: ${elasticsearch_group:=%%SEARCHGROUP%%} -: ${elasticsearch_config:="%%PREFIX%%/etc/elasticsearch"} -: ${elasticsearch_tmp:="/var/tmp/elasticsearch"} +: ${elasticsearch_enable:=NO} +: ${elasticsearch_user=elasticsearch} +: ${elasticsearch_group=elasticsearch} +: ${elasticsearch_config=%%PREFIX%%/etc/elasticsearch} +: ${elasticsearch_tmp=/var/tmp/elasticsearch} required_files="${elasticsearch_config}/elasticsearch.yml" -_pidprefix="/var/run/elasticsearch" -pidfile="${_pidprefix}.pid" +_pidprefix=/var/run/elasticsearch +pidfile=${_pidprefix}.pid +procname=%%JAVA%% extra_commands="console status" -console_cmd="elasticsearch_console" -start_precmd="elasticsearch_precmd" -status_cmd="elasticsearch_status" -stop_cmd="elasticsearch_stop" -command="%%PREFIX%%/lib/elasticsearch/bin/elasticsearch" -command_args="-d --pidfile=${pidfile}" +console_cmd=elasticsearch_console +start_precmd=elasticsearch_precmd +command=%%PREFIX%%/lib/elasticsearch/bin/elasticsearch +command_args="-d --pidfile=${pidfile} -Epath.conf=${elasticsearch_config}" elasticsearch_precmd() { - touch ${pidfile} - chown ${elasticsearch_user}:${elasticsearch_group} ${pidfile} - /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 750 ${elasticsearch_tmp} - /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 750 /var/db/elasticsearch - /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 750 /var/log/elasticsearch + /usr/bin/install -o ${elasticsearch_user} -g ${elasticsearch_group} /dev/null ${pidfile} + /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 755 ${elasticsearch_tmp} + /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() @@ -60,57 +58,9 @@ elasticsearch_console() run_rc_command "start" } - -elasticsearch_stop() -{ - rc_pid=$(elasticsearch_check_pidfile $pidfile) - - if [ -z "$rc_pid" ]; then - [ -n "$rc_fast" ] && return 0 - echo "${name} not running? (check $pidfile)." - return 1 - fi - - echo "Stopping ${name}." - kill ${rc_pid} 2> /dev/null -} - -elasticsearch_status() -{ - rc_pid=$(elasticsearch_check_pidfile $pidfile) - - if [ -z "$rc_pid" ]; then - [ -n "$rc_fast" ] && return 0 - echo "${name} not running? (check $pidfile)." - return 1 - fi - echo "${name} is running as pid ${rc_pid}." -} - -elasticsearch_check_pidfile() -{ - _pidfile=$1 - if [ -z "$_pidfile" ]; then - err 3 'USAGE: elasticsearch_check_pidfile pidfile' - fi - if [ ! -f $_pidfile ]; then - debug "pid file ($_pidfile): not readable." - return - fi - read _pid _junk < $_pidfile - if [ -z "$_pid" ]; then - debug "pid file ($_pidfile): no pid in file." - return - fi - if [ -n "`%%LOCALBASE%%/bin/jps -l | grep -e "^$_pid"`" ]; then - echo -n $_pid - fi -} if [ -n "$2" ]; then profile="$2" if [ "x${elasticsearch_profiles}" != "x" ]; then - pidfile="${_pidprefix}.${profile}.pid" - command_args="-d --pidfile=${pidfile}" eval elasticsearch_config="\${elasticsearch_${profile}_config:-}" if [ "x${elasticsearch_config}" = "x" ]; then echo "You must define a configuration (elasticsearch_${profile}_config)" @@ -120,6 +70,12 @@ if [ -n "$2" ]; then required_files="${elasticsearch_config}/jvm.options" eval elasticsearch_enable="\${elasticsearch_${profile}_enable:-${elasticsearch_enable}}" eval elasticsearch_tmp="\${elasticsearch_${profile}_args:-${elasticsearch_tmp}}" + pidfile="${_pidprefix}.${profile}.pid" + if [ -e ${elasticsearch_config}/jvm.options ]; then + export ES_JVM_OPTIONS=${elasticsearch_config}/jvm.options + fi + command_args="-d --pidfile=${pidfile} -Epath.conf=${elasticsearch_config}" + echo "===> elasticsearch profile: ${profile}" else echo "$0: extra argument ignored" fi @@ -146,8 +102,7 @@ else continue ;; esac - echo "===> elasticsearch profile: ${profile}" - /usr/local/etc/rc.d/elasticsearch $1 ${profile} + %%PREFIX%%/etc/rc.d/elasticsearch $1 ${profile} retcode="$?" if [ "0${retcode}" -ne 0 ]; then failed="${profile} (${retcode}) ${failed:-}" Modified: head/textproc/elasticsearch6/files/pkg-message.in ============================================================================== --- head/textproc/elasticsearch6/files/pkg-message.in Sat Feb 24 15:25:48 2018 (r462844) +++ head/textproc/elasticsearch6/files/pkg-message.in Sat Feb 24 15:42:11 2018 (r462845) @@ -3,4 +3,22 @@ Please see %%ETCDIR%% for sample versions of elasticsearch.yml and logging.yml. +ElasticSearch requires memory locking of large amounts of RAM. +You will either need to set: + +sysrc elasticsearch_login_class="root" + +or + +sysctl security.bsd.unprivileged_mlock=1 + +to prevent the process from failing the bootstrap. + +Do note that you need to set + +bootstrap.system_call_filter: false + +in your elasticsearch.yml file to successfully bootstrap on non-Linux +OSes now. + ======================================================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201802241542.w1OFgB3v036658>