summaryrefslogtreecommitdiff
path: root/sysutils/rsyslog8/Makefile
blob: faec955ca97132bd754ec1204457833b9506fbcc (plain)
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162

PORTNAME=	rsyslog
PORTVERSION=	8.2102.0
CATEGORIES=	sysutils
MASTER_SITES=	http://www.rsyslog.com/files/download/rsyslog/

MAINTAINER=	matthew@FreeBSD.org
COMMENT=	Syslogd supporting SQL, TCP, and TLS

LICENSE=	GPLv3 LGPL3 APACHE20
LICENSE_COMB=	multi

LIB_DEPENDS=	libestr.so:devel/libestr \
		libfastjson.so:devel/libfastjson \
		liblogging-rfc3195.so:devel/liblogging \
		libuuid.so:misc/e2fsprogs-libuuid \
		libcurl.so:ftp/curl
BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}docutils>0:textproc/py-docutils@${PY_FLAVOR}

USES=		libtool pkgconfig autoreconf python:env
USE_LDCONFIG=	yes

PORTSCOUT=	limit:^8\.

OPTIONS_DEFINE=	DBI DOCS ELASTIC GCRYPT GSSAPI HTTP JSONPARSE KAFKA \
		MYSQL NORMALIZE PGSQL RABBITMQ RELP SNMP
OPTIONS_RADIO=	SSLLIB
OPTIONS_RADIO_SSLLIB=	GNUTLS OPENSSL
OPTIONS_DEFAULT=GCRYPT
OPTIONS_SUB=	yes

DBI_DESC=		LibDBI output module for rsyslog
DBI_LIB_DEPENDS=	libdbi.so:databases/libdbi
DBI_CONFIGURE_ENABLE=	libdbi
DBI_PLIST_FILES=	lib/rsyslog/omlibdbi.so

ELASTIC_DESC=		Elasticsearch module for rsyslog
ELASTIC_CONFIGURE_ENABLE=	elasticsearch
ELASTIC_PLIST_FILES=	lib/rsyslog/omelasticsearch.so

GCRYPT_DESC=		Enable support for encrypted logfiles
GCRYPT_CONFIGURE_ENABLE=libgcrypt
GCRYPT_LIB_DEPENDS=	libgcrypt.so:security/libgcrypt \
			libgpg-error.so:security/libgpg-error
GCRYPT_BUILD_DEPENDS=	libgcrypt-config:security/libgcrypt
GCRYPT_PLIST_FILES=	lib/rsyslog/lmcry_gcry.so

GNUTLS_DESC=		GNUTLS module for rsyslog
GNUTLS_LIB_DEPENDS=	libgnutls.so:security/gnutls
GNUTLS_IMPLIES=		GCRYPT
GNUTLS_CONFIGURE_ENABLE=gnutls
GNUTLS_PLIST_FILES=	lib/rsyslog/lmnsd_gtls.so

GSSAPI_DESC=		GSS API input/output module for rsyslog
GSSAPI_CONFIGURE_ENABLE=gssapi-krb5
GSSAPI_PLIST_FILES=	lib/rsyslog/imgssapi.so \
			lib/rsyslog/lmgssutil.so \
			lib/rsyslog/omgssapi.so

HTTP_DESC=		HTTP output module for rsyslog
HTTP_CONFIGURE_ENABLE=	omhttp
HTTP_PLIST_FILES=	lib/rsyslog/omhttp.so

JSONPARSE_DESC=		JSONPARSE module for rsyslog
JSONPARSE_CONFIGURE_ENABLE=	mmjsonparse
JSONPARSE_PLIST_FILES=	lib/rsyslog/mmjsonparse.so

KAFKA_DESC=		Kafka input/output module for rsyslog
KAFKA_LIB_DEPENDS=	librdkafka.so:net/librdkafka
KAFKA_CONFIGURE_ENABLE=	imkafka omkafka
KAFKA_PLIST_FILES=	lib/rsyslog/imkafka.so \
			lib/rsyslog/omkafka.so

MYSQL_DESC=		MySQL output module for rsyslog
MYSQL_USES=		mysql
MYSQL_CONFIGURE_ENABLE=	mysql
MYSQL_PLIST_FILES=	lib/rsyslog/ommysql.so
MYSQL_PORTDOCS=		plugins/ommysql/createDB.sql

