diff --git a/build_library/build_image_util.sh b/build_library/build_image_util.sh index 154fb266b1..9c6ffbf22f 100755 --- a/build_library/build_image_util.sh +++ b/build_library/build_image_util.sh @@ -153,10 +153,9 @@ start_image() { mount "${disk_img}" "${root_fs_dir}" trap "cleanup_mounts '${root_fs_dir}' && delete_prompt" EXIT - # First thing first, install baselayout with USE=build to create a - # working directory tree. Don't use binpkgs due to the use flag change. - sudo -E USE=build "emerge-${BOARD}" --root="${root_fs_dir}" \ - --usepkg=n --buildpkg=n --oneshot --quiet --nodeps sys-apps/baselayout + # First thing first, install baselayout to create a working filesystem. + emerge-${BOARD} --root="${root_fs_dir}" \ + --usepkgonly --oneshot --quiet --nodeps sys-apps/baselayout # FIXME(marineam): Work around glibc setting EROOT=$ROOT # https://bugs.gentoo.org/show_bug.cgi?id=473728#c12 diff --git a/build_library/catalyst.sh b/build_library/catalyst.sh index b2f25fb0e5..9fe8e692ad 100644 --- a/build_library/catalyst.sh +++ b/build_library/catalyst.sh @@ -5,14 +5,15 @@ # common.sh should be sourced first [[ -n "${DEFAULT_BUILD_ROOT}" ]] || exit 1 -. "${SCRIPTS_DIR}/sdk_lib/sdk_util.sh" +. "${SCRIPTS_DIR}/sdk_lib/sdk_util.sh" || exit 1 +. "${BUILD_LIBRARY_DIR}/toolchain_util.sh" || exit 1 # Default option values, may be provided before including this file : ${TYPE:="coreos-sdk"} -: ${ARCH:=$(portageq envvar ARCH)} +: ${ARCH:=$(get_sdk_arch)} : ${DEFAULT_CATALYST_ROOT:="${DEFAULT_BUILD_ROOT}/catalyst"} : ${DEFAULT_SEED:=${COREOS_SDK_TARBALL_PATH}} -: ${DEFAULT_PROFILE:="coreos:default/linux/${ARCH}/10.0"} +: ${DEFAULT_PROFILE:=$(get_sdk_profile)} # Set to something like "stage4" to restrict what to build # FORCE_STAGES= diff --git a/build_library/toolchain_util.sh b/build_library/toolchain_util.sh index 01dbd7f810..1789f4995c 100644 --- a/build_library/toolchain_util.sh +++ b/build_library/toolchain_util.sh @@ -21,7 +21,7 @@ CROSS_PROFILES["x86_64-cros-linux-gnu"]="coreos:coreos/amd64/generic" # guesses or hard-code these. All that should migrate to this list. declare -A BOARD_CHOSTS BOARD_PROFILES BOARD_CHOSTS["amd64-usr"]="x86_64-cros-linux-gnu" -BOARD_PROFILES["amd64-usr"]="coreos:coreos/amd64/usr" +BOARD_PROFILES["amd64-usr"]="coreos:coreos/amd64/generic" BOARD_NAMES=( "${!BOARD_CHOSTS[@]}" ) # Declare the above globals as read-only to avoid accidental conflicts. diff --git a/build_toolchains b/build_toolchains index c61c6b4bda..190cf3ddaa 100755 --- a/build_toolchains +++ b/build_toolchains @@ -11,7 +11,6 @@ TYPE="coreos-toolchains" FORCE_STAGES="stage4" . "${BUILD_LIBRARY_DIR}/catalyst.sh" || exit 1 -. "${BUILD_LIBRARY_DIR}/toolchain_util.sh" || exit 1 # include upload options . "${BUILD_LIBRARY_DIR}/release_util.sh" || exit 1 diff --git a/setup_board b/setup_board index c6628f885d..bf35fdf28f 100755 --- a/setup_board +++ b/setup_board @@ -214,6 +214,23 @@ else FLAGS_regen_configs=${FLAGS_FALSE} fi +# Migrate board roots that were created before the package location +# was standardized to /var/lib/portage/pkgs, build_image will fail if we +# simply forget about the old location and start writing to the new. +# Keep /packages as a compatibility symlink until everyone is updated. +if [[ ! -L "${BOARD_ROOT}/packages" ]]; then + if [[ ! -d "${BOARD_ROOT}/var/lib/portage/pkgs" ]]; then + if [[ -d "${BOARD_ROOT}/packages" ]]; then + warn "Moving board package directory to ${BOARD_ROOT}/var/lib/portage/pkgs" + sudo mkdir -p "${BOARD_ROOT}/var/lib/portage" + sudo mv "${BOARD_ROOT}/packages" "${BOARD_ROOT}/var/lib/portage/pkgs" + fi + else + sudo mkdir -p "${BOARD_ROOT}/var/lib/portage/pkgs" + fi + sudo ln -sfT "var/lib/portage/pkgs" "${BOARD_ROOT}/packages" +fi + info "Configuring portage in ${BOARD_ROOT}" cmds=( "mkdir -p '${BOARD_ROOT}' '${BOARD_PROFILE}'" @@ -235,25 +252,38 @@ sudo_multi "${cmds[@]}" sudo_clobber "${BOARD_SETUP}" <