a78f3857fc35c1dfd6b1bd781e13a2f871bfd10a
[feed/packages.git] / admin / syslog-ng / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=syslog-ng
4 PKG_VERSION:=4.4.0
5 PKG_RELEASE:=$(AUTORELEASE)
6
7 PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
8 PKG_LICENSE:=LGPL-2.1-or-later GPL-2.0-or-later
9 PKG_LICENSE_FILES:=COPYING LGPL.txt GPL.txt
10 PKG_CPE_ID:=cpe:/a:balabit:syslog-ng
11
12 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
13 PKG_SOURCE_URL:=https://github.com/syslog-ng/syslog-ng/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
14 PKG_HASH:=583b147f3ec17fbc2dbbf31aafb1e3966237d7541313de5b41ea885dc16d932e
15
16 PKG_BUILD_PARALLEL:=1
17 PKG_INSTALL:=1
18
19 PKG_BUILD_DEPENDS:= \
20 HOST_OS_MACOS:fakeuname/host \
21
22 PKG_CONFIG_DEPENDS:= \
23 CONFIG_IPV6 \
24
25 include $(INCLUDE_DIR)/package.mk
26 include $(INCLUDE_DIR)/nls.mk
27 ifeq ($(CONFIG_HOST_OS_MACOS),y)
28 include ../../utils/fakeuname/fakeuname.mk
29 endif
30
31 define Package/syslog-ng
32 SECTION:=admin
33 CATEGORY:=Administration
34 TITLE:=A powerful syslog daemon
35 URL:=https://www.syslog-ng.com/products/open-source-log-management/
36 DEPENDS:=+libpcre2 +glib2 +libopenssl +libpthread +librt +zlib +libdbi +libjson-c +libcurl +libuuid +SYSLOGNG_LOGROTATE:logrotate
37 endef
38
39 define Package/syslog-ng/description
40 syslog-ng reads and logs messages to the system console, log
41 files, other machines and/or users as specified by its
42 configuration file.
43 endef
44
45 define Package/syslog-ng/conffiles
46 /etc/syslog-ng.conf
47 /etc/syslog-ng.d/
48 /etc/scl.conf
49 endef
50
51 define Package/syslog-ng/config
52 config SYSLOGNG_LOGROTATE
53 bool "Logrotate support"
54 depends on PACKAGE_syslog-ng
55 default n
56 help
57 It adds support for logrotate functionality.
58
59 config SYSLOGNG_LOGROTATE_MAXSIZE
60 string "Maximum size of /var/log/messages log file"
61 depends on SYSLOGNG_LOGROTATE
62 default "1M"
63 help
64 Log files are rotated when they grow bigger than defined size bytes.
65
66 config SYSLOGNG_LOGROTATE_ROTATE_COUNT
67 int "Maximum rotation count for /var/log/messages log file"
68 depends on SYSLOGNG_LOGROTATE
69 default 1
70 help
71 Log files are rotated count times before being removed or mailed to
72 the address specified in a mail directive. If count is 0, old
73 versions are removed rather than rotated.
74 endef
75
76 define Build/Configure
77 $(SED) 's,-I/usr/include,,' $(PKG_BUILD_DIR)/configure
78 $(Build/Configure/Default)
79 endef
80
81 LOGROTATE_MAXSIZE:=$(call qstrip,$(CONFIG_SYSLOGNG_LOGROTATE_MAXSIZE))
82 LOGROTATE_ROTATE:=$(call qstrip,$(CONFIG_SYSLOGNG_LOGROTATE_ROTATE_COUNT))
83
84 CONFIGURE_ARGS += \
85 --disable-afsnmp \
86 $(call autoconf_bool,CONFIG_IPV6,ipv6) \
87 --disable-tcp-wrapper \
88 --disable-spoof-source \
89 --disable-sql \
90 --disable-linux-caps \
91 --with-jsonc=system \
92 --enable-cpp=no \
93 --enable-json=yes \
94 --enable-http=yes \
95 --disable-smtp \
96 --disable-mqtt \
97 --disable-redis \
98 --disable-dependency-tracking \
99 --disable-python \
100 --disable-geoip2 \
101 --disable-java \
102 --disable-java-modules \
103 --with-librabbitmq-client=no \
104 --with-mongoc=no
105
106 CONFIGURE_VARS += \
107 $(if $(CONFIG_HOST_OS_MACOS),PATH=$(FAKEUNAME_PATH):$(PATH)) \
108 LIBDBI_CFLAGS="-I$(STAGING_DIR)/usr/include"
109
110 define Package/syslog-ng/install
111 cd $(PKG_BUILD_DIR); make DESTDIR=$(1) install
112
113 $(call libtool_remove_files,$(1)) # This removes .la files in folder (including subfolders) /usr/lib
114 rm -rf $(1)/usr/lib/pkgconfig \
115 $(1)/usr/lib/*.a \
116 $(1)/usr/include \
117 $(1)/var
118
119 $(INSTALL_DIR) $(1)/etc/init.d
120 $(INSTALL_BIN) ./files/syslog-ng.init $(1)/etc/init.d/syslog-ng
121 $(INSTALL_DIR) $(1)/etc/syslog-ng.d
122 $(INSTALL_DATA) ./files/syslog-ng.conf $(1)/etc
123 touch $(1)/etc/syslog-ng.d/.keep
124
125 $(INSTALL_DIR) $(1)/sbin
126 $(INSTALL_BIN) ./files/logread $(1)/sbin
127
128 $(INSTALL_DIR) $(1)/usr/share/syslog-ng/include/
129 $(CP) -r ./files/scl $(1)/usr/share/syslog-ng/include/
130
131 ifneq ($(strip $(CONFIG_SYSLOGNG_LOGROTATE)),)
132 $(INSTALL_DIR) $(1)/etc/logrotate.d
133 sed \
134 -e 's#@MAXSIZE@#$(LOGROTATE_MAXSIZE)#g' \
135 -e 's#@ROTATE@#$(LOGROTATE_ROTATE)#g' \
136 ./files/syslog-ng.logrotate > $(1)/etc/logrotate.d/syslog-ng.conf
137 endif
138 endef
139
140 define Package/syslog-ng/postinst
141 #!/bin/sh
142
143 [ -n "$$IPKG_INSTROOT" ] || {
144 /etc/init.d/syslog-ng enable
145 /etc/init.d/syslog-ng restart
146 }
147 endef
148
149 define Package/syslog-ng/prerm
150 #!/bin/sh
151
152 [ -n "$$IPKG_INSTROOT" ] || {
153 /etc/init.d/syslog-ng disable
154 /etc/init.d/syslog-ng stop
155 }
156 endef
157
158 $(eval $(call BuildPackage,syslog-ng))