Index: head/textproc/elasticsearch/Makefile =================================================================== --- head/textproc/elasticsearch/Makefile (revision 411849) +++ head/textproc/elasticsearch/Makefile (revision 411850) @@ -1,121 +1,121 @@ # Created by: Tom Judge # $FreeBSD$ PORTNAME= elasticsearch -PORTVERSION= 1.7.4 +PORTVERSION= 1.7.5 CATEGORIES= textproc java devel MASTER_SITES= http://download.elasticsearch.org/${PORTNAME}/${PORTNAME}/ \ http://mirrors.rit.edu/zi/ MAINTAINER= tj@FreeBSD.org COMMENT= Full-text search engine for Java LICENSE= APACHE20 RUN_DEPENDS= java-sigar>=0:${PORTSDIR}/java/sigar CONFLICTS= elasticsearch2-[0-9]* USES= cpe NO_ARCH= yes USE_JAVA= yes NO_BUILD= yes JAVA_VERSION= 1.7+ ONLY_FOR_ARCHS= i386 amd64 USE_RC_SUBR= ${PORTNAME} OPTIONS_DEFINE= DOCS .include LUCENEVER= 4.10.4 CONFIG_FILES= elasticsearch.yml logging.yml JARS= elasticsearch-${PORTVERSION}.jar \ asm-4.1.jar \ asm-commons-4.1.jar \ apache-log4j-extras-1.2.17.jar \ antlr-runtime-3.5.jar \ groovy-all-2.4.4.jar \ jna-4.1.0.jar \ jts-1.13.jar \ log4j-1.2.17.jar \ lucene-analyzers-common-${LUCENEVER}.jar \ lucene-core-${LUCENEVER}.jar \ lucene-expressions-${LUCENEVER}.jar \ lucene-grouping-${LUCENEVER}.jar \ lucene-highlighter-${LUCENEVER}.jar \ lucene-join-${LUCENEVER}.jar \ lucene-memory-${LUCENEVER}.jar \ lucene-queries-${LUCENEVER}.jar \ lucene-misc-${LUCENEVER}.jar \ lucene-queries-${LUCENEVER}.jar \ lucene-queryparser-${LUCENEVER}.jar \ lucene-sandbox-${LUCENEVER}.jar \ lucene-spatial-${LUCENEVER}.jar \ lucene-suggest-${LUCENEVER}.jar \ spatial4j-0.4.1.jar DOCS= LICENSE.txt \ NOTICE.txt \ README.textile SIGAR_ARCH= ${ARCH:S|i386|x86|} SEARCHUSER?= elasticsearch SEARCHGROUP?= ${SEARCHUSER} USERS= ${SEARCHUSER} GROUPS= ${SEARCHGROUP} ELASTIC_DBDIR= /var/db/elasticsearch ELASTIC_LOGDIR= /var/log/elasticsearch .if ${OPSYS} == FreeBSD . if ${OSVERSION} >= 1000000 PLATFORM_VER= 1 . else PLATFORM_VER= 9 . endif .else BROKEN= ${OPSYS} platform is not supported .endif SIGAR_LIBNAME= libsigar-${ARCH:S,i386,x86,}-freebsd-${PLATFORM_VER}.so SUB_LIST= SEARCHUSER=${SEARCHUSER} \ SEARCHGROUP=${SEARCHGROUP} \ PORTVERSION=${PORTVERSION} SUB_FILES= elasticsearch-plugin pkg-message PLIST_SUB= SIGAR_ARCH=${SIGAR_ARCH} \ SEARCHUSER=${SEARCHUSER} \ SEARCHGROUP=${SEARCHGROUP} \ LUCENEVER=${LUCENEVER} \ PORTVERSION=${PORTVERSION} \ ELASTIC_DBDIR=${ELASTIC_DBDIR} \ ELASTIC_LOGDIR=${ELASTIC_LOGDIR} \ SIGAR_LIBNAME=${SIGAR_LIBNAME} post-patch: ${SED} -i .bak -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/config/elasticsearch.yml do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/etc/elasticsearch .for f in ${CONFIG_FILES} ${INSTALL} -m 440 ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample .endfor ${INSTALL_SCRIPT} ${WRKDIR}/elasticsearch-plugin ${STAGEDIR}${PREFIX}/bin/elasticsearch-plugin ${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch .for f in ${JARS} ${INSTALL_DATA} ${WRKSRC}/lib/${f} ${STAGEDIR}${PREFIX}/lib/elasticsearch/ .endfor ${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/plugins ${MKDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/sigar # ${INSTALL_DATA} ${WRKSRC}/lib/sigar/sigar-1.6.4.jar ${STAGEDIR}${PREFIX}/lib/elasticsearch/sigar/ cd ${STAGEDIR}${PREFIX}/lib/elasticsearch/sigar && ${LN} -s ${JAVAJARDIR}/sigar.jar cd ${STAGEDIR}${PREFIX}/lib/elasticsearch/sigar && ${LN} -s ${JAVAJARDIR}/${SIGAR_LIBNAME} do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} .for f in ${DOCS} ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR} .endfor .include Index: head/textproc/elasticsearch/distinfo =================================================================== --- head/textproc/elasticsearch/distinfo (revision 411849) +++ head/textproc/elasticsearch/distinfo (revision 411850) @@ -1,2 +1,2 @@ -SHA256 (elasticsearch-1.7.4.tar.gz) = 395f3417c26a6b36125f6a062c1129b454a961efea09151c692adc63562e5a94 -SIZE (elasticsearch-1.7.4.tar.gz) = 28510433 +SHA256 (elasticsearch-1.7.5.tar.gz) = 0aa58947d66b487488e86059352deb7c6cab5da4accdff043cce9fed7c3d2fa7 +SIZE (elasticsearch-1.7.5.tar.gz) = 28487351 Index: head/textproc/elasticsearch/files/elasticsearch.in =================================================================== --- head/textproc/elasticsearch/files/elasticsearch.in (revision 411849) +++ head/textproc/elasticsearch/files/elasticsearch.in (revision 411850) @@ -1,135 +1,149 @@ #!/bin/sh # # $FreeBSD$ # # PROVIDE: elasticsearch # REQUIRE: NETWORKING SERVERS # BEFORE: DAEMON # 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 /usr/local/etc/elasticsearch/elasticsearch.yml by default. # Set it to the config file location. # elasticsearch_min_mem (num): Minumum JVM heap size, 256m by default. # elasticsearch_max_mem (num): Maximum JVM heap size, 1g by default. # elasticsearch_props (args): Additional java properties or arguments. # elasticsearch_tmp (path): Set to /var/tmp/elasticsearch by default. # Set it to the path to be used for temp files. # . /etc/rc.subr name=elasticsearch rcvar=elasticsearch_enable load_rc_config ${name} : ${elasticsearch_enable:="NO"} : ${elasticsearch_user:=%%SEARCHUSER%%} : ${elasticsearch_group:=%%SEARCHGROUP%%} : ${elasticsearch_config:="%%PREFIX%%/etc/elasticsearch/elasticsearch.yml"} : ${elasticsearch_min_mem:="256m"} : ${elasticsearch_max_mem:="1g"} : ${elasticsearch_props:=""} : ${elasticsearch_tmp:="/var/tmp/elasticsearch"} # Force the JVM to use IPv4 stack # elasticshearch_props"-Djava.net.preferIPv4Stack=true" required_files="${elasticsearch_config}" pidfile="/var/run/${name}.pid" ES_LIB="%%PREFIX%%/lib/elasticsearch" ES_CLASSPATH=$ES_LIB/elasticsearch-%%PORTVERSION%%.jar:$ES_LIB/*:$ES_LIB/sigar/* java_options=" -server \ -Xms${elasticsearch_min_mem} \ -Xmx${elasticsearch_max_mem} \ -Xss256k \ -Djava.awt.headless=true \ -XX:+UseParNewGC \ -XX:+UseConcMarkSweepGC \ -XX:CMSInitiatingOccupancyFraction=75 \ -XX:+UseCMSInitiatingOccupancyOnly \ -XX:+HeapDumpOnOutOfMemoryError \ -XX:+DisableExplicitGC \ -Delasticsearch \ -Des.config=${elasticsearch_config} \ -cp ${ES_CLASSPATH}" extra_commands="console status" console_cmd="elasticsearch_console" start_precmd="elasticsearch_precmd" status_cmd="elasticsearch_status" stop_cmd="elasticsearch_stop" command="/usr/sbin/daemon" command_args="-f %%LOCALBASE%%/bin/java -Des.pidfile=${pidfile} ${elasticsearch_props} ${java_options} org.elasticsearch.bootstrap.Elasticsearch" elasticsearch_precmd() { + rc_pid=$(elasticsearch_check_pidfile $pidfile) + + if [ -n "$rc_pid" ]; then + [ -n "$rc_fast" ] && return 0 + echo "${name} is already running: $rc_pid" + return 1 + fi 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 } elasticsearch_console() { + rc_pid=$(elasticsearch_check_pidfile $pidfile) + + if [ -n "$rc_pid" ]; then + [ -n "$rc_fast" ] && return 0 + echo "${name} is already running: $rc_pid" + return 1 + fi %%LOCALBASE%%/bin/java -Des.foreground=yes ${elasticsearch_props} ${java_options} org.elasticsearch.bootstrap.Elasticsearch } 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 + if [ -n "`/usr/bin/su -m ${elasticsearch_user} -c '%%LOCALBASE%%/bin/jps -l' | grep -e "^$_pid"`" ]; then echo -n $_pid fi } run_rc_command "$1"