mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: matthias.schiffer@ew.tq-group.com
Subject: Re: [ptxdist] [PATCH v2] syslogng: update to 3.25.1
Date: Fri, 21 Feb 2020 08:47:12 +0100	[thread overview]
Message-ID: <20200221074712.GC4597@pengutronix.de> (raw)
In-Reply-To: <20200220083947.28574-1-matthias.schiffer@ew.tq-group.com>

On Thu, Feb 20, 2020 at 09:39:47AM +0100, Matthias Schiffer wrote:
> 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>
> ---
>  projectroot/etc/syslog-ng.conf                |  6 ++-
>  .../usr/lib/systemd/system/syslog-ng.service  | 20 +++++++++
>  rules/syslogng.in                             | 30 ++++++-------
>  rules/syslogng.make                           | 45 ++++++++++++++++---
>  4 files changed, 76 insertions(+), 25 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..6175a9e31 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,7 +32,7 @@ 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
> @@ -41,10 +41,21 @@ SYSLOGNG_AUTOCONF = \
>  	$(CROSS_AUTOCONF_USR) \
>  	$(GLOBAL_IPV6_OPTION) \
>  	--enable-dynamic-linking \
> +	--disable-amqp \
>  	--disable-debug \
> +	--disable-geoip2 \
> +	--disable-java \
> +	--disable-java-modules \
> +	--disable-kafka \
> +	--disable-mongodb \
> +	--disable-redis \
> +	--disable-riemann \
> +	--disable-smtp \
> +	--disable-snmp-dest \
> +	--disable-sql \
>  	--disable-sun-streams \
> -	--$(call ptx/endis, PTXCONF_SYSLOGNG_AMQP_DESTINATION)-amqp \
> -	--$(call ptx/endis, PTXCONF_SYSLOGNG_MONGODB_DESTINATION)-mongodb \
> +	--$(call ptx/endis, PTXCONF_SYSLOGNG_HTTP)-http \
> +	--$(call ptx/endis, PTXCONF_SYSLOGNG_JSON)-json \
>  	--$(call ptx/endis, PTXCONF_SYSLOGNG_PYTHON_DESTINATION)-python \
>  	--$(call ptx/endis, PTXCONF_SYSLOGNG_SYSTEMD)-systemd \
>  	--$(call ptx/endis, PTXCONF_SYSLOGNG_SPOOF_SOURCE)-spoof-source \
> @@ -53,8 +64,26 @@ SYSLOGNG_AUTOCONF = \
>  	--with-systemd-journal=$(call ptx/ifdef, PTXCONF_SYSLOGNG_SYSTEMD,system,no) \
>  	--with-systemdsystemunitdir=/usr/lib/systemd/system \
>  	--localstatedir=/var/run \
> +	--with-ivykis=internal \
> +	--with-jsonc=$(if $(PTXCONF_SYSLOGNG_JSON),system,no) \
>  	--with-libnet=$(SYSROOT)/usr/bin \
> -	--with-python=$(PYTHON_MAJORMINOR)
> +	--with-python=$(PYTHON3_MAJORMINOR)

As I noted in my last review, please use configure_helper.py to check and
improve the options.
- GLOBAL_LARGE_FILE_OPTION should be used
- the sorting should be corrected
- there are several enable/disable and with/without options that are
  missing and may pick up dependencies automatically.

Ignore the --with-python output: configure_helper.py currently cannot
handle two options with the same name --enable-python and --with-python in
this case. The two options are merged so the output for this is wrong.

> +
> +# ----------------------------------------------------------------------------
> +# 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"

Why are these removed? This deserves a comment above.

Michael

> +	@$(call touch)
> +
>  
>  # ----------------------------------------------------------------------------
>  # Target-Install
> @@ -73,6 +102,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
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

  reply	other threads:[~2020-02-21  7:47 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-13 17:22 [ptxdist] [PATCH] kmscube: switch to https URL Matthias Schiffer
2020-02-13 17:22 ` [ptxdist] [PATCH] parted: update to 3.3 Matthias Schiffer
2020-02-14  8:49   ` Michael Olbrich
2020-02-14  9:07   ` [ptxdist] [PATCH v2] " Matthias Schiffer
2020-02-14 10:38   ` [ptxdist] [PATCH v3] " Matthias Schiffer
2020-02-15 10:05     ` Michael Olbrich
2020-02-17  8:53     ` [ptxdist] [PATCH v4] " Matthias Schiffer
2020-02-13 17:22 ` [ptxdist] [PATCH] gettext: deterministically build with included libraries Matthias Schiffer
2020-02-14  9:12   ` Michael Olbrich
2020-02-14  9:48     ` [ptxdist] (EXT) " Matthias Schiffer
2020-02-14 10:38       ` Matthias Schiffer
2020-02-15  9:27         ` Michael Olbrich
2020-02-13 17:22 ` [ptxdist] [PATCH] gst-plugins-good1: qmlglsink: fix build on EGL platform without X11 headers Matthias Schiffer
2020-02-14  9:18   ` Michael Olbrich
2020-02-13 17:22 ` [ptxdist] [PATCH] varoverlayfs: support kernels without metacopy Matthias Schiffer
2020-02-14  9:21   ` Michael Olbrich
2020-02-14 10:38   ` [ptxdist] [PATCH v2] " Matthias Schiffer
2020-02-13 17:22 ` [ptxdist] [PATCH] syslogng: update to 3.25.1 Matthias Schiffer
2020-02-17  9:38   ` Michael Olbrich
2020-02-17  9:59   ` Michael Olbrich
2020-02-20  8:39   ` [ptxdist] [PATCH v2] " Matthias Schiffer
2020-02-21  7:47     ` Michael Olbrich [this message]
2020-02-21  8:30       ` [ptxdist] (EXT) " Matthias Schiffer
2020-03-18 10:50         ` Michael Olbrich
2020-04-03  5:28           ` Michael Olbrich
2020-04-03  8:00             ` [ptxdist] (EXT) " Matthias Schiffer
2020-02-14  8:40 ` [ptxdist] [PATCH] kmscube: switch to https URL Michael Olbrich
2020-02-14  8:53   ` [ptxdist] (EXT) " Matthias Schiffer
2020-02-15  9:29     ` Michael Olbrich
2020-02-17  9:00 ` [ptxdist] [PATCH v2] kmscube: switch to https archive download Matthias Schiffer

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=20200221074712.GC4597@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=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