[Buildroot] [PATCH 08/10] package/systemd: add hook to update journalctl catalogs

Yann E. MORIN yann.morin.1998 at free.fr
Sun Jun 7 15:56:52 UTC 2020


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 <nolange79 at gmail.com>
> ---
>  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.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list