wget: fix host-gettext build dependency race
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.
---
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
@@ -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
Thomas Petazzoni
AppliedPATCH 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_HOOKSto avoid the race.Signed-off-by "Yann E. MORIN" <[email protected]>[baruch: make the fix independent from the gettextize infra]Signed-off-by Baruch Siach <[email protected]>---
v3:
Quoted 8 lines
s/_HOOK/_HOOKS/v2:
UsePRE_CONFIGURE_HOOKSto 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