Skip to contentSkip to conversation

wget: fix host-gettext build dependency race

PATCH New Baruch Siach 2 participants 2 messages Apr 23, 2014

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 wget: fix host-gettext build dependency race

From: "Yann E. MORIN" <[email protected]>

Currently, the gettextization of wget works by chance:
- host-gettext is added as a dependency to wget;
- gettextize is run as a post-patch hook.

But the dependencies are only guaranteed to be built and installed for the configure step, not the patch step. Because post-patch hooks are part of the patch step, we have no guarantee that the dependency to host-gettext is done by the time we gettextize wget.

This happens to work by chance, since wget sorts alphabetically after gettext, so we indeed have host-gettext built and installed by the time we need to gettextize wget.

This is prone to fail in the parallel build case, since we can no longer rely on alphabetical order in that case.

Instead, run gettextize in PRE_CONFIGURE_HOOKS to avoid the race.

[baruch: make the fix independent from the gettextize infra]

---
v3:

	s/_HOOK/_HOOKS/

v2:
Use PRE_CONFIGURE_HOOKS to make the fix independent from the rejected gettextize infrastructure; update the commit log accordingly

---
 package/wget/wget.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/wget/wget.mk +1 -1
index f3a5274964dd..a8d9f61f622a 100644
@@ -19,7 +19,7 @@ WGET_DEPENDENCIES += host-gettext
 define WGET_GETTEXTIZE
 	cd $(@D) ; $(HOST_DIR)/usr/bin/gettextize -f
 endef
-WGET_POST_PATCH_HOOKS += WGET_GETTEXTIZE
+WGET_PRE_CONFIGURE_HOOKS += WGET_GETTEXTIZE
 
 # Prefer full-blown wget over busybox
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
Signature · 1 line
1.9.2
#1 lore raw

PATCH v3 1/1 wget: fix host-gettext build dependency race

Dear Baruch Siach,

Quoted 25 lines · Baruch Siach

From: "Yann E. MORIN" <[email protected]>

Currently, the gettextization of wget works by chance:
- host-gettext is added as a dependency to wget;
- gettextize is run as a post-patch hook.

But the dependencies are only guaranteed to be built and installed for the configure step, not the patch step. Because post-patch hooks are part of the patch step, we have no guarantee that the dependency to host-gettext is done by the time we gettextize wget.

This happens to work by chance, since wget sorts alphabetically after gettext, so we indeed have host-gettext built and installed by the time we need to gettextize wget.

This is prone to fail in the parallel build case, since we can no longer rely on alphabetical order in that case.

Instead, run gettextize in PRE_CONFIGURE_HOOKS to avoid the race.

[baruch: make the fix independent from the gettextize infra]

---
v3:

Quoted 8 lines
	s/_HOOK/_HOOKS/

v2:
Use PRE_CONFIGURE_HOOKS to make the fix independent from the rejected gettextize infrastructure; update the commit log accordingly

---
 package/wget/wget.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com