From nobody Fri Mar 13 20:22:15 2026 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fXbWC50Chz6VhWJ for ; Fri, 13 Mar 2026 20:22:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fXbWC2JPdz3ctX for ; Fri, 13 Mar 2026 20:22:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773433335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S91GOYQMTGrAUCMOM98LFVP7TVnymXAcYWZgOk06slc=; b=gkwdtJCJjA3J+TEWb+/ggq0biwsdkOOijmfEhflSnXTQbkhyYFbTKMUNHUgxyladrMfycX uWMkexeT739G5UEBIJKgv6xKHtsD83ymHFH2snBRY0WPdL9nD/efAYgtzvbOlWal9sc7xv puKouPNM2oYEyG2/MzcKT5DmBiM43zM4R2OxrUlcRALtvvUp0RZGAGBRruCxi+qj8XfF1N Qyh8RjnocbNtMb3pyWzimv6GxRwFoLU5O7SP3Sljrtgzudotk5+TDWyT9viYpwGi1wzVR2 exScd+GRbDRqA/XKV9WkngT35T0cMWpGxzR3dYgss+2a+mnJB63UmrbdhDBh8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773433335; a=rsa-sha256; cv=none; b=eZbYn6pb9h0Bhv0POPNgTm8OuRAKnokn6BYlYrTHdBwgGsztz+9UeZ2k/HCZeftkdwyWaT +d2ifHCkBTisBqcyzZDlHwiHDLgoVgCQzvFXFU5RVqIVGIOMymoxY4iJKemwT4E/C8xf+Y 7TqxaxIPBi+mFI3JqO/Tt33zxc0QqSs/D/1ptd7qIlRvku00/szD80MdmOSFdOCWzrmyXh 1ZTV9Trs4GJMD3vprp1wHk/0ZNx2wgRahys1SDYR7YZkmDklwbcIooyNDMizUV9bpimz0j 2SoIQB62XyKk3adOrAclK3YQ8LwDPeSoUw0p3OdTeaiod5D5iW/AC3dA0rGzJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773433335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S91GOYQMTGrAUCMOM98LFVP7TVnymXAcYWZgOk06slc=; b=h22xLZfpNznMwVngfk/XhDrVSN11Tg201F7AgkreO3gLRV7oofVTxFown0/sIHwjFQHA3S SVUwRH/NcjNZXEj/sI+8rLVsrzZ1O8YNw6pQgbf9YaH4dX7YwTylxo31VdamOPrTB1Et5U YigUsDGG7Ev16Wq3552pGvR74HUkrL8bn8vN8DTR8Z6Vql8AY9owyvEhHSmQmeblGFVnkl dvWqdajKX/OXQbZ1TABgVEG81BYz2s2Dtknd9OYpvuBbtqJNzO0d6Z7WTdYUjifPviqmNJ ThyjOdwM82/h/jRscuAkeVbCw6w/QNhNbaiIChBixjeNIWrejRAiVorVp9NHCA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fXbWC1nQtzmvC for ; Fri, 13 Mar 2026 20:22:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3dc0f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 13 Mar 2026 20:22:15 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Vladimir Druzenko Subject: git: 7e21fcb03ddc - main - sysutils/logstash93: Repo copy from sysutils/logstash92 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vvd X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7e21fcb03ddc05c29fb625d345b9389c30db562f Auto-Submitted: auto-generated Date: Fri, 13 Mar 2026 20:22:15 +0000 Message-Id: <69b471f7.3dc0f.248db15@gitrepo.freebsd.org> The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=7e21fcb03ddc05c29fb625d345b9389c30db562f commit 7e21fcb03ddc05c29fb625d345b9389c30db562f Author: Vladimir Druzenko AuthorDate: 2026-03-13 20:16:37 +0000 Commit: Vladimir Druzenko CommitDate: 2026-03-13 20:16:37 +0000 sysutils/logstash93: Repo copy from sysutils/logstash92 PR: 293760 Approved by: elastic (maintainer, implicit - inactive for more than 6 months) --- sysutils/logstash93/Makefile | 92 ++++++++++++++++ sysutils/logstash93/distinfo | 3 + sysutils/logstash93/files/logstash.conf.sample | 17 +++ sysutils/logstash93/files/logstash.in | 117 +++++++++++++++++++++ .../logstash93/files/patch-config_logstash.yml | 11 ++ sysutils/logstash93/files/pkg-message.in | 25 +++++ sysutils/logstash93/pkg-descr | 3 + 7 files changed, 268 insertions(+) diff --git a/sysutils/logstash93/Makefile b/sysutils/logstash93/Makefile new file mode 100644 index 000000000000..532e2771948e --- /dev/null +++ b/sysutils/logstash93/Makefile @@ -0,0 +1,92 @@ +PORTNAME= logstash +DISTVERSION= 9.2.6 +DISTVERSIONSUFFIX= -darwin-x86_64 +CATEGORIES= sysutils java +MASTER_SITES= https://artifacts.elastic.co/downloads/logstash/ \ + LOCAL/vvd/elastic +PKGNAMESUFFIX= 92 + +MAINTAINER= elastic@FreeBSD.org +COMMENT= Server-side data ingestion and transformation tool (9.2.x version) +WWW= https://www.elastic.co/products/logstash + +LICENSE= APACHE20 + +ONLY_FOR_ARCHS= aarch64 amd64 + +RUN_DEPENDS= bash:shells/bash + +USES= cpe java:run shebangfix +CPE_VENDOR= elastic +JAVA_VERSION= 25 21 17 +USE_RC_SUBR= ${PORTNAME} + +SHEBANG_FILES= bin/* + +CONFLICTS= ${PORTNAME}7 ${PORTNAME}8 ${PORTNAME}91 ${PORTNAME}93 + +EXTRACT_AFTER_ARGS= --exclude jdk.app \ + --exclude *.bat \ + --no-same-owner --no-same-permissions + +NO_BUILD= yes +PORTSCOUT= limit:^9\.2\. +SUB_FILES= pkg-message +SUB_LIST= JAVA_HOME=${JAVA_HOME} \ + LOGSTASH_HOME=${LOGSTASH_HOME} \ + LOGUSER=${LOGUSER} \ + LOGGROUP=${LOGGROUP} + +WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION} + +LOGUSER?= ${PORTNAME} +LOGGROUP?= ${LOGUSER} +.if ${LOGUSER} == ${PORTNAME} +USERS= ${LOGUSER} +.endif +.if ${LOGGROUP} == ${PORTNAME} +GROUPS= ${LOGGROUP} +.endif + +LOGSTASH_CONF_FILES= jvm.options log4j2.properties logstash.yml \ + pipelines.yml startup.options +LOGSTASH_HOME?= ${PREFIX}/${PORTNAME} +LOGSTASH_JRUBY_BIN_FILES= ast gem irb jgem jirb jirb_swing jruby \ + jruby.sh jrubyc rake rdoc ri +LOGSTASH_JRUBY_SUBDIR= vendor/jruby/bin + +post-patch: + ${REINPLACE_CMD} 's|%%ETCDIR%%|${ETCDIR}|g' ${WRKSRC}/config/logstash.yml + ${FIND} ${WRKSRC} -name '*.orig' -delete + +do-install: + ${MKDIR} ${STAGEDIR}${ETCDIR} + ${INSTALL_DATA} ${FILESDIR}/logstash.conf.sample ${STAGEDIR}${ETCDIR} +.for x in ${LOGSTASH_CONF_FILES} + ${INSTALL_DATA} ${WRKSRC}/config/${x} ${STAGEDIR}${ETCDIR}/${x}.sample +.endfor + ${RM} -rf ${WRKSRC}/config + (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${LOGSTASH_HOME}) + ${CHMOD} ${BINMODE} ${STAGEDIR}${LOGSTASH_HOME}/bin/* \ + ${LOGSTASH_JRUBY_BIN_FILES:S|^|${STAGEDIR}${LOGSTASH_HOME}/${LOGSTASH_JRUBY_SUBDIR}/|} + ${FIND} ${STAGEDIR}${LOGSTASH_HOME}/vendor/bundle/jruby/3.1.0/gems \ + ${STAGEDIR}${LOGSTASH_HOME}/vendor/bundle/jruby/3.1.0/plugins \ + ${STAGEDIR}${LOGSTASH_HOME}/vendor/jruby/lib/ruby/gems/shared/gems \ + -type d -empty -delete + ${INSTALL} -lrs ${STAGEDIR}${ETCDIR} ${STAGEDIR}${LOGSTASH_HOME}/config + +post-install: + ${ECHO} "@sample ${ETCDIR}/logstash.conf.sample" >> ${TMPPLIST} +.for x in ${LOGSTASH_CONF_FILES} + ${ECHO} "@sample ${ETCDIR}/${x}.sample" >> ${TMPPLIST} +.endfor + ${ECHO} "@dir logstash/vendor/bundle/jruby/3.1.0/build_info" >> ${TMPPLIST} + ${ECHO} "@dir logstash/vendor/bundle/jruby/3.1.0/cache" >> ${TMPPLIST} + ${ECHO} "@dir logstash/vendor/bundle/jruby/3.1.0/doc" >> ${TMPPLIST} + ${ECHO} "@dir logstash/vendor/bundle/jruby/3.1.0/extensions" >> ${TMPPLIST} + ${ECHO} "@dir logstash/vendor/jruby/lib/ruby/gems/shared/cache" >> ${TMPPLIST} + ${FIND} -s ${STAGEDIR}${LOGSTASH_HOME} -not -type d | ${SORT} | \ + ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST} + ${ECHO} "@dir(${LOGUSER},${LOGGROUP},) logstash/data" >> ${TMPPLIST} + +.include diff --git a/sysutils/logstash93/distinfo b/sysutils/logstash93/distinfo new file mode 100644 index 000000000000..401bf2ebe40b --- /dev/null +++ b/sysutils/logstash93/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1773064008 +SHA256 (logstash-9.2.6-darwin-x86_64.tar.gz) = dc0eed7ee53318e1c73c963e1ed45da0b5893cc70a210e10a0a6b7fc81b49bd4 +SIZE (logstash-9.2.6-darwin-x86_64.tar.gz) = 435342490 diff --git a/sysutils/logstash93/files/logstash.conf.sample b/sysutils/logstash93/files/logstash.conf.sample new file mode 100644 index 000000000000..2fa9229d62bf --- /dev/null +++ b/sysutils/logstash93/files/logstash.conf.sample @@ -0,0 +1,17 @@ +# Sample Logstash configuration for creating a simple +# Beats -> Logstash -> Elasticsearch pipeline. + +input { + beats { + port => 5044 + } +} + +output { + elasticsearch { + hosts => ["http://localhost:9200"] + index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" + #user => "elastic" + #password => "changeme" + } +} diff --git a/sysutils/logstash93/files/logstash.in b/sysutils/logstash93/files/logstash.in new file mode 100644 index 000000000000..ba42ae85f5b3 --- /dev/null +++ b/sysutils/logstash93/files/logstash.in @@ -0,0 +1,117 @@ +#!/bin/sh + +# Configuration settings for logstash in /etc/rc.conf: +# +# PROVIDE: logstash +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: shutdown +# +# logstash_enable (bool): +# Default value: "NO" +# Flag that determines whether Logstash is enabled. +# +# logstash_home (string): +# Default value: "%%LOGSTASH_HOME%%" +# Logstash installation directory. +# +# logstash_config (string): +# Default value: "%%ETCDIR%%" +# Logstash configuration path. +# +# logstash_log (bool): +# Set to "YES" by default. +# Set it to "YES" to enable logstash logging to file. +# +# logstash_log_dir (string): +# Default value: "${logdir}/${name}" +# Default output to /var/log/logstash/ +# +# logstash_java_home (string): +# Default value: "%%JAVA_HOME%%" +# Root directory of the desired Java SDK. +# The JAVA_HOME environment variable is set with the contents of this +# variable. +# +# logstash_java_opts (string): +# Default value: "" +# Options to pass to the Java Virtual Machine. +# The JAVA_OPTS environment variable is set with the contents of this +# variable. +# +# logstash_opts (string): +# Default value: "" +# Additional command line flags for logstash, eg. "-r" +# + +. /etc/rc.subr + +name=logstash +rcvar=logstash_enable + +load_rc_config ${name} + +logdir="/var/log" + +: ${logstash_enable="NO"} +: ${logstash_user="%%LOGUSER%%"} +: ${logstash_group="%%LOGGROUP%%"} +: ${logstash_home="%%LOGSTASH_HOME%%"} +: ${logstash_config="%%ETCDIR%%"} +: ${logstash_log="YES"} +: ${logstash_log_dir="${logdir}/${name}"} +: ${logstash_java_home="%%JAVA_HOME%%"} +: ${logstash_java_opts=""} +: ${logstash_opts=""} + +pidfile=/var/run/${name}/${name}.pid + +extra_commands="configtest reload" +start_precmd="logstash_precmd" +configtest_cmd=configtest + +logstash_cmd="${logstash_home}/bin/logstash" +procname="${logstash_java_home}/bin/java" + +logstash_chdir=${logstash_home} +logstash_log_options="" + +if checkyesno logstash_log; then + logstash_log_options=" -l ${logstash_log_dir}" +fi + +logstash_args="--path.settings ${logstash_config} ${logstash_log_options} ${logstash_opts}" + +JAVA_OPTS="${logstash_java_opts}" +JAVA_HOME="${logstash_java_home}" +export JAVA_OPTS +export JAVA_HOME + +command="/usr/sbin/daemon" +command_args="-f -p ${pidfile} ${logstash_cmd} ${logstash_args}" +required_files="${logstash_home} ${logstash_java_home} ${logstash_cmd} ${logstash_config}" + +# Include %%LOCALBASE%%/bin in path because Logstash startup scripts +# assume bash is in path. +PATH=%%LOCALBASE%%/bin:$PATH + +logstash_precmd() +{ + /usr/bin/install -d -o ${logstash_user} -g ${logstash_group} -m 755 ${pidfile%/*} + /usr/bin/install -d -o ${logstash_user} -g ${logstash_group} -m 755 ${logstash_log_dir} + /usr/bin/install -d -o ${logstash_user} -g ${logstash_group} -m 755 /var/db/logstash + /usr/bin/install -d -o ${logstash_user} -g ${logstash_group} -m 755 /var/run/logstash + + if [ -d ${logstash_home}/data/queue ]; then + chown ${logstash_user}:${logstash_group} ${logstash_home}/data/queue + fi +} + +configtest() +{ + echo "${name} configtest:" + echo "WARNING: this does not check validity of Grok patterns!" + ${logstash_cmd} --path.settings ${logstash_config} --config.test_and_exit +} + +run_rc_command "$1" diff --git a/sysutils/logstash93/files/patch-config_logstash.yml b/sysutils/logstash93/files/patch-config_logstash.yml new file mode 100644 index 000000000000..e6d45d08195c --- /dev/null +++ b/sysutils/logstash93/files/patch-config_logstash.yml @@ -0,0 +1,11 @@ +--- config/logstash.yml.orig 2018-03-09 15:21:48 UTC ++++ config/logstash.yml +@@ -61,7 +61,7 @@ + # + # Where to fetch the pipeline configuration for the main pipeline + # +-# path.config: ++path.config: %%ETCDIR%%/logstash.conf + # + # Pipeline configuration string for the main pipeline + # diff --git a/sysutils/logstash93/files/pkg-message.in b/sysutils/logstash93/files/pkg-message.in new file mode 100644 index 000000000000..3c7f0b2fa951 --- /dev/null +++ b/sysutils/logstash93/files/pkg-message.in @@ -0,0 +1,25 @@ +[ +{ type: install + message: <