mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-22 22:21:10 +02:00
Merge pull request #79 from flatcar-linux/scripts
common: Support reading the package URL env vars from version.txt by pothos
This commit is contained in:
commit
e04421cb59
@ -264,7 +264,7 @@ load_environment_var() {
|
||||
shift
|
||||
for name in "$@"; do
|
||||
value=$(grep "^${name}=" "${file}" | sed 's|"||g')
|
||||
export "${value}"
|
||||
[[ -n "${value}" ]] && export "${value}"
|
||||
done
|
||||
}
|
||||
|
||||
@ -299,7 +299,8 @@ if [[ -f "${REPO_MANIFESTS_DIR}/version.txt" ]]; then
|
||||
FLATCAR_VERSION_ID FLATCAR_SDK_VERSION
|
||||
else
|
||||
load_environment_var "${REPO_MANIFESTS_DIR}/version.txt" \
|
||||
FLATCAR_VERSION_ID FLATCAR_BUILD_ID FLATCAR_SDK_VERSION
|
||||
FLATCAR_VERSION_ID FLATCAR_BUILD_ID FLATCAR_SDK_VERSION \
|
||||
FLATCAR_DEV_BUILDS FLATCAR_DEV_BUILDS_SDK
|
||||
# Don't promote FLATCAR_BUILD_ID into an environment variable when it
|
||||
# didn't start as one, since we don't want it leaking into the SDK
|
||||
# chroot environment via ENVIRONMENT_WHITELIST.
|
||||
@ -309,7 +310,8 @@ if [[ -f "${REPO_MANIFESTS_DIR}/version.txt" ]]; then
|
||||
elif [[ -f "${SCRIPT_LOCATION}/version.txt" ]]; then
|
||||
# This only happens in update.zip where we must use the current build id.
|
||||
load_environment_var "${SCRIPT_LOCATION}/version.txt" \
|
||||
FLATCAR_VERSION_ID FLATCAR_BUILD_ID FLATCAR_SDK_VERSION
|
||||
FLATCAR_VERSION_ID FLATCAR_BUILD_ID FLATCAR_SDK_VERSION \
|
||||
FLATCAR_DEV_BUILDS FLATCAR_DEV_BUILDS_SDK
|
||||
else
|
||||
die "Unable to locate version.txt"
|
||||
fi
|
||||
|
91
set_version
Executable file
91
set_version
Executable file
@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
DEFAULT_BASE_URL="https://storage.googleapis.com/flatcar-jenkins"
|
||||
DEV_BOARD_URL="${DEFAULT_BASE_URL}/developer"
|
||||
DEV_SDK_URL="${DEFAULT_BASE_URL}/developer/sdk"
|
||||
FILE=~/trunk/.repo/manifests/version.txt
|
||||
FLATCAR_DEV_BUILDS_SDK=""
|
||||
FLATCAR_SDK_VERSION=""
|
||||
FLATCAR_DEV_BUILDS=""
|
||||
FLATCAR_VERSION=""
|
||||
FLATCAR_VERSION_ID=""
|
||||
|
||||
# To keep this script usable outside of the SDK chroot, do not include common.sh here.
|
||||
|
||||
if [[ $# = 0 ]] || [[ "$1" = "-h" ]] || [[ "$1" = "--help" ]]; then
|
||||
echo "Updates ${FILE} with new values to specify which binary packages to use
|
||||
Usage: $0 FLAGS...
|
||||
--board-version (VERSION|BOARD/CHANNEL-nightly): Set FLATCAR_VERSION=VERSION and
|
||||
FLATCAR_VERSION_ID=VERSION where VERSION can
|
||||
be resolved by looking up the latest build
|
||||
referenced by
|
||||
${DEV_BOARD_URL}/boards/BOARD/CHANNEL-nightly.txt
|
||||
--dev-board: Set FLATCAR_DEV_BUILDS=${DEV_BOARD_URL}
|
||||
--no-dev-board: Remove existing FLATCAR_DEV_BUILDS
|
||||
--sdk-version VERSION: Set FLATCAR_SDK_VERSION=VERSION
|
||||
--dev-sdk: Set FLATCAR_DEV_BUILDS_SDK=${DEV_SDK_URL}
|
||||
--no-dev-sdk: Remove existing FLATCAR_DEV_BUILDS_SDK
|
||||
--file FILE: Modify another file than ${FILE}, useful if run
|
||||
outside of the SDK chroot. If /dev/stdout or
|
||||
/dev/stderr is used, only new values are printed.
|
||||
"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
ARG="$1"
|
||||
shift
|
||||
case "${ARG}" in
|
||||
--board-version)
|
||||
VAL="$1"
|
||||
shift
|
||||
if [[ "${VAL}" == */*-nightly ]]; then
|
||||
VAL=$(curl -s -S -f -L "${DEV_BOARD_URL}/boards/${VAL}.txt")
|
||||
fi
|
||||
FLATCAR_VERSION="${VAL}"
|
||||
FLATCAR_VERSION_ID="${VAL}"
|
||||
;;
|
||||
--dev-board)
|
||||
FLATCAR_DEV_BUILDS="${DEV_BOARD_URL}"
|
||||
;;
|
||||
--no-dev-board)
|
||||
FLATCAR_DEV_BUILDS=no
|
||||
;;
|
||||
--sdk-version)
|
||||
FLATCAR_SDK_VERSION="$1"
|
||||
shift
|
||||
;;
|
||||
--dev-sdk)
|
||||
FLATCAR_DEV_BUILDS_SDK="${DEV_SDK_URL}"
|
||||
;;
|
||||
--no-dev-sdk)
|
||||
FLATCAR_DEV_BUILDS_SDK=no
|
||||
;;
|
||||
--file)
|
||||
FILE="$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
echo "Unkown argument ${ARG}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ "${FILE}" != "/dev/stdout" ]] && [[ "${FILE}" != "/dev/stderr" ]]; then
|
||||
[[ -n "${FLATCAR_VERSION}" ]] && sed -i "/FLATCAR_VERSION=.*/d" "${FILE}"
|
||||
[[ -n "${FLATCAR_VERSION_ID}" ]] && sed -i "/FLATCAR_VERSION_ID=.*/d" "${FILE}"
|
||||
[[ -n "${FLATCAR_DEV_BUILDS}" ]] && sed -i "/FLATCAR_DEV_BUILDS=.*/d" "${FILE}"
|
||||
[[ -n "${FLATCAR_SDK_VERSION}" ]] && sed -i "/FLATCAR_SDK_VERSION=.*/d" "${FILE}"
|
||||
[[ -n "${FLATCAR_DEV_BUILDS_SDK}" ]] && sed -i "/FLATCAR_DEV_BUILDS_SDK=.*/d" "${FILE}"
|
||||
fi
|
||||
|
||||
{
|
||||
[[ -n "${FLATCAR_VERSION}" ]] && echo "FLATCAR_VERSION=${FLATCAR_VERSION}"
|
||||
[[ -n "${FLATCAR_VERSION_ID}" ]] && echo "FLATCAR_VERSION_ID=${FLATCAR_VERSION_ID}"
|
||||
[[ -n "${FLATCAR_DEV_BUILDS}" ]] && [[ "${FLATCAR_DEV_BUILDS}" != no ]] && echo "FLATCAR_DEV_BUILDS=${FLATCAR_DEV_BUILDS}"
|
||||
[[ -n "${FLATCAR_SDK_VERSION}" ]] && echo "FLATCAR_SDK_VERSION=${FLATCAR_SDK_VERSION}"
|
||||
[[ -n "${FLATCAR_DEV_BUILDS_SDK}" ]] && [[ "${FLATCAR_DEV_BUILDS_SDK}" != no ]] && echo "FLATCAR_DEV_BUILDS_SDK=${FLATCAR_DEV_BUILDS_SDK}"
|
||||
} >> "${FILE}"
|
Loading…
x
Reference in New Issue
Block a user