Skip to content

Instantly share code, notes, and snippets.

@dmgk
Created November 3, 2022 16:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmgk/058bfa0ff208626721c2ad349bc1c2e1 to your computer and use it in GitHub Desktop.
Save dmgk/058bfa0ff208626721c2ad349bc1c2e1 to your computer and use it in GitHub Desktop.
PORTNAME= beats
DISTVERSIONPREFIX= v
DISTVERSION= 8.5.0
CATEGORIES= sysutils
PKGNAMESUFFIX?= 8
MASTER_SITES= https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/:gomod
DISTFILES= go.mod:gomod
MAINTAINER= elastic@FreeBSD.org
COMMENT= Send logs, network, metrics and heartbeat to elasticsearch or logstash
WWW= https://www.elastic.co/products/beats/
LICENSE= APACHE20
USES= go:modules
USE_GITHUB= yes
GH_ACCOUNT= elastic
USE_RC_SUBR= ${GO_TARGET}
GO_MODULE= github.com/elastic/beats/v7
CGO_CFLAGS= -I.
CGO_LDFLAGS= -L.
MAKE_ENV+= GOBUILD_FLAGS="-mod=vendor"
CONFLICTS= beats6* beats7*
SUB_FILES= pkg-message
OPTIONS_DEFINE= AUDITBEAT FILEBEAT HEARTBEAT METRICBEAT PACKETBEAT
OPTIONS_DEFAULT= FILEBEAT HEARTBEAT METRICBEAT
OPTIONS_SUB= yes
AUDITBEAT_DESC= Auditbeat
FILEBEAT_DESC= Filebeat
HEARTBEAT_DESC= Heartbeat
METRICBEAT_DESC= Metricbeat
PACKETBEAT_DESC= Packetbeat
AUDITBEAT_MASTER_SITES= https://artifacts.elastic.co/downloads/beats/auditbeat/:auditbeat
AUDITBEAT_DISTFILES= auditbeat-${DISTVERSION}-darwin-x86_64.tar.gz:auditbeat
AUDITBEAT_VARS= GO_TARGET+=./auditbeat
FILEBEAT_MASTER_SITES= https://artifacts.elastic.co/downloads/beats/filebeat/:filebeat
FILEBEAT_DISTFILES= filebeat-${DISTVERSION}-darwin-x86_64.tar.gz:filebeat
FILEBEAT_VARS= GO_TARGET+=./filebeat
HEARTBEAT_MASTER_SITES= https://artifacts.elastic.co/downloads/beats/heartbeat/:heartbeat
HEARTBEAT_DISTFILES= heartbeat-${DISTVERSION}-darwin-x86_64.tar.gz:heartbeat
HEARTBEAT_VARS= GO_TARGET+=./heartbeat
METRICBEAT_MASTER_SITES= https://artifacts.elastic.co/downloads/beats/metricbeat/:metricbeat
METRICBEAT_DISTFILES= metricbeat-${DISTVERSION}-darwin-x86_64.tar.gz:metricbeat
METRICBEAT_VARS= GO_TARGET+=./metricbeat
PACKETBEAT_MASTER_SITES= https://artifacts.elastic.co/downloads/beats/packetbeat/:packetbeat
PACKETBEAT_DISTFILES= packetbeat-${DISTVERSION}-darwin-x86_64.tar.gz:packetbeat
PACKETBEAT_VARS= CGO_CFLAGS+=-I/usr/include \
CGO_LDFLAGS+=-L/usr/lib \
GO_TARGET+=./packetbeat
.include <bsd.port.options.mk>
# post-patch:
# ${REINPLACE_CMD} -e "s|%%BEATSVERSION%%|v${PORTVERSION}|g" ${WRKSRC}/dev-tools/mage/settings.go
# .for BEATMOD in ${GO_TARGETS}
# ${REINPLACE_CMD} -e "s|%%DATADIR%%|${DATADIR}|g" ${WRKSRC}/${BEATMOD}/*.yml
# .endfor
do-install:
${MKDIR} ${STAGEDIR}${ETCDIR}
.for BEATMOD in ${GO_TARGET}
${MKDIR} ${STAGEDIR}/var/db/beats/${BEATMOD}
${INSTALL_PROGRAM} ${GO_WRKSRC}/${BEATMOD}/${BEATMOD} \
${STAGEDIR}${PREFIX}/sbin
${INSTALL_DATA} ${WRKSRC}/${BEATMOD}/${BEATMOD}.yml \
${STAGEDIR}${ETCDIR}/${BEATMOD}.yml.sample
${INSTALL_DATA} ${WRKSRC}/${BEATMOD}/${BEATMOD}.reference.yml \
${STAGEDIR}${ETCDIR}/${BEATMOD}.yml.reference
.endfor
.for BEATMOD in ${GO_TARGET}
(MODULE_SRC=${WRKDIR}/${BEATMOD}-${DISTVERSION}-darwin-x86_64/module; \
if [ -d $${MODULE_SRC} ]; then \
MODULE_DEST=${STAGEDIR}${DATADIR}/${BEATMOD}/module && \
${MKDIR} $${MODULE_DEST} && \
cd $${MODULE_SRC} && ${COPYTREE_SHARE} . $${MODULE_DEST} && \
cd $${MODULE_DEST} && \
${FIND} . -type d -empty | ${SORT} | \
${SED} -e 's,^\.,@dir ${DATADIR_REL}/${BEATMOD}/module,' >> ${TMPPLIST} && \
${FIND} . -not -type d | ${SORT} | \
${SED} -e 's,^\.,${DATADIR_REL}/${BEATMOD}/module,' >> ${TMPPLIST}; \
fi)
(MODULESD_SRC=${WRKDIR}/${BEATMOD}-${DISTVERSION}-darwin-x86_64/modules.d; \
if [ -d $${MODULESD_SRC} ]; then \
MODULESD_DEST=${STAGEDIR}${EXAMPLESDIR}/${BEATMOD}.modules.d && \
${MKDIR} $${MODULESD_DEST} && \
cd $${MODULESD_SRC} && ${COPYTREE_SHARE} . $${MODULESD_DEST} && \
cd $${MODULESD_DEST} && \
${FIND} . -type d -empty | ${SORT} | \
${SED} -e 's,^\.,@dir ${EXAMPLESDIR_REL}/${BEATMOD}.modules.d,' >> ${TMPPLIST} && \
${FIND} . -not -type d | ${SORT} | \
${SED} -e 's,^\.,${EXAMPLESDIR_REL}/${BEATMOD}.modules.d,' >> ${TMPPLIST}; \
${MKDIR} ${STAGEDIR}${ETCDIR}/${BEATMOD}.modules.d && \
echo "The modules.d files are now in ${EXAMPLESDIR}/${BEATMOD}.modules.d" > \
${STAGEDIR}${ETCDIR}/${BEATMOD}.modules.d/README; \
echo ${ETCDIR_REL}/${BEATMOD}.modules.d/README >> ${TMPPLIST}; \
fi)
(MONITORSD_SRC=${WRKDIR}/${BEATMOD}-${DISTVERSION}-darwin-x86_64/monitors.d; \
if [ -d $${MONITORSD_SRC} ]; then \
MONITORSD_DEST=${STAGEDIR}${EXAMPLESDIR}/${BEATMOD}.monitors.d && \
${MKDIR} $${MONITORSD_DEST} && \
cd $${MONITORSD_SRC} && ${COPYTREE_SHARE} . $${MONITORSD_DEST} && \
cd $${MONITORSD_DEST} && \
${FIND} . -type d -empty | ${SORT} | \
${SED} -e 's,^\.,@dir ${EXAMPLESDIR_REL}/${BEATMOD}.monitors.d,' >> ${TMPPLIST} && \
${FIND} . -not -type d | ${SORT} | \
${SED} -e 's,^\.,${EXAMPLESDIR_REL}/${BEATMOD}.monitors.d,' >> ${TMPPLIST}; \
${MKDIR} ${STAGEDIR}${ETCDIR}/${BEATMOD}.monitors.d && \
echo "The monitors.d files are now in ${EXAMPLESDIR}/${BEATMOD}.monitors.d" > \
${STAGEDIR}${ETCDIR}/${BEATMOD}.monitors.d/README; \
echo ${ETCDIR_REL}/${BEATMOD}.monitors.d/README >> ${TMPPLIST}; \
fi)
(KIBANA_SRC=${WRKDIR}/${BEATMOD}-${DISTVERSION}-darwin-x86_64/kibana; \
if [ -d $${KIBANA_SRC} ]; then \
KIBANA_PATH=${STAGEDIR}${DATADIR}/${BEATMOD}/kibana; \
${MKDIR} $${KIBANA_PATH} && \
cd $${KIBANA_SRC} && ${COPYTREE_SHARE} . $${KIBANA_PATH}; \
cd $${KIBANA_PATH} && \
${FIND} . -type d -empty | ${SORT} | \
${SED} -e 's,^\.,@dir ${DATADIR_REL}/${BEATMOD}/kibana,' >> ${TMPPLIST}; \
${FIND} . -not -type d | ${SORT} | \
${SED} -e 's,^\.,${DATADIR_REL}/${BEATMOD}/kibana,' >> ${TMPPLIST}; \
fi)
.endfor
.include <bsd.port.mk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment