svn commit: r462650 - in head/textproc/elasticsearch5: . files

Mark Felder feld at FreeBSD.org
Thu Feb 22 23:03:42 UTC 2018


Author: feld
Date: Thu Feb 22 23:03:41 2018
New Revision: 462650
URL: https://svnweb.freebsd.org/changeset/ports/462650

Log:
  textproc/elasticsearch5: Use native facilites for manging the process
  
  start/stop/status will behave correctly with procname set.
  
  This now prevents Elastic from starting when a process is already
  running, stops cleanly, and also handles multiple profiles correctly:
  if only some of the profile processes are running, a "service
  elasticsearch start" will only start the profiles that are not detected
  as running already.
  
  All of this comes with the caveat that Elastic is slow to start up and write
  its pidfile, so if you are too quick it will allow duplicate processes
  to start. Here be JVM dragons.
  
  Approved by:	portmgr (with hat)
  MFH:		2018Q1

Modified:
  head/textproc/elasticsearch5/Makefile
  head/textproc/elasticsearch5/files/elasticsearch.in

Modified: head/textproc/elasticsearch5/Makefile
==============================================================================
--- head/textproc/elasticsearch5/Makefile	Thu Feb 22 22:59:37 2018	(r462649)
+++ head/textproc/elasticsearch5/Makefile	Thu Feb 22 23:03:41 2018	(r462650)
@@ -3,7 +3,7 @@
 
 PORTNAME=	elasticsearch
 PORTVERSION=	5.3.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	textproc java devel
 MASTER_SITES=	https://artifacts.elastic.co/downloads/${PORTNAME}/ \
 		http://mirrors.rit.edu/zi/
@@ -51,7 +51,8 @@ ELASTIC_LOGDIR=	/var/log/elasticsearch
 
 SUB_LIST=	SEARCHUSER=${SEARCHUSER} \
 		SEARCHGROUP=${SEARCHGROUP} \
-		PORTVERSION=${PORTVERSION}
+		PORTVERSION=${PORTVERSION} \
+		JAVA=${JAVA}
 SUB_FILES=	pkg-message
 PLIST_SUB+=	SEARCHUSER=${SEARCHUSER} \
 		SEARCHGROUP=${SEARCHGROUP} \

Modified: head/textproc/elasticsearch5/files/elasticsearch.in
==============================================================================
--- head/textproc/elasticsearch5/files/elasticsearch.in	Thu Feb 22 22:59:37 2018	(r462649)
+++ head/textproc/elasticsearch5/files/elasticsearch.in	Thu Feb 22 23:03:41 2018	(r462650)
@@ -36,12 +36,11 @@ load_rc_config ${name}
 required_files="${elasticsearch_config}/elasticsearch.yml"
 _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} -Epath.conf=${elasticsearch_config}"
 
@@ -59,52 +58,6 @@ 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 $sig_stop ${rc_pid}
-    wait_for_pids ${rc_pid}
-}
-
-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 "`%%PREFIX%%/bin/jps -l | grep -e "^$_pid"`" ]; then
-        echo -n $_pid
-    fi
-}
 if [ -n "$2" ]; then
     profile="$2"
     if [ "x${elasticsearch_profiles}" != "x" ]; then


More information about the svn-ports-head mailing list