1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
PORTNAME= opensearch
DISTVERSION?= 2.11.1
DISTVERSIONSUFFIX= -linux-x64
PORTREVISION= 1
CATEGORIES= textproc java devel
MASTER_SITES= https://artifacts.opensearch.org/releases/bundle/${PORTNAME}/${DISTVERSION}/
MAINTAINER= opensearch@FreeBSD.org
COMMENT?= Full-text search engine for Java
WWW= https://opensearch.org
LICENSE= APACHE20
BUILD_DEPENDS= jna>0:devel/jna
RUN_DEPENDS= bash>0:shells/bash \
jna>0:devel/jna
CONFLICTS?= opensearch13 opensearch210
USES= cpe shebangfix
USE_JAVA= yes
JAVA_VERSION= 17+
USE_RC_SUBR= ${PORTNAME}
SHEBANG_FILES= bin/opensearch bin/opensearch-cli \
bin/opensearch-env bin/opensearch-env-from-file \
bin/opensearch-keystore bin/opensearch-node \
bin/opensearch-plugin bin/opensearch-shard \
plugins/opensearch-security/tools/audit_config_migrater.sh \
plugins/opensearch-security/tools/hash.sh \
plugins/opensearch-security/tools/install_demo_configuration.sh \
plugins/opensearch-security/tools/securityadmin.sh
NO_BUILD= yes
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
OPTIONS_DEFINE= PLUGINS
OPTIONS_DEFAULT=PLUGINS
.include <bsd.port.options.mk>
CONFIG_FILES= opensearch.yml jvm.options log4j2.properties
PLUGINS_CONFIG_FILES?= \
opensearch-notifications-core/notifications-core.yml \
opensearch-notifications/notifications.yml \
opensearch-observability/observability.yml \
opensearch-performance-analyzer/agent-stats-metadata \
opensearch-performance-analyzer/log4j2.xml \
opensearch-performance-analyzer/opensearch_security.policy \
opensearch-performance-analyzer/performance-analyzer.properties \
opensearch-performance-analyzer/plugin-stats-metadata \
opensearch-performance-analyzer/rca.conf \
opensearch-performance-analyzer/rca_idle_cluster_manager.conf \
opensearch-performance-analyzer/rca_cluster_manager.conf \
opensearch-performance-analyzer/supervisord.conf \
opensearch-reports-scheduler/reports-scheduler.yml \
opensearch-security/action_groups.yml \
opensearch-security/allowlist.yml \
opensearch-security/audit.yml \
opensearch-security/config.yml \
opensearch-security/internal_users.yml \
opensearch-security/nodes_dn.yml \
opensearch-security/roles.yml \
opensearch-security/roles_mapping.yml \
opensearch-security/tenants.yml \
opensearch-security/whitelist.yml
# Upstream provide some *.example files. These are also copied as sample filse
# but we do not register them as @sample to avoid installing filse that needs
# to be tuned a site specific way.
PLUGINS_SAMPLE_CONFIG_FILES= \
opensearch-security/opensearch.yml
BINS= opensearch opensearch-cli opensearch-env \
opensearch-env-from-file opensearch-keystore \
opensearch-node opensearch-plugin \
opensearch-shard
SEARCHUSER?= opensearch
SEARCHGROUP?= ${SEARCHUSER}
USERS= ${SEARCHUSER}
GROUPS= ${SEARCHGROUP}
SUB_FILES= pkg-message
SUB_LIST= ETCDIR=${ETCDIR} \
JAVA_HOME=${JAVA_HOME}
post-patch:
${RM} ${WRKSRC}/lib/jna-*.jar
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/etc/opensearch
.for f in ${CONFIG_FILES}
${INSTALL} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample
.endfor
${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/bin
.for f in ${BINS}
${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${STAGEDIR}${PREFIX}/lib/opensearch/bin
.endfor
${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/extensions
${MKDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/lib
(cd ${WRKSRC}/ && ${COPYTREE_SHARE} "lib modules" ${STAGEDIR}${PREFIX}/lib/opensearch/)
${MKDIR} ${STAGEDIR}${PREFIX}/libexec/opensearch
${INSTALL} -lrs ${STAGEDIR}${ETCDIR} ${STAGEDIR}${PREFIX}/lib/opensearch/config
${LN} -s ${JAVASHAREDIR}/classes/jna.jar ${STAGEDIR}${PREFIX}/lib/opensearch/lib/jna.jar
do-install-PLUGINS-on:
${MKDIR} ${STAGEDIR}${ETCDIR}/opensearch-notifications-core \
${STAGEDIR}${ETCDIR}/opensearch-notifications \
${STAGEDIR}${ETCDIR}/opensearch-observability \
${STAGEDIR}${ETCDIR}/opensearch-performance-analyzer \
${STAGEDIR}${ETCDIR}/opensearch-reports-scheduler \
${STAGEDIR}${ETCDIR}/opensearch-security
.for f in ${PLUGINS_CONFIG_FILES}
${INSTALL} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample
${ECHO} "@sample(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
.endfor
.for f in ${PLUGINS_SAMPLE_CONFIG_FILES}
${INSTALL} ${WRKSRC}/config/${f}.example ${STAGEDIR}${ETCDIR}/${f}.sample
${ECHO} "@(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
.endfor
(cd ${WRKSRC}/ && ${COPYTREE_SHARE} "plugins" ${STAGEDIR}${PREFIX}/lib/opensearch/)
(cd ${WRKSRC}/plugins/opensearch-security/tools && ${COPYTREE_BIN} "*.sh" ${STAGEDIR}${PREFIX}/lib/opensearch/plugins/opensearch-security/tools)
post-install:
.for f in ${CONFIG_FILES}
${ECHO} "@sample(opensearch,opensearch,640) ${ETCDIR}/${f}.sample" >> ${TMPPLIST}
.endfor
${FIND} -s ${STAGEDIR}${PREFIX}/lib/opensearch -not -type d | ${SORT} | \
${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
${ECHO} "@dir lib/opensearch/extensions" >> ${TMPPLIST}
${ECHO} "@dir libexec/opensearch" >> ${TMPPLIST}
.if ${PORT_OPTIONS:MPLUGINS}
${ECHO} "@dir lib/opensearch/plugins" >> ${TMPPLIST}
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-notifications-core" >> ${TMPPLIST}
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-notifications" >> ${TMPPLIST}
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-observability" >> ${TMPPLIST}
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-performance-analyzer" >> ${TMPPLIST}
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-reports-scheduler" >> ${TMPPLIST}
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/opensearch-security" >> ${TMPPLIST}
.endif
${ECHO} "@dir(opensearch,opensearch,0750) ${ETCDIR}/" >> ${TMPPLIST}
.include <bsd.port.mk>
|