* [Buildroot] [PATCH 1/5 v2] pkg-autotools: add support to gettextize a package
2014-07-15 22:37 [Buildroot] [PATCH 0/5 RFCv2] pkg-autotools: introduce infra to gettextize packages (branch yem/gettext) Yann E. MORIN
@ 2014-07-15 22:37 ` Yann E. MORIN
2014-07-15 23:46 ` Gustavo Zacarias
2014-07-15 22:37 ` [Buildroot] [PATCH 2/5 v2] manual: add gettextize explanations in the manual Yann E. MORIN
` (3 subsequent siblings)
4 siblings, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2014-07-15 22:37 UTC (permalink / raw)
To: buildroot
In case a package comes with a gettext infra which is different from
the one Buildroot provides, we'd get autoreconf errors, like:
http://autobuild.buildroot.net/results/c0f/c0f7c801f61fdc310cde64342060b00a70155431/
To avoid that, we need to gettextize the package prior to running
autoreconf.
Provide the necessary infrastructure in the autotools infrastructure,
so we can do it consistently across packages.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
---
Changes v1 -> v2:
- only gettextize with autoreconf (Gustavo)
- add host-gettext to the filter-out (Gustavo)
---
package/pkg-autotools.mk | 33 +++++++++++++++++++++++++++++++--
1 file changed, 31 insertions(+), 2 deletions(-)
diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk
index ddff9bf..866bf6a 100644
--- a/package/pkg-autotools.mk
+++ b/package/pkg-autotools.mk
@@ -87,6 +87,22 @@ ifndef $(2)_AUTORECONF
endif
endif
+ifndef $(2)_GETTEXTIZE
+ ifdef $(3)_GETTEXTIZE
+ $(2)_GETTEXTIZE = $($(3)_GETTEXTIZE)
+ else
+ $(2)_GETTEXTIZE ?= NO
+ endif
+endif
+
+ifndef $(2)_GETTEXTIZE_OPT
+ ifdef $(3)_GETTEXTIZE_OPT
+ $(2)_GETTEXTIZE_OPT = $($(3)_GETTEXTIZE)
+ else
+ $(2)_GETTEXTIZE_OPT ?= -f
+ endif
+endif
+
ifeq ($(4),host)
$(2)_AUTORECONF_OPT ?= $$($(3)_AUTORECONF_OPT)
endif
@@ -200,6 +216,14 @@ $(2)_POST_PATCH_HOOKS += LIBTOOL_PATCH_HOOK
endif
#
+# Hook to gettextize the package if needed
+#
+define GETTEXTIZE_HOOK
+ @$$(call MESSAGE,"Gettextizing")
+ $(Q)cd $$($$(PKG)_SRCDIR) && $(HOST_DIR)/usr/bin/gettextize $$($$(PKG)_GETTEXTIZE_OPT)
+endef
+
+#
# Hook to autoreconf the package if needed
#
define AUTORECONF_HOOK
@@ -222,14 +246,19 @@ endef
# This must be repeated from inner-generic-package, otherwise we get an empty
# _DEPENDENCIES if _AUTORECONF is YES. Also filter the result of _AUTORECONF
-# away from the non-host rule
+# and _GETTEXTIZE away from the non-host rule
ifeq ($(4),host)
$(2)_DEPENDENCIES ?= $$(filter-out host-automake host-autoconf host-libtool \
- host-toolchain $(1),\
+ host-gettext host-toolchain $(1),\
$$(patsubst host-host-%,host-%,$$(addprefix host-,$$($(3)_DEPENDENCIES))))
endif
ifeq ($$($(2)_AUTORECONF),YES)
+# This has to come before autoreconf
+ifeq ($$($(2)_GETTEXTIZE),YES)
+$(2)_PRE_CONFIGURE_HOOK += GETTEXTIZE_HOOK
+$(2)_DEPENDENCIES += host-gettext
+endif
$(2)_PRE_CONFIGURE_HOOKS += AUTORECONF_HOOK
$(2)_DEPENDENCIES += host-automake host-autoconf host-libtool
endif
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH 1/5 v2] pkg-autotools: add support to gettextize a package
2014-07-15 22:37 ` [Buildroot] [PATCH 1/5 v2] pkg-autotools: add support to gettextize a package Yann E. MORIN
@ 2014-07-15 23:46 ` Gustavo Zacarias
0 siblings, 0 replies; 12+ messages in thread
From: Gustavo Zacarias @ 2014-07-15 23:46 UTC (permalink / raw)
To: buildroot
On 07/15/2014 07:37 PM, Yann E. MORIN wrote:
Hi, a couple of late-night fixes:
> +ifndef $(2)_GETTEXTIZE
> + ifdef $(3)_GETTEXTIZE
> + $(2)_GETTEXTIZE = $($(3)_GETTEXTIZE)
$(2)_GETTEXTIZE = $$($(3)_GETTEXTIZE)
> +ifndef $(2)_GETTEXTIZE_OPT
> + ifdef $(3)_GETTEXTIZE_OPT
> + $(2)_GETTEXTIZE_OPT = $($(3)_GETTEXTIZE)
$(2)_GETTEXTIZE_OPT = $$($(3)_GETTEXTIZE_OPT)
> ifeq ($$($(2)_AUTORECONF),YES)
> +# This has to come before autoreconf
> +ifeq ($$($(2)_GETTEXTIZE),YES)
> +$(2)_PRE_CONFIGURE_HOOK += GETTEXTIZE_HOOK
$(2)_PRE_CONFIGURE_HOOKS += GETTEXTIZE_HOOK
Regards.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 2/5 v2] manual: add gettextize explanations in the manual
2014-07-15 22:37 [Buildroot] [PATCH 0/5 RFCv2] pkg-autotools: introduce infra to gettextize packages (branch yem/gettext) Yann E. MORIN
2014-07-15 22:37 ` [Buildroot] [PATCH 1/5 v2] pkg-autotools: add support to gettextize a package Yann E. MORIN
@ 2014-07-15 22:37 ` Yann E. MORIN
2014-07-15 23:46 ` Gustavo Zacarias
2014-07-15 22:37 ` [Buildroot] [PATCH 3/5 v2] package/wget: use the new gettextize infra Yann E. MORIN
` (2 subsequent siblings)
4 siblings, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2014-07-15 22:37 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
---
Changes v1 -> v2:
- gettextize is only valid if autoreconf=yes (Gustavo)
---
docs/manual/adding-packages-autotools.txt | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/docs/manual/adding-packages-autotools.txt b/docs/manual/adding-packages-autotools.txt
index c7e797f..a58ebf1 100644
--- a/docs/manual/adding-packages-autotools.txt
+++ b/docs/manual/adding-packages-autotools.txt
@@ -125,6 +125,18 @@ cases, typical packages will therefore only use a few of them.
passed to the 'autoreconf' program if
+LIBFOO_AUTORECONF=YES+. By default, empty.
+* +LIBFOO_GETTEXTIZE+, tells whether the package should be
+ gettextized or not (i.e. if the pacakge uses an different gettext
+ version than Buildroot provides, and it is needed to run
+ 'gettextize'.) Only valid when +LIBFOO_AUTORECONF=YES+. Valid
+ values are +YES+ and +NO+. The default is +NO+.
+
+* +LIBFOO_GETTEXTIZE_OPT+, to specify additional options passed to
+ the 'gettextize' program, if +LIBFOO_GETTEXTIZE=YES+. You may
+ use that if, for example, the +.po+ files are not located in the
+ standard place (i.e. in +po/+ at the root of the package.) By
+ default, '-f'.
+
* +LIBFOO_LIBTOOL_PATCH+ tells whether the Buildroot
patch to fix libtool cross-compilation issues should be applied or
not. Valid values are +YES+ and +NO+. By
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH 3/5 v2] package/wget: use the new gettextize infra
2014-07-15 22:37 [Buildroot] [PATCH 0/5 RFCv2] pkg-autotools: introduce infra to gettextize packages (branch yem/gettext) Yann E. MORIN
2014-07-15 22:37 ` [Buildroot] [PATCH 1/5 v2] pkg-autotools: add support to gettextize a package Yann E. MORIN
2014-07-15 22:37 ` [Buildroot] [PATCH 2/5 v2] manual: add gettextize explanations in the manual Yann E. MORIN
@ 2014-07-15 22:37 ` Yann E. MORIN
2014-07-15 23:47 ` Gustavo Zacarias
2014-07-16 3:26 ` Baruch Siach
2014-07-15 22:37 ` [Buildroot] [PATCH 4/5 v2] package/coreutils: gettextize to match the new gettext version Yann E. MORIN
2014-07-15 22:37 ` [Buildroot] [PATCH 5/5 v2] package/parted: " Yann E. MORIN
4 siblings, 2 replies; 12+ messages in thread
From: Yann E. MORIN @ 2014-07-15 22:37 UTC (permalink / raw)
To: buildroot
Use the new gettextize infra we just added gettextize wget.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
---
package/wget/wget.mk | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/package/wget/wget.mk b/package/wget/wget.mk
index 56ccfb5..b6a22b1 100644
--- a/package/wget/wget.mk
+++ b/package/wget/wget.mk
@@ -15,11 +15,7 @@ WGET_AUTORECONF = YES
# Ugly kludge to fix autoreconf with old gettext infra
# We need to gettextize before autoreconf to upgrade
-WGET_DEPENDENCIES += host-gettext
-define WGET_GETTEXTIZE
- cd $(@D) ; $(HOST_DIR)/usr/bin/gettextize -f
-endef
-WGET_PRE_CONFIGURE_HOOKS += WGET_GETTEXTIZE
+WGET_GETTEXTIZE = YES
# Prefer full-blown wget over busybox
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 3/5 v2] package/wget: use the new gettextize infra
2014-07-15 22:37 ` [Buildroot] [PATCH 3/5 v2] package/wget: use the new gettextize infra Yann E. MORIN
@ 2014-07-15 23:47 ` Gustavo Zacarias
2014-07-16 3:26 ` Baruch Siach
1 sibling, 0 replies; 12+ messages in thread
From: Gustavo Zacarias @ 2014-07-15 23:47 UTC (permalink / raw)
To: buildroot
On 07/15/2014 07:37 PM, Yann E. MORIN wrote:
> Use the new gettextize infra we just added gettextize wget.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Baruch Siach <baruch@tkos.co.il>
Description sounds a bit odd, otherwise:
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 3/5 v2] package/wget: use the new gettextize infra
2014-07-15 22:37 ` [Buildroot] [PATCH 3/5 v2] package/wget: use the new gettextize infra Yann E. MORIN
2014-07-15 23:47 ` Gustavo Zacarias
@ 2014-07-16 3:26 ` Baruch Siach
1 sibling, 0 replies; 12+ messages in thread
From: Baruch Siach @ 2014-07-16 3:26 UTC (permalink / raw)
To: buildroot
Hi Yann,
On Wed, Jul 16, 2014 at 12:37:22AM +0200, Yann E. MORIN wrote:
> Use the new gettextize infra we just added gettextize wget.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Baruch Siach <baruch@tkos.co.il>
> ---
> package/wget/wget.mk | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/package/wget/wget.mk b/package/wget/wget.mk
> index 56ccfb5..b6a22b1 100644
> --- a/package/wget/wget.mk
> +++ b/package/wget/wget.mk
> @@ -15,11 +15,7 @@ WGET_AUTORECONF = YES
>
> # Ugly kludge to fix autoreconf with old gettext infra
> # We need to gettextize before autoreconf to upgrade
This comment can also be removed now, I believe.
baruch
> -WGET_DEPENDENCIES += host-gettext
> -define WGET_GETTEXTIZE
> - cd $(@D) ; $(HOST_DIR)/usr/bin/gettextize -f
> -endef
> -WGET_PRE_CONFIGURE_HOOKS += WGET_GETTEXTIZE
> +WGET_GETTEXTIZE = YES
>
> # Prefer full-blown wget over busybox
> ifeq ($(BR2_PACKAGE_BUSYBOX),y)
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH 4/5 v2] package/coreutils: gettextize to match the new gettext version
2014-07-15 22:37 [Buildroot] [PATCH 0/5 RFCv2] pkg-autotools: introduce infra to gettextize packages (branch yem/gettext) Yann E. MORIN
` (2 preceding siblings ...)
2014-07-15 22:37 ` [Buildroot] [PATCH 3/5 v2] package/wget: use the new gettextize infra Yann E. MORIN
@ 2014-07-15 22:37 ` Yann E. MORIN
2014-07-15 23:48 ` Gustavo Zacarias
2014-07-15 22:37 ` [Buildroot] [PATCH 5/5 v2] package/parted: " Yann E. MORIN
4 siblings, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2014-07-15 22:37 UTC (permalink / raw)
To: buildroot
The gettext macros in the package are from a gettext version older than
the one we have in Buildroot, so autoreconf fails.
Run gettextize prior to running autoreconf, like we do in wget.
Fixes:
http://autobuild.buildroot.net/results/228/228224668be4376844fe924d0a5b346af0414460/
http://autobuild.buildroot.net/results/ac4/ac4dbb1342e9c9f1de5412e0b71fe4422ef744ef/
http://autobuild.buildroot.net/results/a0c/a0c25faf149de9d51768eed8ff5a2274282cd797/
...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/coreutils/coreutils.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/coreutils/coreutils.mk b/package/coreutils/coreutils.mk
index c90396d..af202b4 100644
--- a/package/coreutils/coreutils.mk
+++ b/package/coreutils/coreutils.mk
@@ -12,6 +12,7 @@ COREUTILS_LICENSE_FILES = COPYING
# patching gnulib .m4 file
COREUTILS_AUTORECONF = YES
+COREUTILS_GETTEXTIZE = YES
# If both coreutils and busybox are selected, make certain coreutils
# wins the fight over who gets to have their utils actually installed.
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH 5/5 v2] package/parted: gettextize to match the new gettext version
2014-07-15 22:37 [Buildroot] [PATCH 0/5 RFCv2] pkg-autotools: introduce infra to gettextize packages (branch yem/gettext) Yann E. MORIN
` (3 preceding siblings ...)
2014-07-15 22:37 ` [Buildroot] [PATCH 4/5 v2] package/coreutils: gettextize to match the new gettext version Yann E. MORIN
@ 2014-07-15 22:37 ` Yann E. MORIN
2014-07-15 23:48 ` Gustavo Zacarias
4 siblings, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2014-07-15 22:37 UTC (permalink / raw)
To: buildroot
The gettext macros in the package are from a gettext version older than
the one we have in Buildroot, so autoreconf fails.
Run gettextize prior to running autoreconf, like we do in wget.
Fixes:
http://autobuild.buildroot.net/results/ee2/ee20455ead785200847f50e463c32c55821f8925/
http://autobuild.buildroot.net/results/3fe/3fe46e1a6ef10645e46a2e9efdf651f60f05dea8/
http://autobuild.buildroot.net/results/ecd/ecdacafb3245afa1cce4f587eff9bdfe5c162f81/
...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/parted/parted.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/parted/parted.mk b/package/parted/parted.mk
index fd82684..75537a7 100644
--- a/package/parted/parted.mk
+++ b/package/parted/parted.mk
@@ -11,6 +11,7 @@ PARTED_DEPENDENCIES = util-linux
PARTED_INSTALL_STAGING = YES
# For uclinux patch
PARTED_AUTORECONF = YES
+PARTED_GETTEXTIZE = YES
PARTED_LICENSE = GPLv3+
PARTED_LICENSE_FILES = COPYING
--
1.9.1
^ permalink raw reply related [flat|nested] 12+ messages in thread