Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatti Niemenmaa <matti.niemenmaa+git@iki.fi>2021-01-30 19:46:40 +0200
committerAllan McRae <allan@archlinux.org>2021-02-08 14:24:49 +1000
commit9e425cd1ea4a5fe7e7d7f1daa225eed37650dafc (patch)
tree63c3519fa7dbb53f0997b06c3d4c724fdd015fab
parent2b8d00b7993435a8dc6f560b508a33050830ceec (diff)
makepkg: Don't double-layer distcc on ccache
buildenv is set once for build() and a second time for package(). When using both distcc and ccache, this lead to CCACHE_PREFIX="distcc distcc" in package(), which breaks PKGBUILDs that execute the compiler in package() because distcc complains: distcc[383041] (main) CRITICAL! distcc seems to have invoked itself recursively! Avoid causing this error by only adding "distcc" to CCACHE_PREFIX if it's not yet there. Signed-off-by: Matti Niemenmaa <matti.niemenmaa+git@iki.fi> Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--scripts/libmakepkg/buildenv/compiler.sh.in4
1 files changed, 3 insertions, 1 deletions
diff --git a/scripts/libmakepkg/buildenv/compiler.sh.in b/scripts/libmakepkg/buildenv/compiler.sh.in
index 33f19288..1cd5a019 100644
--- a/scripts/libmakepkg/buildenv/compiler.sh.in
+++ b/scripts/libmakepkg/buildenv/compiler.sh.in
@@ -44,7 +44,9 @@ buildenv_ccache() {
buildenv_distcc() {
if check_buildoption "distcc" "y"; then
if (( using_ccache )); then
- export CCACHE_PREFIX="${CCACHE_PREFIX:+$CCACHE_PREFIX }distcc"
+ if [[ " $CCACHE_PREFIX " != *" distcc "* ]]; then
+ export CCACHE_PREFIX="${CCACHE_PREFIX:+$CCACHE_PREFIX }distcc"
+ fi
export CCACHE_BASEDIR="$srcdir"
elif [[ -d /usr/lib/distcc/bin ]]; then
export PATH="/usr/lib/distcc/bin:$PATH"