# Copyright (c) 2012 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. configure_dev_portage() { # Need profiles at the bare minimum local repo for repo in portage-stable coreos-overlay; do sudo mkdir -p "$1/var/lib/portage/${repo}" sudo rsync -rtl --exclude=md5-cache \ "${SRC_ROOT}/third_party/${repo}/metadata" \ "${SRC_ROOT}/third_party/${repo}/profiles" \ "$1/var/lib/portage/${repo}" done sudo mkdir -p "$1/etc/portage/repos.conf" sudo_clobber "$1/etc/portage/make.conf" </dev/null) if [[ -z "${host}" ]]; then host=$(ip addr show scope global | \ awk '$1 == "inet" { sub(/[/].*/, "", $2); print $2; exit }') fi if [[ -n "${host}" ]]; then echo "http://${host}${port}" fi } create_dev_image() { local image_name=$1 local disk_layout=$2 local update_group=$3 local base_pkg="$4" local devserver=$(detect_dev_url) local auserver="" if [ -z "${base_pkg}" ]; then echo "did not get base package!" exit 1 fi if [[ -n "${devserver}" ]]; then info "Using ${devserver} for local dev server URL." auserver="${devserver}/update" else info "Unable do detect local dev server address." fi info "Building developer image ${image_name}" local root_fs_dir="${BUILD_DIR}/rootfs" local image_contents="${image_name%.bin}_contents.txt" local image_packages="${image_name%.bin}_packages.txt" local image_licenses="${image_name%.bin}_licenses.json" start_image "${image_name}" "${disk_layout}" "${root_fs_dir}" "${update_group}" set_image_profile dev emerge_to_image "${root_fs_dir}" @system ${base_pkg} run_ldconfig "${root_fs_dir}" run_localedef "${root_fs_dir}" write_packages "${root_fs_dir}" "${BUILD_DIR}/${image_packages}" write_licenses "${root_fs_dir}" "${BUILD_DIR}/${image_licenses}" # Setup portage for emerge and gmerge configure_dev_portage "${root_fs_dir}" "${devserver}" sudo_append "${root_fs_dir}/etc/coreos/update.conf" <