Skip to contentSkip to conversation

wget: fix host-gettext build dependency race

PATCH Superseded Baruch Siach 1 participant 2 messages Apr 23, 2014

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 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_HOOK to avoid the race.

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

---
v2:
Use PRE_CONFIGURE_HOOK 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..c014d173bca0 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_HOOK += WGET_GETTEXTIZE
 
 # Prefer full-blown wget over busybox
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
Signature · 1 line
1.9.2
#1 lore raw

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

Hi Yann, all,

Quoted 36 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_HOOK to avoid the race.

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

---
v2:
Use PRE_CONFIGURE_HOOK 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 +0 -0
index f3a5274964dd..c014d173bca0 100644

package/wget/wget.mk WGET_DEPENDENCIES += host-gettext · line 22

Quoted 5 lines
package/wget/wget.mk +1 -1
@@ -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_HOOK += WGET_GETTEXTIZE

This should be _HOOKS. Will fix shortly.

baruch

Quoted 3 lines
package/wget/wget.mk +0 -0
 # Prefer full-blown wget over busybox
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
Signature · 3 lines
     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 -