diff options
author | Matthias Schiffer <matthias.schiffer@ew.tq-group.com> | 2020-04-08 14:32:32 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2020-04-09 15:13:03 +0200 |
commit | 7401834437535fad962fb0f68dcdddc93d212935 (patch) | |
tree | 7dc357dba5a189cc58947da33ae0d8565c6adba5 | |
parent | 94debc29986dc6d17fd0329b706fc3ea3a9e9a9c (diff) | |
download | ptxdist-7401834437535fad962fb0f68dcdddc93d212935.tar.gz ptxdist-7401834437535fad962fb0f68dcdddc93d212935.tar.xz |
syslogng: update to 3.25.1
Update and move out of staging. The new version adds compatiblity with
OpenSSL 1.1.x and switches to Python 3.
The AMQP and MongoDB destinations are removed, they were never buildable
without additional packages not available in plain PTXdist. Various
other modules are disabled explicitly to avoid the build
nondeterministically picking up undeclared dependencies.
A simple replacement for the old systemd unit is added, as the new version
only provides an instanced unit which cannot be linked as syslog.service
(which is necessary to use syslog-ng as the default system logger by
enabling ForwardToSyslog in journald.conf).
Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Message-Id: <20200408123232.12718-1-matthias.schiffer@ew.tq-group.com>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | projectroot/etc/syslog-ng.conf | 6 | ||||
-rw-r--r-- | projectroot/usr/lib/systemd/system/syslog-ng.service | 20 | ||||
-rw-r--r-- | rules/syslogng.in | 30 | ||||
-rw-r--r-- | rules/syslogng.make | 80 |
4 files changed, 102 insertions, 34 deletions
diff --git a/projectroot/etc/syslog-ng.conf b/projectroot/etc/syslog-ng.conf index 254aecfd2..0235b9857 100644 --- a/projectroot/etc/syslog-ng.conf +++ b/projectroot/etc/syslog-ng.conf @@ -1,13 +1,15 @@ # -# syslog-ng configuration +# syslog-ng configuration # +@version: 3.25 + # # Options # # sync every 0 lines -options { long_hostnames(off); sync(0); }; +options { chain_hostnames(off); flush_lines(0); }; # # Sources diff --git a/projectroot/usr/lib/systemd/system/syslog-ng.service b/projectroot/usr/lib/systemd/system/syslog-ng.service new file mode 100644 index 000000000..6bf591efd --- /dev/null +++ b/projectroot/usr/lib/systemd/system/syslog-ng.service @@ -0,0 +1,20 @@ +[Unit] +Description=System Logger Daemon +Documentation=man:syslog-ng(8) +Conflicts=emergency.service emergency.target +Requires=syslog.socket +Wants=network.target network-online.target +After=network.target network-online.target + +[Service] +Type=notify +ExecStartPre=/bin/mkdir -p /var/lib/syslog-ng +ExecStart=/usr/sbin/syslog-ng -F --enable-core --cfgfile /etc/syslog-ng.conf --control /var/run/syslog-ng.ctl --persist-file /var/lib/syslog-ng/syslog-ng.persist --pidfile /var/run/syslog-ng.pid +ExecReload=/bin/kill -HUP $MAINPID +StandardOutput=journal +StandardError=journal +Restart=on-failure + +[Install] +Alias=syslog.service +WantedBy=multi-user.target diff --git a/rules/syslogng.in b/rules/syslogng.in index 3b1af844b..7707c8c32 100644 --- a/rules/syslogng.in +++ b/rules/syslogng.in @@ -1,6 +1,4 @@ -## SECTION=staging -## old section: -### SECTION=networking +## SECTION=networking # syslog-ng configuration menuconfig SYSLOGNG @@ -9,7 +7,9 @@ menuconfig SYSLOGNG select EVENTLOG select GLIB select OPENSSL - select PYTHON if SYSLOGNG_PYTHON_DESTINATION + select LIBCURL if SYSLOGNG_HTTP + select JSON_C if SYSLOGNG_JSON + select PYTHON3 if SYSLOGNG_PYTHON_DESTINATION select LIBC_NSL select LIBC_RT select LIBNET if SYSLOGNG_SPOOF_SOURCE @@ -19,10 +19,6 @@ menuconfig SYSLOGNG help The next generation syslog daemon. - STAGING: remove in ptxdist-2020.01.0 - Fails to build with OpenSSL 1.1.x. Update to a new version is - needed. - if SYSLOGNG config SYSLOGNG_TCP_WRAPPER @@ -46,28 +42,30 @@ config SYSLOGNG_SPOOF_SOURCE destinations though the original message can be received by TCP as well. -config SYSLOGNG_AMQP_DESTINATION +config SYSLOGNG_HTTP bool - prompt "support the AMQP destination" + prompt "Enable HTTP support" help - Enables the ability to publish AMQP messages. + Enable support for the http() destination that is based + on libcurl. -config SYSLOGNG_MONGODB_DESTINATION +config SYSLOGNG_JSON bool - prompt "support the MongoDB destination" + prompt "Enable JSON support" help - Enables the ability to send messages to a MongoDB database. + JSON support is required for json-parser, and the format-cim + and format-json template functions. config SYSLOGNG_PYTHON_DESTINATION bool - prompt "support the python destination" + prompt "Support the python destination" help Enables the ability to use inline python in the syslog-ng configuration file. config SYSLOGNG_STOMP_DESTINATION bool - prompt "support the STOMP destination" + prompt "Support the STOMP destination" help Enables the ability to send STOMP messages to message brokers. diff --git a/rules/syslogng.make b/rules/syslogng.make index 114f72cef..f237dce98 100644 --- a/rules/syslogng.make +++ b/rules/syslogng.make @@ -16,9 +16,9 @@ PACKAGES-$(PTXCONF_SYSLOGNG) += syslogng # # Paths and names # -SYSLOGNG_VERSION := 3.7.3 -SYSLOG_LIBVERSION := 3.7 -SYSLOGNG_MD5 := 803d61a713d6d41a973942d417fec999 +SYSLOGNG_VERSION := 3.25.1 +SYSLOG_LIBVERSION := 3.25 +SYSLOGNG_MD5 := 07c2ebb712ddacd201b24b265b857b0d SYSLOGNG := syslog-ng-$(SYSLOGNG_VERSION) SYSLOGNG_SUFFIX := tar.gz SYSLOGNG_URL := https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOGNG_VERSION)/$(SYSLOGNG).$(SYSLOGNG_SUFFIX) @@ -32,29 +32,75 @@ SYSLOGNG_LICENSE := GPL-2.0-or-later AND LGPL-2.1-only SYSLOGNG_ENV = \ $(CROSS_ENV) \ - ac_cv_path_PYTHON=$(CROSS_PYTHON) + ac_cv_path_PYTHON=$(CROSS_PYTHON3) # # autoconf # SYSLOGNG_AUTOCONF = \ $(CROSS_AUTOCONF_USR) \ - $(GLOBAL_IPV6_OPTION) \ - --enable-dynamic-linking \ + --localstatedir=/var/run \ + --enable-forced-server-mode \ --disable-debug \ - --disable-sun-streams \ - --$(call ptx/endis, PTXCONF_SYSLOGNG_AMQP_DESTINATION)-amqp \ - --$(call ptx/endis, PTXCONF_SYSLOGNG_MONGODB_DESTINATION)-mongodb \ - --$(call ptx/endis, PTXCONF_SYSLOGNG_PYTHON_DESTINATION)-python \ - --$(call ptx/endis, PTXCONF_SYSLOGNG_SYSTEMD)-systemd \ + --enable-force-gnu99 \ + --disable-extra-warnings \ + --disable-env-wrapper \ + --disable-gprof \ + --disable-memtrace \ + --enable-dynamic-linking \ + --disable-mixed-linking \ + $(GLOBAL_IPV6_OPTION) \ + --$(call ptx/endis, PTXCONF_SYSLOGNG_TCP_WRAPPER)-tcp-wrapper \ --$(call ptx/endis, PTXCONF_SYSLOGNG_SPOOF_SOURCE)-spoof-source \ + --disable-sun-streams \ + --disable-openbsd-system-source \ + --disable-sql \ + --disable-pacct \ + --disable-linux-caps \ + --disable-gcov \ + --disable-mongodb \ + --disable-legacy-mongodb-options \ + --$(call ptx/endis, PTXCONF_SYSLOGNG_JSON)-json \ + --disable-amqp \ --$(call ptx/endis, PTXCONF_SYSLOGNG_STOMP_DESTINATION)-stomp \ - --$(call ptx/endis, PTXCONF_SYSLOGNG_TCP_WRAPPER)-tcp-wrapper \ - --with-systemd-journal=$(call ptx/ifdef, PTXCONF_SYSLOGNG_SYSTEMD,system,no) \ - --with-systemdsystemunitdir=/usr/lib/systemd/system \ - --localstatedir=/var/run \ + --disable-smtp \ + --$(call ptx/endis, PTXCONF_SYSLOGNG_HTTP)-http \ + --disable-redis \ + --$(call ptx/endis, PTXCONF_SYSLOGNG_SYSTEMD)-systemd \ + --disable-geoip2 \ + --disable-riemann \ + --with-python=$(PYTHON3_MAJORMINOR) \ + --$(call ptx/endis, PTXCONF_SYSLOGNG_PYTHON_DESTINATION)-python \ + --disable-kafka \ + --disable-manpages \ + --disable-java \ + --disable-java-modules \ + --enable-native \ + --disable-snmp-dest \ + --disable-all-modules \ + $(GLOBAL_LARGE_FILE_OPTION) \ + --disable-valgrind \ --with-libnet=$(SYSROOT)/usr/bin \ - --with-python=$(PYTHON_MAJORMINOR) + --without-net-snmp \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --with-jsonc=$(if $(PTXCONF_SYSLOGNG_JSON),system,no) \ + --with-ivykis=internal \ + --without-libesmtp \ + --without-libhiredis \ + --without-compile-date \ + --with-systemd-journal=$(call ptx/ifdef, PTXCONF_SYSLOGNG_SYSTEMD,system,no) + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/syslogng.install: + @$(call targetinfo) + @$(call world/install, SYSLOGNG) +# # test plugins, not needed on the target + @rm -r "$(SYSLOGNG_PKGDIR)/usr/lib/syslog-ng/loggen" + @$(call touch) + # ---------------------------------------------------------------------------- # Target-Install @@ -73,6 +119,8 @@ $(STATEDIR)/syslogng.targetinstall: @$(call install_copy, syslogng, 0, 0, 0755, -, \ /usr/sbin/syslog-ng) @$(call install_lib, syslogng, 0, 0, 0644, libsyslog-ng-$(SYSLOG_LIBVERSION)) + @$(call install_lib, syslogng, 0, 0, 0644, libevtlog-$(SYSLOG_LIBVERSION)) + @$(call install_lib, syslogng, 0, 0, 0644, libsecret-storage) @$(call install_glob, syslogng, 0, 0, -, /usr/lib/syslog-ng, *.so) # # config |