[Buildroot] [PATCH 1/1] package/gettext-gnu: Fix GETTEXTIZE is not defined in case of full gettext

Vadim Kochan vadim4j at gmail.com
Mon Apr 8 08:42:41 UTC 2019


Hi Romain, All,

On Mon, Apr 08, 2019 at 10:24:10AM +0200, Romain Naour wrote:
> Hi Vadim, All
> 
> Le 08/04/2019 à 02:10, Vadim Kochan a écrit :
> > After introducing gettext-tiny in:
> > 
> > 	5367a1b253 package/gettext-tiny: new package
> > 
> > GETTEXTIZE variable is defined separately by gettext-gnu or gettext-tiny
> > package depending on which of them is enabled. But it causes the issue when
> > BR2_TOOLCHAIN_HAS_FULL_GETTEXT=y, because in that case
> > BR2_PACKAGE_GETTEXT is not selected by BR2_SYSTEM_ENABLE_NLS config
> > and GETTEXTIZE is not defined, which causes build fail for packages
> > which uses gettextizing (e.g. host-flex).
> > 
> > Fix issue by defining GETTEXTIZE in package/gettext/gettext.mk, the
> > definition is almost same for gettext-gnu and gettext-tiny with only
> > difference in additional 'data_dir' variable for gettext-tiny case.
> > 
> > Reported-by: Romain Naour <romain.naour at gmail.com>
> > Signed-off-by: Vadim Kochan <vadim4j at gmail.com>
> > ---
> >  package/gettext-gnu/gettext-gnu.mk   |  4 ----
> >  package/gettext-tiny/gettext-tiny.mk |  7 -------
> >  package/gettext/gettext.mk           | 10 ++++++++++
> >  3 files changed, 10 insertions(+), 11 deletions(-)
> > 
> > diff --git a/package/gettext-gnu/gettext-gnu.mk b/package/gettext-gnu/gettext-gnu.mk
> > index 61adf72738..33a1cbed38 100644
> > --- a/package/gettext-gnu/gettext-gnu.mk
> > +++ b/package/gettext-gnu/gettext-gnu.mk
> > @@ -95,9 +95,5 @@ endef
> >  
> >  HOST_GETTEXT_GNU_POST_INSTALL_HOOKS += HOST_GETTEXT_GNU_ADD_ABOUT_NLS
> >  
> > -ifeq ($(BR2_PACKAGE_GETTEXT_GNU),y)
> > -GETTEXTIZE = $(HOST_CONFIGURE_OPTS) AUTOM4TE=$(HOST_DIR)/bin/autom4te $(HOST_DIR)/bin/gettextize -f
> > -endif
> > -
> >  $(eval $(autotools-package))
> >  $(eval $(host-autotools-package))
> > diff --git a/package/gettext-tiny/gettext-tiny.mk b/package/gettext-tiny/gettext-tiny.mk
> > index 4fa014e8dd..4d002aba4b 100644
> > --- a/package/gettext-tiny/gettext-tiny.mk
> > +++ b/package/gettext-tiny/gettext-tiny.mk
> > @@ -105,12 +105,5 @@ define GETTEXT_TINY_INSTALL_TARGET_CMDS
> >  	$(INSTALL) -m 0755 -D $(GETTEXT_TINY_PKGDIR)/gettext-wrapper $(TARGET_DIR)/usr/bin/gettext
> >  endef
> >  
> > -ifeq ($(BR2_SYSTEM_ENABLE_NLS),)
> > -GETTEXTIZE = $(HOST_CONFIGURE_OPTS) \
> > -	     AUTOM4TE=$(HOST_DIR)/bin/autom4te \
> > -	     gettext_datadir=$(HOST_DIR)/usr/share/gettext-tiny \
> > -	     $(HOST_DIR)/bin/gettextize -f
> > -endif
> > -
> >  $(eval $(generic-package))
> >  $(eval $(host-generic-package))
> > diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk
> > index a86e26f69e..b836ebac57 100644
> > --- a/package/gettext/gettext.mk
> > +++ b/package/gettext/gettext.mk
> > @@ -4,5 +4,15 @@
> >  #
> >  ################################################################################
> >  
> > +GETTEXTIZE_ENV = $(HOST_CONFIGURE_OPTS) \
> > +	AUTOM4TE=$(HOST_DIR)/bin/autom4te
> > +
> > +ifeq ($(BR2_SYSTEM_ENABLE_NLS),)
> > +GETTEXTIZE_ENV += gettext_datadir=$(HOST_DIR)/usr/share/gettext-tiny
> > +endif
> 
> The fix is ok but having something related to gettext-tiny in the virtual
> package is not great.
> I'm not sure if GETTEXTIZE_ENV can/should be used from gettext-tiny package.
> 

Emmm, you are right, conceptually this is not good. OK,
let see if this 'data_dir' can be replaced by sed in gettext-tiny.mk .

> 
> > +
> > +GETTEXTIZE = $(GETTEXTIZE_ENV) \
> > +	$(HOST_DIR)/bin/gettextize -f
> > +
> >  $(eval $(virtual-package))
> >  $(eval $(host-virtual-package))
> > 
> 

Thanks for comments!

Regards,
Vadim Kochan


More information about the buildroot mailing list