git: 5cd096a4dce2 - 2024Q4 - textproc/apache-solr: use sockstat instead of lsof
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 19 Dec 2024 09:56:34 UTC
The branch 2024Q4 has been updated by mfechner:
URL: https://cgit.FreeBSD.org/ports/commit/?id=5cd096a4dce2188fc74fcb4026b45aaf073a2707
commit 5cd096a4dce2188fc74fcb4026b45aaf073a2707
Author: Matthias Fechner <mfechner@FreeBSD.org>
AuthorDate: 2024-12-13 09:17:37 +0000
Commit: Matthias Fechner <mfechner@FreeBSD.org>
CommitDate: 2024-12-19 09:04:46 +0000
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
(cherry picked from commit a164dd24d276862af02b1a02f1dfd728ca4de71d)
---
textproc/apache-solr/Makefile | 1 +
textproc/apache-solr/files/patch-bin_solr | 33 +++++++++++++++++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/textproc/apache-solr/Makefile b/textproc/apache-solr/Makefile
index 4193227435e8..41035b83c920 100644
--- a/textproc/apache-solr/Makefile
+++ b/textproc/apache-solr/Makefile
@@ -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}/
diff --git a/textproc/apache-solr/files/patch-bin_solr b/textproc/apache-solr/files/patch-bin_solr
new file mode 100644
index 000000000000..9184b2f8ba45
--- /dev/null
+++ b/textproc/apache-solr/files/patch-bin_solr
@@ -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"