buildrootschalter/package/wget/wget.mk
Yann E. MORIN 86c32446c6 wget: fix host-gettext build dependency race
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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[baruch: make the fix independent from the gettextize infra]
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-24 00:19:27 +02:00

48 lines
1.2 KiB
Makefile

################################################################################
#
# wget
#
################################################################################
WGET_VERSION = 1.15
WGET_SOURCE = wget-$(WGET_VERSION).tar.xz
WGET_SITE = $(BR2_GNU_MIRROR)/wget
WGET_LICENSE = GPLv3+
WGET_LICENSE_FILES = COPYING
# patching gnulib .m4 file
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
# Prefer full-blown wget over busybox
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
WGET_DEPENDENCIES += busybox
endif
ifeq ($(BR2_PACKAGE_GNUTLS),y)
WGET_CONF_OPT += --with-ssl=gnutls \
--with-libgnutls-prefix=$(STAGING_DIR)
WGET_DEPENDENCIES += gnutls
endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
WGET_CONF_OPT += --with-ssl=openssl --with-libssl-prefix=$(STAGING_DIR)
WGET_DEPENDENCIES += openssl
endif
# --with-ssl is default
ifneq ($(BR2_PACKAGE_GNUTLS),y)
ifneq ($(BR2_PACKAGE_OPENSSL),y)
WGET_CONF_OPT += --without-ssl
endif
endif
$(eval $(autotools-package))