From: John Crispin Date: Mon, 15 Sep 2014 10:18:56 +0000 (+0000) Subject: include: remove file before overwritting it with replace_script X-Git-Tag: reboot~5944 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b44a2d3f7efa8ce5cbc6b2468bc7e1a870af6fd1;p=openwrt%2Fstaging%2Flynxis.git 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 --- 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)); \