Reduce supported syslog-ng ports to the latest syslog-ng supported by our upstream, oniedentity.com. Upstream does not officially support earlier releases. This commit reduces unofficial support expectations and allows us to rely totally on upstream for support. This commit deprecates sysutils/syslog-ng32[4-9]. It also removes sysutils/syslog-ng in preparation of a repocopy of syslog-ng329 to syslog-ng. The reason for this is that the real syslog-ng history resides in syslog-ng329. Discussed wth: Peter Czanik (CzP) <peter.czanik@oneidentity.com> Balabit (a OneIdentity company) / syslog-ng upstream
240 lines
10 KiB
Makefile
240 lines
10 KiB
Makefile
# Created by: Ivan Lago <ivan.lago@ifom-ieo-campus.it>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= syslog-ng
|
|
DISTVERSION= 3.29.1
|
|
PORTREVISION= 2
|
|
CATEGORIES= sysutils
|
|
MASTER_SITES= https://github.com/balabit/syslog-ng/releases/download/syslog-ng-${DISTVERSION}/
|
|
.if !defined(MASTERDIR)
|
|
PKGNAMESUFFIX= 329
|
|
.endif
|
|
|
|
MAINTAINER= cy@FreeBSD.org
|
|
COMMENT= Powerful syslogd replacement
|
|
|
|
BROKEN_sparc64= fails to link: Internal error: Segmentation fault (program ld)
|
|
|
|
DEPRECATED= Reduction of syslog-ng ports to one
|
|
EXPIRATION_DATE= 2020-12-31
|
|
|
|
LIB_DEPENDS= libpcre.so:devel/pcre \
|
|
libuuid.so:misc/e2fsprogs-libuuid
|
|
|
|
USES= autoreconf:build compiler:c11 gettext-runtime gmake gnome \
|
|
libtool pathfix pkgconfig python:3.5+,build shebangfix ssl
|
|
|
|
CONFLICTS?= syslog-ng-[0-9]* syslog-ng[0-9]-[0-9]* \
|
|
syslog-ng[0-9][0-9]-[0-9]* \
|
|
syslog-ng-devel-[0-9]* eventlog*
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
|
|
|
|
MAKE_JOBS_UNSAFE= yes
|
|
OPTIONS_DEFINE= TCP_WRAPPERS SQL SPOOF IPV6 SMTP JSON GEOIP2 DOCS REDIS JAVA PYTHON MONGO CURL JAVA_MOD AMQP RIEMANN KAFKA SNMPDEST
|
|
OPTIONS_DEFAULT= CURL JSON
|
|
TCP_WRAPPERS_DESC= Build with TCP Wrappers
|
|
SQL_DESC= Build with database (libdbi) support
|
|
SPOOF_DESC= Build with spoof source support
|
|
SMTP_DESC= Build with SMTP support
|
|
JSON_DESC= Build with JSON-C support
|
|
GEOIP2_DESC= Build with geoip2 (MaxMindDB) support
|
|
REDIS_DESC= Build with Redis support
|
|
JAVA_DESC= Build with Java support (no modules)
|
|
JAVA_MOD_DESC= Build with Java modules (needs Maven / Internet access)
|
|
PYTHON_DESC= Build with Python ${PYTHON_VER} support
|
|
CURL_DESC= Build with Curl HTTP support
|
|
AMQP_DESC= Build with AMQP support
|
|
RIEMANN_DESC= Build with Riemann support
|
|
KAFKA_DESC= Build with Kafka (librdkafka) support
|
|
SNMPDEST_DESC= Build with SNMP destination (net-snmp) support
|
|
|
|
USE_LDCONFIG= yes
|
|
USE_RC_SUBR= syslog-ng
|
|
SHEBANG_FILES= lib/merge-grammar.py
|
|
GNU_CONFIGURE= yes
|
|
# Note: Even if PYTHON is deselected, glib20 will install python.
|
|
USE_GNOME= glib20
|
|
SUB_FILES= pkg-message
|
|
INSTALL_TARGET= install-strip
|
|
|
|
CONFIGURE_ARGS= --sysconfdir=${LOCALBASE}/etc --localstatedir=/var/db \
|
|
--enable-dynamic-linking --enable-manpages \
|
|
--disable-linux-caps \
|
|
--datadir=${PREFIX}/share/ \
|
|
--with-python=${PYTHON_VER}
|
|
|
|
CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \
|
|
OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto -lssl"
|
|
|
|
TCP_WRAPPERS_CONFIGURE_ENABLE= tcp-wrapper
|
|
|
|
SPOOF_LIB_DEPENDS= libnet.so:net/libnet
|
|
SPOOF_CONFIGURE_ENABLE= spoof-source
|
|
SPOOF_CONFIGURE_ON= --with-libnet=${LOCALBASE}/bin
|
|
SPOOF_CONFIGURE_ENV= LIBNET_CFLAGS="-I${LOCALBASE}/include" \
|
|
LIBNET_LIBS="-L${LOCALBASE}/lib -lnet"
|
|
|
|
IPV6_CONFIGURE_ENABLE= ipv6
|
|
|
|
AMQP_CONFIGURE_ENABLE= amqp
|
|
AMQP_PLIST_FILES= lib/syslog-ng/libafamqp.so
|
|
AMQP_LIB_DEPENDS= librabbitmq.so:net/rabbitmq-c
|
|
|
|
GEOIP2_CONFIGURE_ENABLE= geoip2
|
|
GEOIP2_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb
|
|
GEOIP2_LDFLAGS= -L${LOCALBASE}/lib
|
|
GEOIP2_PLIST_FILES= lib/syslog-ng/libgeoip2-plugin.so
|
|
|
|
REDIS_CONFIGURE_ENABLE= redis
|
|
REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis
|
|
REDIS_PLIST_FILES= lib/syslog-ng/libredis.so
|
|
|
|
SNMPDEST_CONFIGURE_ENABLE= afsnmp
|
|
SNMPDEST_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp
|
|
SNMPDEST_PLIST_FILES= lib/syslog-ng/libafsnmp.so
|
|
|
|
SMTP_CONFIGURE_ON= --with-libesmtp=${LOCALBASE} --enable-smtp
|
|
SMTP_CONFIGURE_OFF= --without-libesmtp --disable-smtp
|
|
SMTP_LIB_DEPENDS= libesmtp.so:mail/libesmtp
|
|
SMTP_PLIST_FILES= lib/syslog-ng/libafsmtp.so
|
|
|
|
SQL_CONFIGURE_ENABLE= sql
|
|
SQL_LIB_DEPENDS= libdbi.so:databases/libdbi
|
|
SQL_CONFIGURE_ENV= LIBDBI_LIBS="-ldbi"
|
|
SQL_LDFLAGS= -L${LOCALBASE}/lib
|
|
SQL_PLIST_FILES= lib/syslog-ng/libafsql.so
|
|
|
|
MONGO_CONFIGURE_ENABLE= mongodb
|
|
MONGO_CONFIGURE_ON= --with-mongoc=system
|
|
MONGO_LIB_DEPENDS= libmongoc-1.0.so:devel/mongo-c-driver
|
|
MONGO_LIB_DEPENDS+= libbson-1.0.so:devel/libbson
|
|
MONGO_PLIST_FILES= lib/syslog-ng/libafmongodb.so
|
|
|
|
JSON_CONFIGURE_ENABLE= json
|
|
JSON_LIB_DEPENDS= libjson-c.so:devel/json-c
|
|
JSON_PLIST_FILES= lib/syslog-ng/libjson-plugin.so \
|
|
share/syslog-ng/include/scl/cim/template.conf
|
|
|
|
JAVA_CONFIGURE_ENABLE= java
|
|
JAVA_USE= JAVA=yes
|
|
JAVA_PLIST_FILES= lib/syslog-ng/libmod-java.so \
|
|
lib/syslog-ng/java-modules/syslog-ng-core.jar
|
|
|
|
JAVA_MOD_IMPLIES= JAVA
|
|
JAVA_MOD_CONFIGURE_ENABLE= java-modules
|
|
JAVA_MOD_USE= JAVA=yes
|
|
JAVA_MOD_BUILD_DEPENDS= gradle:devel/gradle \
|
|
bash:shells/bash
|
|
JAVA_MOD_PLIST_DIRS= lib/syslog-ng/java-modules/elastic-jest-client
|
|
JAVA_MOD_PLIST_FILES= lib/syslog-ng/java-modules/log4j-1.2.16.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/jest-2.0.2.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/jest-common-2.0.2.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/httpcore-nio-4.4.4.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/httpclient-4.5.2.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/httpasyncclient-4.1.1.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/slf4j-api-1.7.13.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/guava-19.0.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/gson-2.6.2.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/commons-lang3-3.4.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/httpcore-4.4.4.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/commons-logging-1.2.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/commons-codec-1.9.jar \
|
|
lib/syslog-ng/java-modules/elastic-jest-client/slf4j-simple-1.7.13.jar \
|
|
lib/syslog-ng/java-modules/hdfs.jar \
|
|
lib/syslog-ng/java-modules/elastic-v2.jar \
|
|
lib/syslog-ng/java-modules/kafka.jar \
|
|
lib/syslog-ng/java-modules/dummy.jar \
|
|
lib/syslog-ng/java-modules/http.jar \
|
|
lib/syslog-ng/java-modules/syslog-ng-common.jar
|
|
|
|
PYTHON_USES= python:3.5+
|
|
PYTHON_CONFIGURE_ON= --enable-python
|
|
PYTHON_CONFIGURE_OFF= --disable-python
|
|
PYTHON_PLIST_FILES= lib/syslog-ng/libmod-python.so \
|
|
lib/syslog-ng/python/syslogng-1.0-py%%PYTHON_VER%%.egg-info \
|
|
lib/syslog-ng/python/syslogng/__init__.py \
|
|
lib/syslog-ng/python/syslogng/__pycache__/__init__.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__init__.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/__init__.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/choicecompleter.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/choicecompleter.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/commandlinelexer.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/commandlinelexer.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/completer.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/completer.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/completerlang.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/completerlang.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/debuggercli.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/debuggercli.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/debuglang.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/debuglang.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/getoptlexer.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/getoptlexer.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/langcompleter.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/langcompleter.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/lexer.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/lexer.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/lexertoken.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/lexertoken.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/macrocompleter.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/macrocompleter.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/readline.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/readline.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/syslognginternals.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/syslognginternals.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/tablexer.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/tablexer.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/templatelang.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/templatelang.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/templatelexer.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/templatelexer.cpython-${PYTHON_SUFFIX}.pyc \
|
|
lib/syslog-ng/python/syslogng/debuggercli/tflang.py \
|
|
lib/syslog-ng/python/syslogng/debuggercli/__pycache__/tflang.cpython-${PYTHON_SUFFIX}.pyc
|
|
|
|
CURL_CONFIGURE_OFF= --with-libcurl=off
|
|
CURL_CONFIGURE_ON= --enable-http
|
|
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
|
|
CURL_PLIST_FILES= lib/syslog-ng/libhttp.so \
|
|
include/syslog-ng/modules/http/http-signals.h
|
|
|
|
RIEMANN_CONFIGURE_ON= --enable-riemann
|
|
RIEMANN_CONFIGURE_OFF= --disable-riemann
|
|
RIEMANN_LIB_DEPENDS= libriemann-client.so:net-mgmt/riemann-c-client
|
|
RIEMANN_PLIST_FILES= lib/syslog-ng/libriemann.so
|
|
|
|
KAFKA_CONFIGURE_ON= --enable-kafka
|
|
KAFKA_CONFIGURE_OFF= --disable-kafka
|
|
KAFKA_LIB_DEPENDS= librdkafka.so:net/librdkafka
|
|
KAFKA_PLIST_FILES= lib/syslog-ng/libkafka.so
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if !${PORT_OPTIONS:MJSON}
|
|
BROKEN= Default configuration does not currently support non-JSON builds
|
|
.endif
|
|
|
|
post-patch:
|
|
@${CP} ${WRKSRC}/scl/syslog-ng.conf ${WRKSRC}/scl/syslog-ng.conf.dist
|
|
@${CP} ${WRKSRC}/scl/scl.conf ${WRKSRC}/scl/scl.conf.sample
|
|
|
|
post-patch-JAVA_MOD-on:
|
|
@${REINPLACE_CMD} 's,$$(GRADLE),& --no-daemon,g' ${WRKSRC}/Makefile.in
|
|
|
|
post-install:
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
${INSTALL} -d ${STAGEDIR}${DOCSDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/AUTHORS ${STAGEDIR}${DOCSDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/COPYING ${STAGEDIR}${DOCSDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/NEWS.md ${STAGEDIR}${DOCSDIR}
|
|
.endif
|
|
${INSTALL_MAN} ${WRKSRC}/doc/man/*.1 ${STAGEDIR}${PREFIX}/man/man1/
|
|
${INSTALL_MAN} ${WRKSRC}/doc/man/*.5 ${STAGEDIR}${PREFIX}/man/man5/
|
|
${INSTALL_MAN} ${WRKSRC}/doc/man/*.8 ${STAGEDIR}${PREFIX}/man/man8/
|
|
${INSTALL_DATA} ${FILESDIR}/syslog-ng.conf.sample \
|
|
${STAGEDIR}${PREFIX}/etc
|
|
${INSTALL_DATA} ${WRKSRC}/scl/syslog-ng.conf.dist \
|
|
${WRKSRC}/scl/scl.conf.sample ${STAGEDIR}${PREFIX}/etc
|
|
${INSTALL_DATA} ${WRKSRC}/lib/ivykis/src/include/iv*.h \
|
|
${STAGEDIR}${PREFIX}/include/syslog-ng/
|
|
|
|
.include <bsd.port.post.mk>
|