From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yann E. MORIN Date: Sun, 7 Jun 2020 17:56:52 +0200 Subject: [Buildroot] [PATCH 08/10] package/systemd: add hook to update journalctl catalogs In-Reply-To: <20200206093633.251413-9-nolange79@gmail.com> References: <20200206093633.251413-1-nolange79@gmail.com> <20200206093633.251413-9-nolange79@gmail.com> Message-ID: <20200607155652.GS13972@scaer> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Norbert, All, On 2020-02-06 10:36 +0100, Norbert Lange spake thusly: > journald supports catalog files, or rather a binary database of > those. > This add a hook to create said database from the available > catalog source files (which are not needed afterwards). > > One ugly workaround is or ensuring that PURGE_LOCALES is > called before, we do this by adding this hook > (will then run twice during the finalize target step). > > Signed-off-by: Norbert Lange > --- > package/systemd/systemd.mk | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk > index 6ea25e3363..8db3a1b117 100644 > --- a/package/systemd/systemd.mk > +++ b/package/systemd/systemd.mk > @@ -500,6 +500,16 @@ define SYSTEMD_PRESET_ALL > endef > SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SYSTEMD_PRESET_ALL > > +define SYSTEMD_UPDATE_CATALOGS > + $(HOST_DIR)/bin/journalctl --root=$(TARGET_DIR) --update-catalog > +endef > + > +# SYSTEMD_UPDATE_CATALOGS needs to run after PURGE_LOCALES > +ifeq ($(BR2_ENABLE_LOCALE_PURGE),y) > +SYSTEMD_TARGET_FINALIZE_HOOKS += PURGE_LOCALES > +endif > +SYSTEMD_TARGET_FINALIZE_HOOKS += SYSTEMD_UPDATE_CATALOGS > + > SYSTEMD_CONF_ENV = $(HOST_UTF8_LOCALE_ENV) > SYSTEMD_NINJA_ENV = $(HOST_UTF8_LOCALE_ENV) > > @@ -577,6 +587,7 @@ HOST_SYSTEMD_DEPENDENCIES = \ > # $(HOST_DIR)/lib > # * thus re-tweak rpath after the installation for all binaries that need it > HOST_SYSTEMD_HOST_TOOLS = \ > + journalctl \ Why are you adding journalctl to this list? This list is only used to fix the RPATH in the prgrams. If the programs do not need the RPATH, we don;t need to fix them up. This list is not about identifying the host tools we are using (indeed, most entries in that list are not used at all). If however, you foudn a case where journalctl needs an RPATH entry, then: - explain why: identify the libraries involved, and add explicit dependencies on the packages providign those libraries, - send that change in a separate patch. Regards, Yann E. MORIN. > systemd-analyze \ > systemd-mount \ > systemctl \ > -- > 2.24.1 > -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'