#!/usr/bin/env bash set -eo pipefail files=() # These files are always out of date rm -f cache/*latest* cache/*Rawhide* # shellcheck disable=SC2044 for vars in $(find distros/ -name '*.pkrvars.hcl'); do file=$(echo var.iso.url | packer console -var-file="${vars}" -config-type=hcl2 sources/) base="$(basename "${file}")" if [ -e "cache/${base}" ]; then echo "Found cache/${base} already" else files+=("--retry" "3" "--retry-all-errors" "-O" "${file}") fi done mkdir -p cache pushd cache echo "Downloading ${files[*]}" curl --parallel -L "${files[@]}" popd ls -l cache/