mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-23 14:41:31 +02:00
commit
c707f8ed92
@ -4,6 +4,7 @@
|
||||
|
||||
GSUTIL_OPTS=
|
||||
UPLOAD_ROOT="gs://storage.core-os.net/coreos"
|
||||
UPLOAD_PATH=
|
||||
UPLOAD_DEFAULT=${FLAGS_FALSE}
|
||||
if [[ ${COREOS_OFFICIAL:-0} -eq 1 ]]; then
|
||||
UPLOAD_DEFAULT=${FLAGS_TRUE}
|
||||
@ -16,6 +17,8 @@ DEFINE_boolean parallel ${FLAGS_TRUE} \
|
||||
"Enable parallelism in gsutil."
|
||||
DEFINE_boolean upload ${UPLOAD_DEFAULT} \
|
||||
"Upload all packages/images via gsutil."
|
||||
DEFINE_string upload_path "" \
|
||||
"Upload files to an alternative location. Must be a full gs:// URL."
|
||||
|
||||
check_gsutil_opts() {
|
||||
[[ ${FLAGS_upload} -eq ${FLAGS_TRUE} ]] || return 0
|
||||
@ -24,6 +27,11 @@ check_gsutil_opts() {
|
||||
GSUTIL_OPTS="-m"
|
||||
fi
|
||||
|
||||
if [[ -n "${FLAGS_upload_path}" ]]; then
|
||||
# Make sure the path doesn't end with a slash
|
||||
UPLOAD_PATH="${FLAGS_upload_path%%/}"
|
||||
fi
|
||||
|
||||
if [[ ! -f "$HOME/.boto" ]]; then
|
||||
die_notrace "Please run gsutil config to create ~/.boto"
|
||||
fi
|
||||
@ -34,9 +42,10 @@ upload_packages() {
|
||||
[[ -n "${BOARD}" ]] || die "board_options.sh must be sourced first"
|
||||
|
||||
local BOARD_PACKAGES="${1:-"${BOARD_ROOT}/packages"}"
|
||||
local UPLOAD_PATH="${UPLOAD_ROOT}/${BOARD}/${COREOS_VERSION_STRING}/pkgs/"
|
||||
: ${UPLOAD_PATH:="${UPLOAD_ROOT}/${BOARD}/${COREOS_VERSION_STRING}"}
|
||||
|
||||
info "Uploading packages"
|
||||
gsutil ${GSUTIL_OPTS} cp -R "${BOARD_PACKAGES}"/* "${UPLOAD_PATH}"
|
||||
gsutil ${GSUTIL_OPTS} cp -R "${BOARD_PACKAGES}"/* "${UPLOAD_PATH}/pkgs/"
|
||||
}
|
||||
|
||||
make_digests() {
|
||||
@ -57,7 +66,7 @@ upload_image() {
|
||||
[[ -n "${BOARD}" ]] || die "board_options.sh must be sourced first"
|
||||
|
||||
local BUILT_IMAGE="$1"
|
||||
local UPLOAD_PATH="${UPLOAD_ROOT}/${BOARD}/${COREOS_VERSION_STRING}/"
|
||||
: ${UPLOAD_PATH:="${UPLOAD_ROOT}/${BOARD}/${COREOS_VERSION_STRING}"}
|
||||
|
||||
if [[ ! -f "${BUILT_IMAGE}" ]]; then
|
||||
die "Image '${BUILT_IMAGE}' does not exist!"
|
||||
@ -76,5 +85,5 @@ upload_image() {
|
||||
|
||||
info "Uploading ${BUILT_IMAGE##*/}"
|
||||
gsutil ${GSUTIL_OPTS} cp "${BUILT_IMAGE}" \
|
||||
"${BUILT_IMAGE}.DIGESTS" "${UPLOAD_PATH}"
|
||||
"${BUILT_IMAGE}.DIGESTS" "${UPLOAD_PATH}/"
|
||||
}
|
||||
|
@ -3,32 +3,28 @@
|
||||
source /tmp/chroot-functions.sh
|
||||
|
||||
# Build cross toolchains
|
||||
# crossdev only does full bootstraps so if all of the packages are already
|
||||
# installed (i.e. we are updating an existing stage4) then use emerge
|
||||
for cross_chost in x86_64-cros-linux-gnu; do
|
||||
echo "Installing toolchain for ${cross_chost}"
|
||||
cross_pkgs=( cross-${cross_chost}/{binutils,gcc,gdb,glibc,linux-headers} )
|
||||
cross_bootstrap=0
|
||||
for pkg in "${cross_pkgs[@]}"; do
|
||||
if ! portageq match / "$pkg" | grep .; then
|
||||
cross_bootstrap=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
crossdev --ov-output "/usr/local/portage/crossdev" \
|
||||
--env 'FEATURES=splitdebug' \
|
||||
--stable --ex-gdb --init-target \
|
||||
--target "${cross_chost}" || exit 1
|
||||
|
||||
if [[ "${cross_bootstrap}" -eq 1 ]]; then
|
||||
# If PKGCACHE is enabled check to see if binary packages are available
|
||||
# or (due to --noreplace) the packages are already installed. If so then
|
||||
# we don't need to perform a full bootstrap and just call emerge instead.
|
||||
if [[ -n "${clst_PKGCACHE}" ]] && \
|
||||
emerge ${clst_myemergeopts} --usepkgonly --binpkg-respect-use=y \
|
||||
--noreplace "${cross_pkgs[@]}" &>/dev/null
|
||||
then
|
||||
run_merge -u "${cross_pkgs[@]}"
|
||||
else
|
||||
crossdev --ov-output "/usr/local/portage/crossdev" \
|
||||
--portage "${clst_myemergeopts}" \
|
||||
--env 'FEATURES=splitdebug' \
|
||||
--stable --ex-gdb --stage4 \
|
||||
--target "${cross_chost}" || exit 1
|
||||
else
|
||||
# Still run --init-target to ensure config is correct
|
||||
crossdev --ov-output "/usr/local/portage/crossdev" \
|
||||
--env 'FEATURES=splitdebug' \
|
||||
--stable --ex-gdb --init-target \
|
||||
--target "${cross_chost}" || exit 1
|
||||
run_merge -u "${cross_pkgs[@]}"
|
||||
fi
|
||||
done
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user