0
0
mirror of https://github.com/openwrt/packages.git synced 2025-10-01 10:41:31 +00:00
Files
packages/admin/syslog-ng/Makefile
Josef Schlehofer b1cfb71f7b syslog-ng: update to version 4.10.0
Release notes:
https://github.com/syslog-ng/syslog-ng/releases/tag/syslog-ng-4.10.0

Makefile changes
----------------

1. Disable experimental feature: stackdump
due to issues, which were reported to upstream

2. Disabled example modules to avoid adding libstdc++.so.6 dependency
Fixes:
Package syslog-ng is missing dependencies for the following libraries:
libstdc++.so.6

Other changes
-------------

In syslog-ng 4.8.0, there was added possibility to use value "current"
as version in the config file, so use it, which confirm to use
the latest version instead of bumping the version in the file
manually.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2025-09-26 00:53:36 +02:00

163 lines
4.3 KiB
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=syslog-ng
PKG_VERSION:=4.10.0
PKG_RELEASE:=1
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:oneidentity: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:=219fbdb1685b6fa61674712f21c7b46e5e09b2533518c57689eaa827f57b1609
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:=+libpcre2 +glib2 +libopenssl +libpthread +librt +libdbi +libjson-c +libcurl +libuuid +SYSLOGNG_LOGROTATE:logrotate +LIBCURL_ZLIB:zlib
ALTERNATIVES:=300:/sbin/logread:/usr/libexec/logread.sh
endef
define Package/syslog-ng/description
syslog-ng reads and logs messages to the system console, log
files, other machines and/or users as specified by its
configuration file.
endef
define Package/syslog-ng/conffiles
/etc/syslog-ng.conf
/etc/syslog-ng.d/
/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) \
--disable-tcp-wrapper \
--disable-spoof-source \
--disable-sql \
--disable-linux-caps \
--with-jsonc=system \
--enable-cpp=no \
--disable-example-modules \
--enable-json=yes \
$(if $(CONFIG_LIBCURL_ZLIB),--enable-http=yes,--enable-http=no) \
--disable-smtp \
--disable-mqtt \
--disable-redis \
--disable-stackdump \
--disable-dependency-tracking \
--disable-python \
--disable-geoip2 \
--disable-java \
--disable-java-modules \
--with-librabbitmq-client=no \
--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
cd $(PKG_BUILD_DIR); make DESTDIR=$(1) install
$(call libtool_remove_files,$(1)) # This removes .la files in folder (including subfolders) /usr/lib
rm -rf $(1)/usr/lib/pkgconfig \
$(1)/usr/lib/*.a \
$(1)/usr/include \
$(1)/var
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/syslog-ng.init $(1)/etc/init.d/syslog-ng
$(INSTALL_DIR) $(1)/etc/syslog-ng.d
$(INSTALL_DATA) ./files/syslog-ng.conf $(1)/etc
touch $(1)/etc/syslog-ng.d/.keep
$(INSTALL_DIR) $(1)/usr/libexec
$(INSTALL_BIN) ./files/logread.sh $(1)/usr/libexec/logread.sh
$(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
#!/bin/sh
[ -n "$$IPKG_INSTROOT" ] || {
/etc/init.d/syslog-ng enable
/etc/init.d/syslog-ng restart
}
endef
define Package/syslog-ng/prerm
#!/bin/sh
[ -n "$$IPKG_INSTROOT" ] || {
/etc/init.d/syslog-ng disable
/etc/init.d/syslog-ng stop
}
endef
$(eval $(call BuildPackage,syslog-ng))