Skip to content

Commit

Permalink
Add retries to pacstrap
Browse files Browse the repository at this point in the history
  • Loading branch information
bill88t committed Oct 2, 2024
1 parent d7b6d80 commit 17c2753
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ arches=(aarch64 armv7h x86_64)

# Ensure we have arch-install-scripts qemu-user-static and binfmt-qemu-static installed
sudo pacman -S --noconfirm --needed arch-install-scripts qemu-user-static qemu-user-static-binfmt
base="base sed gzip archlinux-keyring bredos-mirrorlist bredos-keyring bredos-logo bred-os-release sudo arch-install-scripts nano base-devel"
armv7h_packages="archlinuxarm-keyring $base"
aarch64_packages="archlinuxarm-keyring bredos-multilib $base"
base=("base" "sed" "gzip" "archlinux-keyring" "bredos-mirrorlist" "bredos-keyring" "bredos-logo" "bred-os-release" "sudo" "arch-install-scripts" "nano" "base-devel")
armv7h_packages=("archlinuxarm-keyring" "$base")
aarch64_packages=("archlinuxarm-keyring" "bredos-multilib" "$base")
x86_64_packages="$base"

script_dir=$(dirname "$(readlink -f "$0")")
Expand All @@ -19,7 +19,18 @@ build_arch() {
sudo cp -rv "$script_dir/rootfs/$arch/"* "$script_dir/build/rootfs"
sudo cp -rv "$script_dir/rootfs/common/"* "$script_dir/build/rootfs"
local packages_var="${arch}_packages"
sudo pacstrap -c -C "$script_dir/pacman.conf.$arch" -G -M "$script_dir/build/rootfs" ${!packages_var}
strap_cmd=("sudo" "pacstrap" "-c" "-C" "$script_dir/pacman.conf.$arch" "-G" "-M" "$script_dir/build/rootfs" "$packages_var")
retries=0
max_retries=10
while ! "${strap_cmd[@]}"; do
retries=$((retries+1))
if [ "$retries" -ge "$max_retries" ]; then
echo "Failed to pacstrap after $retries attempts."
exit 1
fi
echo "Retrying... ($retries/$max_retries)"
sleep 1 # Optional: wait 1 second before retrying
done
}

# Chek for arg
Expand Down

0 comments on commit 17c2753

Please sign in to comment.