NORMALIZE_DESC=		Message normalization module for rsyslog
NORMALIZE_LIB_DEPENDS=	liblognorm.so:devel/liblognorm
NORMALIZE_CONFIGURE_ENABLE=	mmnormalize
NORMALIZE_PLIST_FILES=	lib/rsyslog/mmnormalize.so

OPENSSL_USES=		ssl
OPENSSL_CONFIGURE_ENABLE=	openssl
OPENSSL_CONFIGURE_ENV=	OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto" \
			OPENSSL_CFLAGS="-I ${OPENSSLINC}"
OPENSSL_PLIST_FILES=	lib/rsyslog/lmnsd_ossl.so

PGSQL_DESC=		PostgreSQL output module for rsyslog
PGSQL_USES=		pgsql
PGSQL_CONFIGURE_ENABLE=	pgsql
PGSQL_PLIST_FILES=	lib/rsyslog/ompgsql.so
PGSQL_PORTDOCS=		plugins/ompgsql/createDB.sql

RABBITMQ_DESC=		RabbitMQ output module for rsyslog
RABBITMQ_LIB_DEPENDS=	librabbitmq.so:net/rabbitmq-c
RABBITMQ_CONFIGURE_ENABLE=	omrabbitmq
RABBITMQ_PLIST_FILES=	lib/rsyslog/omrabbitmq.so

RELP_DESC=		RELP input/output module for rsyslog
RELP_LIB_DEPENDS=	librelp.so:devel/librelp
RELP_CONFIGURE_ENABLE=	relp
RELP_PLIST_FILES=	lib/rsyslog/imrelp.so \
			lib/rsyslog/omrelp.so

SNMP_DESC=		SNMP trap sender for rsyslog
SNMP_LIB_DEPENDS=	libnetsnmp.so:net-mgmt/net-snmp
SNMP_CONFIGURE_ENABLE=	snmp
SNMP_PLIST_FILES=	lib/rsyslog/omsnmp.so

.ifdef WITH_MYSQL_MICROSECONDS
EXTRA_PATCHES+=	${FILESDIR}/extra-patch-mysql-microseconds
.endif

.ifdef WITH_SANE_HOSTNAME
EXTRA_PATCHES+=	${FILESDIR}/extra-patch-sane-hostname
.endif

CFLAGS+=	-I${LOCALBASE}/include
CPPFLAGS+=	-I${LOCALBASE}/include
LDFLAGS+=	-L${LOCALBASE}/lib
GNU_CONFIGURE=	yes
INSTALL_TARGET=	install-strip

.ifdef WITH_DEBUG
CONFIGURE_ARGS+=--enable-rtinst --enable-debug
.endif

.include <bsd.port.pre.mk>

.if ${ARCH} == "i386"
CPPFLAGS+=-march=i686
.endif

CONFIGURE_ENV+=	LIBESTR_CFLAGS="${CFLAGS}" LIBESTR_LIBS="${LDFLAGS} -lestr" LIBEE_CFLAGS="${CFLAGS}" LIBEE_LIBS="${LDFLAGS} -lee -lkvm"
CFLAGS+=	${CPPFLAGS}

USE_RC_SUBR=	${PORTNAME}d
SUB_FILES=	pkg-message

CONFIGURE_ARGS+=	--enable-imdiag --enable-imfile --enable-impstats \
			--enable-mail --enable-omprog --enable-omstdout \
			--enable-omuxsock --enable-rfc3195 --disable-testbench \
			ac_cv_func_inotify_init=no ac_cv_header_sys_inotify_h=no

post-patch:
	@${REINPLACE_CMD} -e 's|/lib/rsyslog/|${PREFIX}/lib/rsyslog/|'\
		${WRKSRC}/tools/syslogd.c
	@${GREP} -rl '/etc/rsyslog.conf' ${WRKSRC}|${XARGS} ${REINPLACE_CMD} -e\
		's|/etc/rsyslog.conf|${PREFIX}/etc/rsyslog.conf|'
	@${REINPLACE_CMD} -e 's,/lib/rsyslog,${PREFIX}/lib/rsyslog,' ${WRKSRC}/tools/syslogd.c
	@${FIND} ${WRKSRC} -name '*.bak' -delete

post-install-DOCS-on:
.for SQL in ${PORTDOCS:M*.sql}
	@${MKDIR} ${STAGEDIR}${DOCSDIR}/${SQL:H}
	${INSTALL_DATA} ${WRKSRC}/${SQL} ${STAGEDIR}${DOCSDIR}/${SQL}
.endfor

.include <bsd.port.post.mk>