mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
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

             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