syslog-ng: update to version 4.7.1
[feed/packages.git] / admin / syslog-ng / Makefile
index 857b84dd0fa0c11f2d39069fc9ffcc3837c485d2..f366dcfcc1d5aeaa0f5e2f6bbf938c6f6097565e 100644 (file)
@@ -1,33 +1,40 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=syslog-ng
-PKG_VERSION:=3.33.2
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_VERSION:=4.7.1
+PKG_RELEASE:=1
 
-PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
+PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
 PKG_LICENSE:=LGPL-2.1-or-later GPL-2.0-or-later
 PKG_LICENSE_FILES:=COPYING LGPL.txt GPL.txt
 PKG_CPE_ID:=cpe:/a:balabit:syslog-ng
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/syslog-ng/syslog-ng/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
-PKG_HASH:=0b786a06077b9150191d714f45a1b4b3792952cb58163a3af336f074da9fb14b
+PKG_HASH:=5477189a2d12325aa4faebfcf59f5bdd9084234732f0c3ec16dd253847dacf1c
 
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 
+PKG_BUILD_DEPENDS:= \
+       HOST_OS_MACOS:fakeuname/host \
+
 PKG_CONFIG_DEPENDS:= \
        CONFIG_IPV6 \
+       CONFIG_LIBCURL_ZLIB
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/nls.mk
+ifeq ($(CONFIG_HOST_OS_MACOS),y)
+    include ../../utils/fakeuname/fakeuname.mk
+endif
 
 define Package/syslog-ng
   SECTION:=admin
   CATEGORY:=Administration
   TITLE:=A powerful syslog daemon
   URL:=https://www.syslog-ng.com/products/open-source-log-management/
-  DEPENDS:=+libpcre +glib2 +libopenssl +libpthread +librt +zlib +libdbi +libjson-c +libcurl +libuuid
+  DEPENDS:=+libpcre2 +glib2 +libopenssl +libpthread +librt +libdbi +libjson-c +libcurl +libuuid +SYSLOGNG_LOGROTATE:logrotate +LIBCURL_ZLIB:zlib
 endef
 
 define Package/syslog-ng/description
@@ -42,11 +49,39 @@ define Package/syslog-ng/conffiles
 /etc/scl.conf
 endef
 
+define Package/syslog-ng/config
+config SYSLOGNG_LOGROTATE
+       bool "Logrotate support"
+       depends on PACKAGE_syslog-ng
+       default n
+       help
+         It adds support for logrotate functionality.
+
+config SYSLOGNG_LOGROTATE_MAXSIZE
+       string "Maximum size of /var/log/messages log file"
+       depends on SYSLOGNG_LOGROTATE
+       default "1M"
+       help
+         Log files are rotated when they grow bigger than defined size bytes.
+
+config SYSLOGNG_LOGROTATE_ROTATE_COUNT
+       int "Maximum rotation count for /var/log/messages log file"
+       depends on SYSLOGNG_LOGROTATE
+       default 1
+       help
+         Log files are rotated count times before being removed or mailed to
+         the address specified in a mail directive. If count is 0, old
+         versions are removed rather than rotated.
+endef
+
 define Build/Configure
        $(SED) 's,-I/usr/include,,' $(PKG_BUILD_DIR)/configure
        $(Build/Configure/Default)
 endef
 
+LOGROTATE_MAXSIZE:=$(call qstrip,$(CONFIG_SYSLOGNG_LOGROTATE_MAXSIZE))
+LOGROTATE_ROTATE:=$(call qstrip,$(CONFIG_SYSLOGNG_LOGROTATE_ROTATE_COUNT))
+
 CONFIGURE_ARGS +=  \
        --disable-afsnmp \
        $(call autoconf_bool,CONFIG_IPV6,ipv6) \
@@ -55,8 +90,9 @@ CONFIGURE_ARGS +=  \
        --disable-sql \
        --disable-linux-caps \
        --with-jsonc=system \
+       --enable-cpp=no \
        --enable-json=yes \
-       --enable-http=yes \
+       $(if $(CONFIG_LIBCURL_ZLIB),--enable-http=yes,--enable-http=no) \
        --disable-smtp \
        --disable-mqtt \
        --disable-redis \
@@ -69,6 +105,7 @@ CONFIGURE_ARGS +=  \
        --with-mongoc=no
 
 CONFIGURE_VARS += \
+       $(if $(CONFIG_HOST_OS_MACOS),PATH=$(FAKEUNAME_PATH):$(PATH)) \
        LIBDBI_CFLAGS="-I$(STAGING_DIR)/usr/include"
 
 define Package/syslog-ng/install
@@ -91,6 +128,14 @@ define Package/syslog-ng/install
 
        $(INSTALL_DIR) $(1)/usr/share/syslog-ng/include/
        $(CP) -r ./files/scl $(1)/usr/share/syslog-ng/include/
+
+ifneq ($(strip $(CONFIG_SYSLOGNG_LOGROTATE)),)
+       $(INSTALL_DIR) $(1)/etc/logrotate.d
+       sed \
+               -e 's#@MAXSIZE@#$(LOGROTATE_MAXSIZE)#g' \
+               -e 's#@ROTATE@#$(LOGROTATE_ROTATE)#g' \
+               ./files/syslog-ng.logrotate > $(1)/etc/logrotate.d/syslog-ng.conf
+endif
 endef
 
 define Package/syslog-ng/postinst