build_image: add binhost option for dev container

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
This commit is contained in:
Thilo Fromm 2021-10-05 16:38:43 +02:00
parent 51aac23dc8
commit eaff2d47eb
2 changed files with 15 additions and 10 deletions

View File

@ -18,6 +18,7 @@ assert_inside_chroot
assert_not_root_user
DEFAULT_GROUP=developer
DEFAULT_DEVCONTAINER_BINHOST="https://mirror.release.flatcar-linux.net"
# Developer-visible flags.
DEFINE_string board "${DEFAULT_BOARD}" \
@ -48,6 +49,8 @@ DEFINE_boolean extract_update "${FLAGS_TRUE}" \
"Extract the /usr partition for generating updates."
DEFINE_string developer_data "" \
"Insert a custom cloudinit file into the image."
DEFINE_string devcontainer_binhost "${DEFAULT_DEVCONTAINER_BINHOST}" \
"Override portage binhost configuration used in development container."
# include upload options
. "${BUILD_LIBRARY_DIR}/release_util.sh" || exit 1
@ -167,7 +170,7 @@ fix_mtab
if [[ "${CONTAINER}" -eq 1 ]]; then
IMAGE_BUILD_TYPE="container"
create_dev_container "${FLATCAR_DEVELOPER_CONTAINER_NAME}" "${CONTAINER_LAYOUT}" "${FLAGS_group}" ${FLAGS_base_dev_pkg}
create_dev_container "${FLATCAR_DEVELOPER_CONTAINER_NAME}" "${CONTAINER_LAYOUT}" "${FLAGS_devcontainer_binhost}" "${FLAGS_group}" ${FLAGS_base_dev_pkg}
fi
if [[ "${PROD_IMAGE}" -eq 1 ]]; then

View File

@ -3,12 +3,13 @@
# found in the LICENSE file.
get_binhost_url() {
local image_group=$1
local image_path=$2
local binhost_base=$1
local image_group=$2
local image_path=$3
if [ "${image_group}" == "developer" ]; then
echo "${FLATCAR_DEV_BUILDS}/${image_group}/boards/${BOARD}/${FLATCAR_VERSION}/${image_path}"
echo "${binhost_base}/${image_group}/boards/${BOARD}/${FLATCAR_VERSION}/${image_path}"
else
echo "${FLATCAR_DEV_BUILDS}/boards/${BOARD}/${FLATCAR_VERSION_ID}/${image_path}"
echo "${binhost_base}/boards/${BOARD}/${FLATCAR_VERSION_ID}/${image_path}"
fi
}
@ -35,8 +36,8 @@ PKGDIR="/var/lib/portage/pkgs"
PORT_LOGDIR="/var/log/portage"
PORTDIR="/var/lib/portage/portage-stable"
PORTDIR_OVERLAY="/var/lib/portage/coreos-overlay"
PORTAGE_BINHOST="$(get_binhost_url $2 'pkgs')
$(get_binhost_url $2 'toolchain')"
PORTAGE_BINHOST="$(get_binhost_url "$2" "$3" 'pkgs')
$(get_binhost_url "$2" "$3" 'toolchain')"
EOF
sudo_clobber "$1/etc/portage/repos.conf/coreos.conf" <<EOF
@ -67,8 +68,9 @@ EOF
create_dev_container() {
local image_name=$1
local disk_layout=$2
local update_group=$3
local base_pkg="$4"
local binhost=$3
local update_group=$4
local base_pkg="$5"
if [ -z "${base_pkg}" ]; then
echo "did not get base package!"
@ -92,7 +94,7 @@ create_dev_container() {
insert_licenses "${BUILD_DIR}/${image_licenses}" "${root_fs_dir}"
# Setup portage for emerge and gmerge
configure_dev_portage "${root_fs_dir}" "${update_group}"
configure_dev_portage "${root_fs_dir}" "${binhost}" "${update_group}"
# Mark the image as a developer image (input to chromeos_startup).
# TODO(arkaitzr): Remove this file when applications no longer rely on it