mirror of
https://github.com/netbirdio/FreeBSD-ports.git
synced 2026-05-22 18:42:42 -07:00
textproc/apache-solr: use sockstat instead of lsof
While starting solr it is using now sockstat and can detect now if the start was successful. The patch is also provided upstream here: https://github.com/apache/solr/pull/2906 Thanks a lot freebsd@koenigbj.8bx.de to provide with the required sockstat parameters to make this PR possible. PR: 283270
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
PORTNAME= apache-solr
|
||||
PORTVERSION= 9.7.0
|
||||
PORTREVISION= 1
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= textproc java
|
||||
MASTER_SITES= https://archive.apache.org/dist/solr/solr/${PORTVERSION}/
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
--- bin/solr.orig 2024-08-06 17:02:34 UTC
|
||||
+++ bin/solr
|
||||
@@ -2027,13 +2027,20 @@ function start_solr() {
|
||||
fi
|
||||
|
||||
# no lsof on cygwin though
|
||||
+ check_command=""
|
||||
if lsof -v 2>&1 | grep -q revision; then
|
||||
+ check_command="lsof -t -PniTCP:$SOLR_PORT -sTCP:LISTEN"
|
||||
+ elif which -s sockstat; then
|
||||
+ check_command="sockstat -q46lp$SOLR_PORT"
|
||||
+ fi
|
||||
+
|
||||
+ if [[ "${check_command}" != "" ]]; then
|
||||
echo -n "Waiting up to $SOLR_START_WAIT seconds to see Solr running on port $SOLR_PORT"
|
||||
# Launch in a subshell to show the spinner
|
||||
(loops=0
|
||||
while true
|
||||
do
|
||||
- running=$(lsof -t -PniTCP:$SOLR_PORT -sTCP:LISTEN || :)
|
||||
+ running=$(${check_command} || :)
|
||||
if [ -z "${running:-}" ]; then
|
||||
slept=$((loops * 2))
|
||||
if [ $slept -lt $SOLR_START_WAIT ]; then
|
||||
@@ -2052,7 +2059,7 @@ function start_solr() {
|
||||
done) &
|
||||
spinner $!
|
||||
else
|
||||
- echo -e "NOTE: Please install lsof as this script needs it to determine if Solr is listening on port $SOLR_PORT."
|
||||
+ echo -e "NOTE: Please install lsof or sockstat as this script needs it to determine if Solr is listening on port $SOLR_PORT."
|
||||
sleep 10
|
||||
SOLR_PID=$(ps auxww | grep start\.jar | awk "/\-Djetty\.port=$SOLR_PORT/"' {print $2}' | sort -r)
|
||||
echo -e "\nStarted Solr server on port $SOLR_PORT (pid=$SOLR_PID). Happy searching!\n"
|
||||
Reference in New Issue
Block a user