summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer2024-08-29 18:04:02 +0000
committerMatthias Schiffer2024-08-29 18:06:02 +0000
commitd811a09524118451d14a0ae8abce21fc123a3bf0 (patch)
treefd08c964ede7969b566205da36153b4e084e2147
parent5a8588e36055cddf042b7224eb3beb611b7ee93f (diff)
downloadopenwrt-d811a09524118451d14a0ae8abce21fc123a3bf0.tar.gz
include: autotools: do not symlink files in autoreconf
In Gluon's Github Actions CI, we were occasionally seeing bizarre build errors that looked like a config.sub file had been corrupted, or changed while it was being executed. The cause turned out to be an interaction of the symlinks created by autoreconf (pointing from individual tools' build dirs into `staging_dir/host/share/automake-1.16`) and OpenWrt's host-build.mk, which replaced config.guess and config.sub *after* autoreconf. The result was that the replacement of these files ended up following the symlinks and writing the files in `staging_dir/host/share/automake-1.16` instead of a package's build dir. This could cause other packages' builds to fail if they were currently executing the scripts while they were being written. To fix this, disable autoreconf's symlinking feature, so that modifying these files in a package's build directory can't accidentally affect the staged versions. Link: https://github.com/openwrt/openwrt/pull/15825 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> (cherry picked from commit c364cb8e469f9a7de1ed8960163c90e26b2df1ad)
-rw-r--r--include/autotools.mk2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/autotools.mk b/include/autotools.mk
index d0e4b3642f..7fc6f37175 100644
--- a/include/autotools.mk
+++ b/include/autotools.mk
@@ -44,7 +44,7 @@ define autoreconf
touch NEWS AUTHORS COPYING ABOUT-NLS ChangeLog; \
$(AM_TOOL_PATHS) \
LIBTOOLIZE='$(STAGING_DIR_HOST)/bin/libtoolize --install' \
- $(STAGING_DIR_HOST)/bin/autoreconf -v -f -i -s \
+ $(STAGING_DIR_HOST)/bin/autoreconf -v -f -i \
$(if $(word 2,$(3)),--no-recursive) \
-B $(STAGING_DIR_HOST)/share/aclocal \
$(patsubst %,-I %,$(5)) \