Merge pull request #19030 from tomsommer/tomsommer-patch-1
[feed/packages.git] / admin / syslog-ng / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=syslog-ng
4 PKG_VERSION:=3.37.1
5 PKG_RELEASE:=$(AUTORELEASE)
6
7 PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
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:=d67a320cb896cd5d62f24d9e1bec138847fa4618ae13a3946cae2b75c528ee14
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:=+libpcre +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-json=yes \
93 --enable-http=yes \
94 --disable-smtp \
95 --disable-mqtt \
96 --disable-redis \
97 --disable-dependency-tracking \
98 --disable-python \
99 --disable-geoip2 \
100 --disable-java \
101 --disable-java-modules \
102 --with-librabbitmq-client=no \
103 --with-mongoc=no
104
105 CONFIGURE_VARS += \
106 $(if $(CONFIG_HOST_OS_MACOS),PATH=$(FAKEUNAME_PATH):$(PATH)) \
107 LIBDBI_CFLAGS="-I$(STAGING_DIR)/usr/include"
108
109 define Package/syslog-ng/install
110 cd $(PKG_BUILD_DIR); make DESTDIR=$(1) install
111
112 $(call libtool_remove_files,$(1)) # This removes .la files in folder (including subfolders) /usr/lib
113 rm -rf $(1)/usr/lib/pkgconfig \
114 $(1)/usr/lib/*.a \
115 $(1)/usr/include \
116 $(1)/var
117
118 $(INSTALL_DIR) $(1)/etc/init.d
119 $(INSTALL_BIN) ./files/syslog-ng.init $(1)/etc/init.d/syslog-ng
120 $(INSTALL_DIR) $(1)/etc/syslog-ng.d
121 $(INSTALL_DATA) ./files/syslog-ng.conf $(1)/etc
122 touch $(1)/etc/syslog-ng.d/.keep
123
124 $(INSTALL_DIR) $(1)/sbin
125 $(INSTALL_BIN) ./files/logread $(1)/sbin
126
127 $(INSTALL_DIR) $(1)/usr/share/syslog-ng/include/
128 $(CP) -r ./files/scl $(1)/usr/share/syslog-ng/include/
129
130 ifneq ($(strip $(CONFIG_SYSLOGNG_LOGROTATE)),)
131 $(INSTALL_DIR) $(1)/etc/logrotate.d
132 sed \
133 -e 's#@MAXSIZE@#$(LOGROTATE_MAXSIZE)#g' \
134 -e 's#@ROTATE@#$(LOGROTATE_ROTATE)#g' \
135 ./files/syslog-ng.logrotate > $(1)/etc/logrotate.d/syslog-ng.conf
136 endif
137 endef
138
139 define Package/syslog-ng/postinst
140 #!/bin/sh
141
142 [ -n "$$IPKG_INSTROOT" ] || {
143 /etc/init.d/syslog-ng enable
144 /etc/init.d/syslog-ng restart
145 }
146 endef
147
148 define Package/syslog-ng/prerm
149 #!/bin/sh
150
151 [ -n "$$IPKG_INSTROOT" ] || {
152 /etc/init.d/syslog-ng disable
153 /etc/init.d/syslog-ng stop
154 }
155 endef
156
157 $(eval $(call BuildPackage,syslog-ng))