From 52b58b0f8e1a4ccde39b6ce1f41167d8a22d093f Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 16 Jun 2017 17:17:19 +0200 Subject: archbuild.in: set pacman cache dir to /var/cache/archbuild32 in case of non-x86_64-build, so we do not use any-packages from x86_64 mirrors, and cross-mount inside to /var/cache/pacman/pkg --- arch-nspawn.in | 3 +-- archbuild.in | 10 ++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/arch-nspawn.in b/arch-nspawn.in index 8182120..56e75eb 100644 --- a/arch-nspawn.in +++ b/arch-nspawn.in @@ -93,6 +93,7 @@ copy_hostconf () { done sed -r "s|^#?\\s*CacheDir.+|CacheDir = ${cache_dirs[*]}|g" -i "$working_dir/etc/pacman.conf" + eval "$(grep -a '^CARCH=' "$working_dir/etc/makepkg.conf")" sed -i '/^Architecture = /s| auto$| '"$CARCH|" "$working_dir/etc/pacman.conf" } # }}} @@ -109,8 +110,6 @@ fi build_mount_args copy_hostconf -eval "$(grep -a '^CARCH=' "$working_dir/etc/makepkg.conf")" - [[ -z $nosetarch ]] || unset CARCH exec ${CARCH:+setarch "$CARCH"} systemd-nspawn -q \ diff --git a/archbuild.in b/archbuild.in index 0ac3c29..0a84687 100644 --- a/archbuild.in +++ b/archbuild.in @@ -41,6 +41,14 @@ done check_root SOURCE_DATE_EPOCH +if [ "${arch}" = "x86_64" ]; then + cache_dir='' +else + mkdir -p '/var/cache/archbuild32' + cache_dir='-c/var/cache/archbuild32' + makechrootpkg_args+=('-d/var/cache/archbuild32:/var/cache/pacman/pkg') +fi + # Pass all arguments after -- right to makepkg makechrootpkg_args+=("${@:$OPTIND}") @@ -63,6 +71,7 @@ if ${clean_first} || [[ ! -d "${chroots}/${repo}-${arch}" ]]; then setarch "${arch}" mkarchroot \ -C "@pkgdatadir@/pacman-${repo}.conf" \ -M "@pkgdatadir@/makepkg-${arch}.conf" \ + ${cache_dir} \ "${chroots}/${repo}-${arch}/root" \ "${base_packages[@]}" || abort else @@ -70,6 +79,7 @@ else arch-nspawn \ -C "@pkgdatadir@/pacman-${repo}.conf" \ -M "@pkgdatadir@/makepkg-${arch}.conf" \ + ${cache_dir} \ "${chroots}/${repo}-${arch}/root" \ pacman --arch ${arch} -Syu --noconfirm || abort fi -- cgit v1.2.3-70-g09d2