include: remove file before overwritting it with replace_script

config.{sub,guess} could be symlinks to a shared common version of
this file (e.g. in staging). So we remove the destination file via
--remove-destination option of cp. This prevents replaceing the
common file that other packages could be build with if running at
the same time.

This fixes a class of errors where config.sub is missing, or
only partially present when running configure because a cp is
currently in progress

This is commonly seen building with a lot of parallel jobs and
on packages that use 'PKG_FIXUP:=autoreconf'

Signed-off-by: Matthew McClintock <mmcclint@qca.qualcomm.com>
Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>

SVN-Revision: 42547
This commit is contained in:
John Crispin 2014-09-15 10:18:56 +00:00
parent 88cc0ea21d
commit b44a2d3f7e

View File

@ -98,7 +98,9 @@ CONFIGURE_VARS = \
CONFIGURE_PATH = .
CONFIGURE_CMD = ./configure
replace_script=$(FIND) $(1) -name $(2) | $(XARGS) chmod u+w; $(FIND) $(1) -name $(2) | $(XARGS) -n1 cp $(SCRIPT_DIR)/$(2);
replace_script=$(FIND) $(1) -name $(2) | $(XARGS) chmod u+w; \
$(FIND) $(1) -name $(2) | $(XARGS) -n1 cp --remove-destination \
$(SCRIPT_DIR)/$(2);
define Build/Configure/Default
(cd $(PKG_BUILD_DIR)/$(CONFIGURE_PATH)/$(strip $(3)); \