mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-07 04:56:58 +02:00
The dev build SDKs are not in $FLATCAR_DEV_BUILDS/sdk but published under $FLATCAR_DEV_BUILDS/developer/sdk. Add an environment variable to specify where the SDK is to be found but default to $FLATCAR_DEV_BUILDS/sdk if it is not specified. From Jenkins this variable is exported as DOWNLOAD_ROOT_SDK.
61 lines
2.0 KiB
Bash
61 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
# Copyright (c) 2013 The CoreOS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# common.sh must be properly sourced before this file.
|
|
[[ -n "${FLATCAR_SDK_VERSION}" ]] || exit 1
|
|
|
|
FLATCAR_SDK_ARCH="amd64" # We are unlikely to support anything else.
|
|
FLATCAR_SDK_TARBALL="flatcar-sdk-${FLATCAR_SDK_ARCH}-${FLATCAR_SDK_VERSION}.tar.bz2"
|
|
FLATCAR_SDK_TARBALL_CACHE="${REPO_CACHE_DIR}/sdks"
|
|
FLATCAR_SDK_TARBALL_PATH="${FLATCAR_SDK_TARBALL_CACHE}/${FLATCAR_SDK_TARBALL}"
|
|
FLATCAR_DEV_BUILDS_SDK="${FLATCAR_DEV_BUILDS_SDK-$FLATCAR_DEV_BUILDS/sdk}"
|
|
FLATCAR_SDK_URL="${FLATCAR_DEV_BUILDS_SDK}/${FLATCAR_SDK_ARCH}/${FLATCAR_SDK_VERSION}/${FLATCAR_SDK_TARBALL}"
|
|
|
|
# Download the current SDK tarball (if required) and verify digests/sig
|
|
sdk_download_tarball() {
|
|
if sdk_verify_digests; then
|
|
return 0
|
|
fi
|
|
|
|
info "Downloading ${FLATCAR_SDK_TARBALL}"
|
|
info "URL: ${FLATCAR_SDK_URL}"
|
|
local suffix
|
|
for suffix in "" ".DIGESTS"; do # TODO(marineam): download .asc
|
|
wget --tries=3 --timeout=30 --continue \
|
|
-O "${FLATCAR_SDK_TARBALL_PATH}${suffix}" \
|
|
"${FLATCAR_SDK_URL}${suffix}" \
|
|
|| die_notrace "SDK download failed!"
|
|
done
|
|
|
|
sdk_verify_digests || die_notrace "SDK digest verification failed!"
|
|
sdk_clean_cache
|
|
}
|
|
|
|
sdk_verify_digests() {
|
|
if [[ ! -f "${FLATCAR_SDK_TARBALL_PATH}" || \
|
|
! -f "${FLATCAR_SDK_TARBALL_PATH}.DIGESTS" ]]; then
|
|
return 1
|
|
fi
|
|
|
|
# TODO(marineam): Add gpg signature verification too.
|
|
|
|
verify_digests "${FLATCAR_SDK_TARBALL_PATH}" || return 1
|
|
}
|
|
|
|
sdk_clean_cache() {
|
|
pushd "${FLATCAR_SDK_TARBALL_CACHE}" >/dev/null
|
|
local filename
|
|
for filename in *; do
|
|
if [[ "${filename}" == "${FLATCAR_SDK_TARBALL}"* ]]; then
|
|
continue
|
|
fi
|
|
info "Cleaning up ${filename}"
|
|
# Not a big deal if this fails
|
|
rm -f "${filename}" || true
|
|
done
|
|
popd >/dev/null
|
|
}
|