1################################################################################
2#
3# syslog-ng
4#
5################################################################################
6
7# When updating the version, please check at runtime if the version in
8# syslog-ng.conf header needs to be updated
9SYSLOG_NG_VERSION = 4.7.1
10SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION)
11SYSLOG_NG_LICENSE = LGPL-2.1+ (syslog-ng core), GPL-2.0+ (modules)
12SYSLOG_NG_LICENSE_FILES = COPYING GPL.txt LGPL.txt
13SYSLOG_NG_CPE_ID_VENDOR = oneidentity
14SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \
15	json-c libglib2 openssl pcre2
16SYSLOG_NG_CONF_OPTS = --disable-manpages --localstatedir=/var/run \
17	--disable-java --disable-java-modules --disable-mongodb \
18	--disable-python
19SYSLOG_NG_CFLAGS = $(TARGET_CFLAGS)
20
21ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101915),y)
22SYSLOG_NG_CFLAGS += -O0
23endif
24
25SYSLOG_NG_CONF_ENV = CFLAGS="$(SYSLOG_NG_CFLAGS)"
26
27ifeq ($(BR2_PACKAGE_GEOIP),y)
28SYSLOG_NG_DEPENDENCIES += geoip
29SYSLOG_NG_CONF_OPTS += --enable-geoip
30else
31SYSLOG_NG_CONF_OPTS += --disable-geoip
32endif
33
34ifeq ($(BR2_PACKAGE_LIBCAP),y)
35SYSLOG_NG_DEPENDENCIES += libcap
36SYSLOG_NG_CONF_OPTS += --enable-linux-caps
37else
38SYSLOG_NG_CONF_OPTS += --disable-linux-caps
39endif
40
41ifeq ($(BR2_PACKAGE_LIBESMTP),y)
42SYSLOG_NG_DEPENDENCIES += libesmtp
43SYSLOG_NG_CONF_OPTS += --enable-smtp
44SYSLOG_NG_CONF_OPTS += --with-libesmtp="$(STAGING_DIR)/usr"
45else
46SYSLOG_NG_CONF_OPTS += --disable-smtp
47endif
48
49ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
50SYSLOG_NG_DEPENDENCIES += util-linux
51endif
52
53ifeq ($(BR2_PACKAGE_LIBNET),y)
54SYSLOG_NG_DEPENDENCIES += libnet
55SYSLOG_NG_CONF_OPTS += \
56	--with-libnet=$(STAGING_DIR)/usr/bin \
57	--enable-spoof-source
58else
59SYSLOG_NG_CONF_OPTS += --disable-spoof-source
60endif
61
62ifeq ($(BR2_PACKAGE_LIBCURL),y)
63SYSLOG_NG_DEPENDENCIES += libcurl
64SYSLOG_NG_CONF_OPTS += --enable-http
65SYSLOG_NG_CONF_OPTS += --with-libcurl="$(STAGING_DIR)/usr"
66ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
67SYSLOG_NG_CONF_OPTS += --enable-cloud-auth
68else
69SYSLOG_NG_CONF_OPTS += --disable-cloud-auth
70endif
71else
72SYSLOG_NG_CONF_OPTS += --disable-http --disable-cloud-auth
73endif
74
75ifeq ($(BR2_PACKAGE_RABBITMQ_C),y)
76SYSLOG_NG_DEPENDENCIES += rabbitmq-c
77SYSLOG_NG_CONF_OPTS += --enable-amqp
78else
79SYSLOG_NG_CONF_OPTS += --disable-amqp
80endif
81
82ifeq ($(BR2_INIT_SYSTEMD),y)
83SYSLOG_NG_DEPENDENCIES += systemd
84SYSLOG_NG_CONF_OPTS += \
85	--enable-systemd \
86	--with-systemdsystemunitdir=/usr/lib/systemd/system
87else
88SYSLOG_NG_CONF_OPTS += --disable-systemd
89endif
90
91ifeq ($(BR2_PACKAGE_NETSNMP),y)
92SYSLOG_NG_DEPENDENCIES += netsnmp
93SYSLOG_NG_CONF_OPTS += --enable-afsnmp
94SYSLOG_NG_CONF_OPTS += --with-net-snmp="$(STAGING_DIR)/usr/bin"
95else
96SYSLOG_NG_CONF_OPTS += --disable-afsnmp
97endif
98
99define SYSLOG_NG_INSTALL_INIT_SYSV
100	$(INSTALL) -m 0755 -D package/syslog-ng/S01syslog-ng \
101		$(TARGET_DIR)/etc/init.d/S01syslog-ng
102endef
103
104# By default syslog-ng installs a .service that requires a config file at
105# /etc/default, so provide one with the default values.
106define SYSLOG_NG_INSTALL_INIT_SYSTEMD
107	mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/syslog-ng@.service.d
108	printf '[Install]\nDefaultInstance=default\n' \
109		>$(TARGET_DIR)/usr/lib/systemd/system/syslog-ng@.service.d/buildroot-default-instance.conf
110endef
111
112# By default syslog-ng installs a number of sample configuration
113# files. Some of these rely on optional features being
114# enabled. Because of this buildroot uninstalls the shipped config
115# files and provides a simplified configuration.
116define SYSLOG_NG_FIXUP_CONFIG
117	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
118		DESTDIR=$(TARGET_DIR) scl-uninstall-local
119	$(INSTALL) -D -m 0644 package/syslog-ng/syslog-ng.conf \
120		$(TARGET_DIR)/etc/syslog-ng.conf
121endef
122
123SYSLOG_NG_POST_INSTALL_TARGET_HOOKS = SYSLOG_NG_FIXUP_CONFIG
124
125$(eval $(autotools-package))
126