diff --git a/makechrootpkg.in b/makechrootpkg.in index 9534c54e1e3c0ffa649cd46978c12e09cc2de937..709e824eb54067c4fe7e52a07d6f6a3a68514764 100644 --- a/makechrootpkg.in +++ b/makechrootpkg.in @@ -127,19 +127,16 @@ clean_temporary() { } install_packages() { - local pkgname + local -a pkgnames + local ret - for install_pkg in "${install_pkgs[@]}"; do - pkgname="${install_pkg##*/}" - cp "$install_pkg" "$copydir/$pkgname" + pkgnames=("${install_pkgs[@]##*/}") - arch-nspawn "$copydir" \ - "${bindmounts_ro[@]}" "${bindmounts_rw[@]}" \ - pacman -U /$pkgname --noconfirm - (( ret += !! $? )) - - rm "$copydir/$pkgname" - done + cp -- "${install_pkgs[@]}" "$copydir/root/" + arch-nspawn "$copydir" "${bindmounts_ro[@]}" "${bindmounts_rw[@]}" \ + pacman -U --noconfirm -- "${pkgnames[@]/#//root/}" + ret=$? + rm -- "${pkgnames[@]/#/$copydir/root/}" # If there is no PKGBUILD we are done [[ -f PKGBUILD ]] || exit $ret