From b44a2d3f7efa8ce5cbc6b2468bc7e1a870af6fd1 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 15 Sep 2014 10:18:56 +0000 Subject: [PATCH] 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 Signed-off-by: Mathieu Olivari SVN-Revision: 42547 --- include/package-defaults.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/package-defaults.mk b/include/package-defaults.mk index 61e495f50f..051cde5020 100644 --- a/include/package-defaults.mk +++ b/include/package-defaults.mk @@ -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)); \