summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Bidulock <bidulock@openss7.org>2017-11-19 06:53:37 +0100
committerLevente Polyak <anthraxx@archlinux.org>2019-08-09 19:41:51 +0200
commit27ff286ee78eb2faac803e3ef67f3171ddfa0098 (patch)
treebfd4e7073611d25d97f2630a7c5bbba2422cb99d
parent2180aabc816aae1fb4bb7c341fee53fe48ffa98e (diff)
downloaddevtools-27ff286ee78eb2faac803e3ef67f3171ddfa0098.tar.gz
devtools-27ff286ee78eb2faac803e3ef67f3171ddfa0098.tar.xz
arch-nspawn should not take pacman cache from host
Previously, arch-nspawn was using the hosts' pacman cache in the chroot even when the chroot was set up with a different cache by mkarchroot, unless specified with the -c flag. Problem is that makechrootpkg passes no -C, -M nor -c flags to arch-nspawn, so all values must be obtained from the working directory. This change take the cache directories from the pacman.conf specified with the -C option unless the -c option was given (as is the case when the chroot is set up with mkarchroot), and, when neither -C nor -c is given (as is the case when invoked by makechrootpkg), the cache directory is taken from the pacman.conf in the working directory. This wasn't such an issue when i686 was mainline, however, which building packages in a chroot against archlinux32 on an x86_64 platform, the cache of the host should _never_ be used. Rebased by eschwartz on top of cachedir reworking. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
-rw-r--r--arch-nspawn.in2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch-nspawn.in b/arch-nspawn.in
index a0e24dc..c2bce76 100644
--- a/arch-nspawn.in
+++ b/arch-nspawn.in
@@ -55,7 +55,7 @@ shift 1
pacconf_cmd=$(command -v pacman-conf || command -v pacconf)
if (( ${#cache_dirs[@]} == 0 )); then
- mapfile -t cache_dirs < <($pacconf_cmd CacheDir)
+ mapfile -t cache_dirs < <($pacconf_cmd --config "${pac_conf:-$working_dir/etc/pacman.conf}" CacheDir)
fi
# shellcheck disable=2016