diff mbox series

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

Message ID 20190408001021.12249-1-vadim4j@gmail.com
State Changes Requested
Headers show
Series [1/1] package/gettext-gnu: Fix GETTEXTIZE is not defined in case of full gettext | expand

Commit Message

Vadym Kochan April 8, 2019, 12:10 a.m. UTC
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@gmail.com>
Signed-off-by: Vadim Kochan <vadim4j@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(-)

Comments

Romain Naour April 8, 2019, 8:24 a.m. UTC | #1
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@gmail.com>
> Signed-off-by: Vadim Kochan <vadim4j@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.

Best regards,
Romain

> +
> +GETTEXTIZE = $(GETTEXTIZE_ENV) \
> +	$(HOST_DIR)/bin/gettextize -f
> +
>  $(eval $(virtual-package))
>  $(eval $(host-virtual-package))
>
Vadym Kochan April 8, 2019, 8:42 a.m. UTC | #2
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@gmail.com>
> > Signed-off-by: Vadim Kochan <vadim4j@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
Vadym Kochan April 8, 2019, 8:48 a.m. UTC | #3
On Mon, Apr 08, 2019 at 11:42:41AM +0300, Vadim Kochan wrote:
> 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@gmail.com>
> > > Signed-off-by: Vadim Kochan <vadim4j@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))
> > > 
> > 
> 

OK, I will just try to make link ${PREFIX}/share/gettext -> ${PREFIX}/share/gettext-tiny,
there will be no need for 'data_dir' passing.

Regards,
Vadim Kochan
diff mbox series

Patch

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
+
+GETTEXTIZE = $(GETTEXTIZE_ENV) \
+	$(HOST_DIR)/bin/gettextize -f
+
 $(eval $(virtual-package))
 $(eval $(host-virtual-package))