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 <[email protected]>
Signed-off-by: Mathieu Olivari <[email protected]>
---
 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 61e495f..051cde5 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)); \
-- 
1.7.10.4
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to