Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Feb 2018 23:04:18 +0000 (UTC)
From:      Mark Felder <feld@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org
Subject:   svn commit: r462651 - in branches/2018Q1/textproc/elasticsearch5: . files
Message-ID:  <201802222304.w1MN4I1Y002101@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: feld
Date: Thu Feb 22 23:04:18 2018
New Revision: 462651
URL: https://svnweb.freebsd.org/changeset/ports/462651

Log:
  MFH: r462650
  
  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)

Modified:
  branches/2018Q1/textproc/elasticsearch5/Makefile
  branches/2018Q1/textproc/elasticsearch5/files/elasticsearch.in
Directory Properties:
  branches/2018Q1/   (props changed)

Modified: branches/2018Q1/textproc/elasticsearch5/Makefile
==============================================================================
--- branches/2018Q1/textproc/elasticsearch5/Makefile	Thu Feb 22 23:03:41 2018	(r462650)
+++ branches/2018Q1/textproc/elasticsearch5/Makefile	Thu Feb 22 23:04:18 2018	(r462651)
@@ -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: branches/2018Q1/textproc/elasticsearch5/files/elasticsearch.in
==============================================================================
--- branches/2018Q1/textproc/elasticsearch5/files/elasticsearch.in	Thu Feb 22 23:03:41 2018	(r462650)
+++ branches/2018Q1/textproc/elasticsearch5/files/elasticsearch.in	Thu Feb 22 23:04:18 2018	(r462651)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201802222304.w1MN4I1Y002101>