package/systemd: unify journal remote options
cover package/systemd: unify journal remote options
this patch is the result of the discussion at [0] and fixes #12301.
I moved the libqrencode dependency in the first patch for two reasons:
- it untangles the if-else construct for the remote part
- in systemd 247 homectl will also be using libqrencode for recovery-keys [1]
In the second patch I deprecated the systemd-journal-gatewayd options as it is now part of the systemd-journal-remote option. Also since the patch mentioned in the discussion you already needed to set the latter to get gatewayd built.
[0] http://lists.busybox.net/pipermail/buildroot/2020-October/294477.html
[1] https://github.com/systemd/systemd/blob/master/src/home/homectl-recovery-key.c#L3
Michael Nosthoff (2):
package/systemd: link libqrencode independent of remote package/systemd: group all journal-remote tools
Config.in.legacy | 7 +++++++ package/systemd/Config.in | 28 ++++++++++++---------------- package/systemd/systemd.mk | 22 +++++++++------------- 3 files changed, 28 insertions(+), 29 deletions(-)
Signature · 1 line
2.25.1
PATCH 1/2 package/systemd: link libqrencode independent of remote
systemds libqrencode support is independent from journal-gatewayd. In v247 it will additionally be used in homectl for recovery key generation.
--- package/systemd/systemd.mk | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
package/systemd/systemd.mk +8 -7
@@ -243,14 +243,8 @@ endif ifeq ($(BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY),y) SYSTEMD_DEPENDENCIES += libmicrohttpd SYSTEMD_CONF_OPTS += -Dmicrohttpd=true -ifeq ($(BR2_PACKAGE_LIBQRENCODE),y) -SYSTEMD_CONF_OPTS += -Dqrencode=true -SYSTEMD_DEPENDENCIES += libqrencode else -SYSTEMD_CONF_OPTS += -Dqrencode=false -endif -else -SYSTEMD_CONF_OPTS += -Dmicrohttpd=false -Dqrencode=false +SYSTEMD_CONF_OPTS += -Dmicrohttpd=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE),y)
@@ -260,6 +254,13 @@ else SYSTEMD_CONF_OPTS += -Dremote=false endif +ifeq ($(BR2_PACKAGE_LIBQRENCODE),y) +SYSTEMD_DEPENDENCIES += libqrencode +SYSTEMD_CONF_OPTS += -Dqrencode=true +else +SYSTEMD_CONF_OPTS += -Dqrencode=false +endif + ifeq ($(BR2_PACKAGE_LIBSELINUX),y) SYSTEMD_DEPENDENCIES += libselinux SYSTEMD_CONF_OPTS += -Dselinux=true
Signature · 1 line
2.25.1
Thomas Petazzoni
AppliedPATCH 1/2 package/systemd: link libqrencode independent of remote
Quoted 8 lines · On Wed, 14 Oct 2020 17:12:49 +0200 Michael Nosthoff via buildroot…
systemds libqrencode support is independent from journal-gatewayd. In v247 it will additionally be used in homectl for recovery key generation.
Signed-off-by Michael Nosthoff <[email protected]>--- package/systemd/systemd.mk | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH 2/2 package/systemd: group all journal-remote tools
In reply to Michael NosthoffThe -Dremote=true flag enables three tools. systemd-journal-gatewayd, systemd-journal-remote and systemd-journal-upload.
It is not possible with simple means to install them seperately. So use the systemd-journal-remote option do enable or disable them all together.
Drop systemd-journal-gatewayd option and add it to legacy.
--- Config.in.legacy | 7 +++++++ package/systemd/Config.in | 28 ++++++++++++---------------- package/systemd/systemd.mk | 13 ++++--------- 3 files changed, 23 insertions(+), 25 deletions(-)
Config.in.legacy +7 -0
@@ -146,6 +146,13 @@ endif comment "Legacy options removed in 2020.11" +config BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY + bool "systemd-journal-gatewayd now in systemd-journal-remote" + select BR2_PACKAGE_LIBMICROHTTPD + help + all system journal remote programs are now + grouped in systemd-journal-remote + config BR2_TARGET_UBOOT_BOOT_SCRIPT bool "u-boot script generation was moved" select BR2_LEGACY
package/systemd/Config.in +12 -16
@@ -141,29 +141,25 @@ config BR2_PACKAGE_SYSTEMD_BOOT_EFI_ARCH default "x64" if BR2_x86_64 depends on BR2_PACKAGE_SYSTEMD_BOOT -config BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY - bool "HTTP server for journal events" +config BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE + bool "enable journal remote tools" + select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBMICROHTTPD help - systemd-journal-gatewayd serves journal events over the - network. Clients must connect using HTTP. The server - listens on port 19531 by default. + journal remote functionality adds three tools: - http://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.service.html + systemd-journal-gatewayd serves journal events over the + network. -config BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE - bool "enable systemd-journal-remote" - depends on BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY - select BR2_PACKAGE_LIBCURL - help systemd-journal-remote is a command to receive serialized - journal events and store them to journal files. Input - streams are in the Journal Export Format[1], i.e. like the - output from journalctl --output=export. For transport over - the network, this serialized stream is usually carried over - an HTTPS connection. + journal events and store them to journal files. + + systemd-journal-upload will upload journal entries to the + URL specified with --url=. + https://www.freedesktop.org/software/systemd/man/systemd-journal-gatewayd.service.html https://www.freedesktop.org/software/systemd/man/systemd-journal-remote.service.html + https://www.freedesktop.org/software/systemd/man/systemd-journal-upload.html config BR2_PACKAGE_SYSTEMD_BACKLIGHT bool "enable backlight support"
package/systemd/systemd.mk +4 -9
@@ -240,18 +240,13 @@ else SYSTEMD_CONF_OPTS += -Danalyze=false endif -ifeq ($(BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY),y) -SYSTEMD_DEPENDENCIES += libmicrohttpd -SYSTEMD_CONF_OPTS += -Dmicrohttpd=true -else -SYSTEMD_CONF_OPTS += -Dmicrohttpd=false -endif - ifeq ($(BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE),y) -SYSTEMD_CONF_OPTS += -Dremote=true +# remote also depends on libcurl, this is already added above. +SYSTEMD_DEPENDENCIES += libmicrohttpd +SYSTEMD_CONF_OPTS += -Dremote=true -Dmicrohttpd=true SYSTEMD_REMOTE_USER = systemd-journal-remote -1 systemd-journal-remote -1 * - - - systemd Journal Remote else -SYSTEMD_CONF_OPTS += -Dremote=false +SYSTEMD_CONF_OPTS += -Dremote=false -Dmicrohttpd=false endif ifeq ($(BR2_PACKAGE_LIBQRENCODE),y)
Signature · 1 line
2.25.1