From: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
To: ptxdist@pengutronix.de
Cc: matthias.schiffer@ew.tq-group.com
Subject: [ptxdist] [PATCH v3] syslogng: update to 3.25.1
Date: Wed, 8 Apr 2020 14:32:32 +0200 [thread overview]
Message-ID: <20200408123232.12718-1-matthias.schiffer@ew.tq-group.com> (raw)
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>
---
v3: reduce configure_helper.py diff to path configurations and unused
utilities that don't have a sane "disabled" setting:
- --disable-python
+ --with-pidfile-dir=path
+ --with-module-dir=path
+ --with-loggen-plugin-dir=path
+ --with-module-path=path
+ --with-timezone-dir=path
+ --with-ld-library-path=path
+ --with-libcurl=DIR
- --localstatedir=/var/run
+ --with-nosetests=ABSOLUTE_PATH
+ --with-pylint=ABSOLUTE_PATH
+ --with-docbook=FILE
--disable-python and --localstatedir remain because of
configure_helper.py limitations.
projectroot/etc/syslog-ng.conf | 6 +-
.../usr/lib/systemd/system/syslog-ng.service | 20 +++++
rules/syslogng.in | 30 ++++---
rules/syslogng.make | 84 +++++++++++++++----
4 files changed, 106 insertions(+), 34 deletions(-)
create mode 100644 projectroot/usr/lib/systemd/system/syslog-ng.service
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..c2d4965b6 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,79 @@ 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 \
+ --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) \
+ --localstatedir=/var/run
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/syslogng.install:
+ @$(call targetinfo)
+
+ @$(call world/install, SYSLOGNG)
+
+ @rm "$(SYSLOGNG_PKGDIR)/usr/bin/loggen"
+ @rm -r "$(SYSLOGNG_PKGDIR)/usr/lib/libloggen_"*
+ @rm -r "$(SYSLOGNG_PKGDIR)/usr/lib/syslog-ng/loggen"
+
+ @$(call touch)
+
# ----------------------------------------------------------------------------
# Target-Install
@@ -73,6 +123,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
--
2.17.1
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next reply other threads:[~2020-04-08 12:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-08 12:32 Matthias Schiffer [this message]
2020-04-09 16:54 ` [ptxdist] [APPLIED] fbgrab: remove from staging Michael Olbrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200408123232.12718-1-matthias.schiffer@ew.tq-group.com \
--to=matthias.schiffer@ew.tq-group.com \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox