Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Mar 2026 16:12:29 +0000
From:      Vladimir Druzenko <vvd@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: fa14dfb08696 - main - textproc/elasticsearch7: Fix runtime with non-default USERS/GROUPS
Message-ID:  <69b4376d.1914b.ab5b4ec@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fa14dfb0869642be99a46161a09455a20aeddf00

commit fa14dfb0869642be99a46161a09455a20aeddf00
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2026-03-13 16:04:05 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2026-03-13 16:10:49 +0000

    textproc/elasticsearch7: Fix runtime with non-default USERS/GROUPS
    
    Also:
    - Respect ETCDIR substitution in rc.d script.
    - Replace RM of bundled JDK, jna.jar and modules/x-pack/x-pack-ml files
      with EXTRACT_AFTER_ARGS=--exclude.
    - Replace ${JAVASHAREDIR} with ${LOCALBASE}/share/java -
      JAVASHAREDIR=PREFIX/share/java, but devel/jna installed in LOCALBASE.
    
    Approved by:    blanket (fix runtime)
    MFH:            2026Q1
---
 textproc/elasticsearch7/Makefile               | 18 ++++++++++++------
 textproc/elasticsearch7/files/elasticsearch.in | 12 ++++++------
 2 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/textproc/elasticsearch7/Makefile b/textproc/elasticsearch7/Makefile
index 897904e7d900..e93069aa4bd7 100644
--- a/textproc/elasticsearch7/Makefile
+++ b/textproc/elasticsearch7/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	elasticsearch
 DISTVERSION=	7.17.29
+PORTREVISION=	1
 CATEGORIES=	textproc java devel
 MASTER_SITES=	https://artifacts.elastic.co/downloads/${PORTNAME}/ \
 		LOCAL/vvd/elastic
@@ -36,12 +37,19 @@ SHEBANG_FILES=	bin/elasticsearch bin/elasticsearch-certgen \
 
 CONFLICTS=	${PORTNAME}8 ${PORTNAME}9*
 
+# ML plugin not supported on FreeBSD
+EXTRACT_AFTER_ARGS=	--exclude jdk.app \
+			--exclude lib/jna-5.10.0.jar \
+			--exclude modules/x-pack/x-pack-ml \
+			--no-same-owner --no-same-permissions
+
 NO_ARCH=	yes
 NO_BUILD=	yes
 PORTSCOUT=	limit:^7
 SUB_FILES=	pkg-message
-SUB_LIST=	ETCDIR=${ETCDIR} \
-		JAVA_HOME=${JAVA_HOME}
+SUB_LIST=	JAVA_HOME=${JAVA_HOME} \
+		SEARCHUSER=${SEARCHUSER} \
+		SEARCHGROUP=${SEARCHGROUP}
 
 WRKSRC=		${WRKDIR}/${PORTNAME}-${DISTVERSION}
 
@@ -71,9 +79,6 @@ BINS=		elasticsearch elasticsearch-certgen elasticsearch-certutil \
 		x-pack-security-env x-pack-watcher-env
 
 post-patch:
-	${RM} ${WRKSRC}/lib/jna-*.jar
-# ML plugin not supported on FreeBSD
-	${RM} -rf ${WRKSRC}/modules/x-pack/x-pack-ml
 	${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/bin/elasticsearch-env
 
 do-install:
@@ -88,7 +93,8 @@ do-install:
 	(cd ${WRKSRC}/lib && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/elasticsearch/lib/ "-name *\.jar")
 	(cd ${WRKSRC}/modules && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/elasticsearch/modules/)
 	${INSTALL} -lrs ${STAGEDIR}${ETCDIR} ${STAGEDIR}${PREFIX}/lib/elasticsearch/config
-	${LN} -s ${JAVASHAREDIR}/classes/jna.jar ${STAGEDIR}${PREFIX}/lib/elasticsearch/lib/jna-0.0.0.jar
+	${LN} -s ${LOCALBASE}/share/java/classes/jna.jar \
+		${STAGEDIR}${PREFIX}/lib/elasticsearch/lib/jna-0.0.0.jar
 
 do-install-DOCS-on:
 	${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/textproc/elasticsearch7/files/elasticsearch.in b/textproc/elasticsearch7/files/elasticsearch.in
index 002a2335bf0b..d4414f39d6d0 100644
--- a/textproc/elasticsearch7/files/elasticsearch.in
+++ b/textproc/elasticsearch7/files/elasticsearch.in
@@ -9,11 +9,11 @@
 #
 # elasticsearch_enable="YES"
 #
-# elasticsearch_user (username): Set to elasticsearch by default.
+# elasticsearch_user (username): Set to %%SEARCHUSER%% by default.
 #               Set it to required username.
-# elasticsearch_group (group):   Set to elasticsearch by default.
+# elasticsearch_group (group):   Set to %%SEARCHGROUP%% by default.
 #               Set it to required group.
-# elasticsearch_config (path):   Set to %%PREFIX%%/etc/elasticsearch/elasticsearch.yml by default.
+# elasticsearch_config (path):   Set to %%ETCDIR%%/elasticsearch.yml by default.
 #               Set it to the config file location.
 # elasticsearch_java_home (path): Set to %%JAVA_HOME%% by default.
 #               Set it to the root of the JDK to use.
@@ -26,9 +26,9 @@ rcvar=elasticsearch_enable
 load_rc_config ${name}
 
 : ${elasticsearch_enable:=NO}
-: ${elasticsearch_user=elasticsearch}
-: ${elasticsearch_group=elasticsearch}
-: ${elasticsearch_config=%%PREFIX%%/etc/elasticsearch}
+: ${elasticsearch_user=%%SEARCHUSER%%}
+: ${elasticsearch_group=%%SEARCHGROUP%%}
+: ${elasticsearch_config=%%ETCDIR%%}
 : ${elasticsearch_login_class=root}
 : ${elasticsearch_java_home="%%JAVA_HOME%%"}
 


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69b4376d.1914b.ab5b4ec>