mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-23 22:51:03 +02:00
commit
c707f8ed92
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
GSUTIL_OPTS=
|
GSUTIL_OPTS=
|
||||||
UPLOAD_ROOT="gs://storage.core-os.net/coreos"
|
UPLOAD_ROOT="gs://storage.core-os.net/coreos"
|
||||||
|
UPLOAD_PATH=
|
||||||
UPLOAD_DEFAULT=${FLAGS_FALSE}
|
UPLOAD_DEFAULT=${FLAGS_FALSE}
|
||||||
if [[ ${COREOS_OFFICIAL:-0} -eq 1 ]]; then
|
if [[ ${COREOS_OFFICIAL:-0} -eq 1 ]]; then
|
||||||
UPLOAD_DEFAULT=${FLAGS_TRUE}
|
UPLOAD_DEFAULT=${FLAGS_TRUE}
|
||||||
@ -16,6 +17,8 @@ DEFINE_boolean parallel ${FLAGS_TRUE} \
|
|||||||
"Enable parallelism in gsutil."
|
"Enable parallelism in gsutil."
|
||||||
DEFINE_boolean upload ${UPLOAD_DEFAULT} \
|
DEFINE_boolean upload ${UPLOAD_DEFAULT} \
|
||||||
"Upload all packages/images via gsutil."
|
"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() {
|
check_gsutil_opts() {
|
||||||
[[ ${FLAGS_upload} -eq ${FLAGS_TRUE} ]] || return 0
|
[[ ${FLAGS_upload} -eq ${FLAGS_TRUE} ]] || return 0
|
||||||
@ -24,6 +27,11 @@ check_gsutil_opts() {
|
|||||||
GSUTIL_OPTS="-m"
|
GSUTIL_OPTS="-m"
|
||||||
fi
|
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
|
if [[ ! -f "$HOME/.boto" ]]; then
|
||||||
die_notrace "Please run gsutil config to create ~/.boto"
|
die_notrace "Please run gsutil config to create ~/.boto"
|
||||||
fi
|
fi
|
||||||
@ -34,9 +42,10 @@ upload_packages() {
|
|||||||
[[ -n "${BOARD}" ]] || die "board_options.sh must be sourced first"
|
[[ -n "${BOARD}" ]] || die "board_options.sh must be sourced first"
|
||||||
|
|
||||||
local BOARD_PACKAGES="${1:-"${BOARD_ROOT}/packages"}"
|
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"
|
info "Uploading packages"
|
||||||
gsutil ${GSUTIL_OPTS} cp -R "${BOARD_PACKAGES}"/* "${UPLOAD_PATH}"
|
gsutil ${GSUTIL_OPTS} cp -R "${BOARD_PACKAGES}"/* "${UPLOAD_PATH}/pkgs/"
|
||||||
}
|
}
|
||||||
|
|
||||||
make_digests() {
|
make_digests() {
|
||||||
@ -57,7 +66,7 @@ upload_image() {
|
|||||||
[[ -n "${BOARD}" ]] || die "board_options.sh must be sourced first"
|
[[ -n "${BOARD}" ]] || die "board_options.sh must be sourced first"
|
||||||
|
|
||||||
local BUILT_IMAGE="$1"
|
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
|
if [[ ! -f "${BUILT_IMAGE}" ]]; then
|
||||||
die "Image '${BUILT_IMAGE}' does not exist!"
|
die "Image '${BUILT_IMAGE}' does not exist!"
|
||||||
@ -76,5 +85,5 @@ upload_image() {
|
|||||||
|
|
||||||
info "Uploading ${BUILT_IMAGE##*/}"
|
info "Uploading ${BUILT_IMAGE##*/}"
|
||||||
gsutil ${GSUTIL_OPTS} cp "${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
|
source /tmp/chroot-functions.sh
|
||||||
|
|
||||||
# Build cross toolchains
|
# 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
|
for cross_chost in x86_64-cros-linux-gnu; do
|
||||||
echo "Installing toolchain for ${cross_chost}"
|
echo "Installing toolchain for ${cross_chost}"
|
||||||
cross_pkgs=( cross-${cross_chost}/{binutils,gcc,gdb,glibc,linux-headers} )
|
cross_pkgs=( cross-${cross_chost}/{binutils,gcc,gdb,glibc,linux-headers} )
|
||||||
cross_bootstrap=0
|
crossdev --ov-output "/usr/local/portage/crossdev" \
|
||||||
for pkg in "${cross_pkgs[@]}"; do
|
--env 'FEATURES=splitdebug' \
|
||||||
if ! portageq match / "$pkg" | grep .; then
|
--stable --ex-gdb --init-target \
|
||||||
cross_bootstrap=1
|
--target "${cross_chost}" || exit 1
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
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" \
|
crossdev --ov-output "/usr/local/portage/crossdev" \
|
||||||
--portage "${clst_myemergeopts}" \
|
--portage "${clst_myemergeopts}" \
|
||||||
--env 'FEATURES=splitdebug' \
|
--env 'FEATURES=splitdebug' \
|
||||||
--stable --ex-gdb --stage4 \
|
--stable --ex-gdb --stage4 \
|
||||||
--target "${cross_chost}" || exit 1
|
--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
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user