mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-06 04:26:59 +02:00
directly from the flatcar-build-scripts (no modification) Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
38 lines
1.6 KiB
Bash
Executable File
38 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [ $# -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
|
echo "Usage: $0 RELEASE_DESCRIPTORS..."
|
|
echo "Example: $0 alpha:1786.0.0 beta:1781.2.0"
|
|
echo "Downloads the release update payloads to ARCH-usr/VERSION/ folders."
|
|
echo "Expected to be run in .../sdk/src/scripts/data/"
|
|
echo "(usually before entering the chroot and running ./generate_payload data/ARCH-usr/VERSION/ keys/)."
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$(basename "${PWD}")" != "data" ] || [ "$(basename "$(readlink -f ..)")" != "scripts" ]; then
|
|
echo "Expected to be run in .../sdk/src/scripts/data/" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Same as in copy-to-origin.sh and set-symlink.sh
|
|
for TUPLE_COL in "$@"; do
|
|
IFS=":" read -r -a TUPLE <<< "${TUPLE_COL}"
|
|
CHANNEL="${TUPLE[0]}"
|
|
VERSION="${TUPLE[1]}"
|
|
for ARCH in amd64 arm64; do
|
|
echo "Downloading ${CHANNEL} ${VERSION} ${ARCH}"
|
|
rm -rf "${ARCH}-usr/${VERSION}"
|
|
mkdir -p "${ARCH}-usr/${VERSION}" && cd "${ARCH}-usr/${VERSION}"
|
|
BASEURL="https://bincache.flatcar-linux.net/images/${ARCH}/${VERSION}/"
|
|
# Note: Don't replace this with 'mapfile -t array < <(curl)' or 'read -r -a array <<< "$(curl)"' because that has no error checking
|
|
EXTRA_PAYLOADS=($(curl -H 'Accept: application/json' -fsSL "${BASEURL}" | jq -r ".[].name" | { grep -P '^(oem|flatcar)-.*raw(.sig)?$' || true ; }))
|
|
wget "${BASEURL}"{flatcar_production_update.bin.bz2,flatcar_production_update.bin.bz2.sig,flatcar_production_image.vmlinuz,flatcar_production_image.vmlinuz.sig}
|
|
for EXTRA_PAYLOAD in "${EXTRA_PAYLOADS[@]}"; do
|
|
wget "${BASEURL}${EXTRA_PAYLOAD}"
|
|
done
|
|
cd ../..
|
|
done
|
|
done
|
|
echo "Success"
|