diff options
author | Erich Eckner <git@eckner.net> | 2019-04-01 10:38:05 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2020-02-21 08:27:36 +0100 |
commit | a1f0954795058846a3606b34af83705396a9327c (patch) | |
tree | 916c350e8dd1c189fe595ca274d24f7d00013164 | |
parent | c7df2ce7a23e93c221d97cf772f7a2cdc58b874f (diff) | |
download | devtools32-a1f0954795058846a3606b34af83705396a9327c.tar.xz |
arch-nspawn should use the correct pacman config file
If arch-nspawn is called with -C, pacman inside the chroot will use
the provided configuration file. This should also be the case for
$pacconf_cmd and pacman outside the chroot.
If arch-nspawn is called without -C, pacman inside the chroot will
use $workdir/etc/pacman.conf -- again, $pacconf_cmd and pacman
outside the chroot should use that, too. So lets just set $pac_conf
in that case.
For example, Arch Linux 32 provides separate pacman configurations
inside /usr/share/devtools which use /etc/pacman.d/mirrorlist32 as
mirrorlist for their build commands (extra-i686-build, etc.). This
way, we can build i686 and x86_64 packages on the same x86_64 host
with very minimal changes to devtools.
-rw-r--r-- | arch-nspawn.in | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch-nspawn.in b/arch-nspawn.in index 198d227..c227f45 100644 --- a/arch-nspawn.in +++ b/arch-nspawn.in @@ -64,7 +64,7 @@ if (( ${#cache_dirs[@]} == 0 )); then fi # shellcheck disable=2016 -host_mirrors=($($pacconf_cmd --repo extra Server 2> /dev/null | sed -r 's#(.*/)extra/os/.*#\1$repo/os/$arch#')) +host_mirrors=($($pacconf_cmd --config "${pac_conf:-$working_dir/etc/pacman.conf}" --repo extra Server 2> /dev/null | sed -r 's#(.*/)extra/os/.*#\1$repo/os/$arch#')) for host_mirror in "${host_mirrors[@]}"; do if [[ $host_mirror == *file://* ]]; then |