uv-k5-firmware-chinese-lts/external/CMSIS_5/CMSIS/RTOS/RTX/LIB/fetch_libs.sh

81 lines
1.9 KiB
Bash
Raw Normal View History

2023-11-30 06:38:27 +00:00
#!/bin/bash
VERSION=4.82.0
if [ -z "$JENKINS_FAMILY_ENV" ]; then
ARTIFACTORY_URL=https://artifactory.eu02.arm.com:443/artifactory/mcu.promoted
else
ARTIFACTORY_URL=https://eu-west-1.artifactory.aws.arm.com:443/artifactory/mcu.promoted
fi
if [ -z "$ARTIFACTORY_API_KEY" ]; then
echo "Please set your Artifactory in ARTIFACTORY_API_KEY"
echo ""
echo "1. Browse to $(dirname $(dirname $ARTIFACTORY_URL))/ui/admin/artifactory/user_profile"
echo "2. Copy the API Key"
echo "3. Add 'export ARTIFACTORY_API_KEY=\"<API Key>\"' to ~/.bashrc"
exit 1
fi
set -o pipefail
function usage {
echo "$(basename $0) [-h|--help] [-f|--force]"
echo ""
echo "Arguments:"
echo " -h|--help Print this usage message and exit."
echo " -f|--force Force (re)download."
echo ""
echo "Environment:"
echo " curl"
echo " sha256sum"
echo ""
}
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
'-h'|'--help')
usage
exit 1
;;
'-f'|'--force')
FORCE=1
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
;;
esac
shift # past argument
done
set -- "${POSITIONAL[@]}" # restore positional parameters
pushd $(dirname $0) > /dev/null
ARCHIVE_NAME="RTX-${VERSION}.zip"
ARCHIVE_URL="${ARTIFACTORY_URL}/CMSIS_5/Libraries/${ARCHIVE_NAME}"
echo "Fetching ${ARCHIVE_URL}..."
if [[ $FORCE == 1 ]]; then
rm ${ARCHIVE_NAME}
fi
if [[ -f ${ARCHIVE_NAME} ]]; then
sha256sum=$(curl -s -I -H "X-JFrog-Art-Api:${ARTIFACTORY_API_KEY}" "${ARCHIVE_URL}" | grep "X-Checksum-Sha256" | cut -d" " -f2)
if echo "${sha256sum} *${ARCHIVE_NAME}" | sha256sum -c --status; then
echo "Already up-to-date"
else
rm ${ARCHIVE_NAME}
fi
fi
if [[ ! -f ${ARCHIVE_NAME} ]]; then
curl -C - -H "X-JFrog-Art-Api:${ARTIFACTORY_API_KEY}" -O "${ARCHIVE_URL}"
fi
unzip -u ${ARCHIVE_NAME}
exit 0