mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-27 19:35:32 +00:00
move all osbuilder files into `tools` directory to be able to merge this into kata-containers repo. Signed-off-by: Salvador Fuentes <salvador.fuentes@intel.com>
73 lines
1.3 KiB
Bash
73 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
#
|
|
# Copyright (c) 2019 IBM
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
# If we fail for any reason a message will be displayed
|
|
die() {
|
|
msg="$*"
|
|
echo "ERROR: $msg" >&2
|
|
exit 1
|
|
}
|
|
|
|
# Install the yq yaml query package from the mikefarah github repo
|
|
# Install via binary download, as we may not have golang installed at this point
|
|
function install_yq() {
|
|
GOPATH=${GOPATH:-${HOME}/go}
|
|
local yq_path="${GOPATH}/bin/yq"
|
|
local yq_pkg="github.com/mikefarah/yq"
|
|
[ -x "${GOPATH}/bin/yq" ] && return
|
|
|
|
read -r -a sysInfo <<< "$(uname -sm)"
|
|
|
|
case "${sysInfo[0]}" in
|
|
"Linux" | "Darwin")
|
|
goos="${sysInfo[0],}"
|
|
;;
|
|
"*")
|
|
die "OS ${sysInfo[0]} not supported"
|
|
;;
|
|
esac
|
|
|
|
case "${sysInfo[1]}" in
|
|
"aarch64")
|
|
goarch=arm64
|
|
;;
|
|
"ppc64le")
|
|
goarch=ppc64le
|
|
;;
|
|
"x86_64")
|
|
goarch=amd64
|
|
;;
|
|
"s390x")
|
|
goarch=s390x
|
|
;;
|
|
"*")
|
|
die "Arch ${sysInfo[1]} not supported"
|
|
;;
|
|
esac
|
|
|
|
mkdir -p "${GOPATH}/bin"
|
|
|
|
# Check curl
|
|
if ! command -v "curl" >/dev/null; then
|
|
die "Please install curl"
|
|
fi
|
|
|
|
local yq_version=2.3.0
|
|
|
|
local yq_url="https://${yq_pkg}/releases/download/${yq_version}/yq_${goos}_${goarch}"
|
|
curl -o "${yq_path}" -LSsf ${yq_url}
|
|
[ $? -ne 0 ] && die "Download ${yq_url} failed"
|
|
chmod +x ${yq_path}
|
|
|
|
if ! command -v "${yq_path}" >/dev/null; then
|
|
die "Cannot not get ${yq_path} executable"
|
|
fi
|
|
}
|
|
|
|
install_yq
|
|
|