diff --git a/chroot_version_hooks.d/40_kernel_headers b/chroot_version_hooks.d/40_kernel_headers new file mode 100644 index 0000000000..5da8236f1d --- /dev/null +++ b/chroot_version_hooks.d/40_kernel_headers @@ -0,0 +1,38 @@ +# 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. + +# Move from chromeos-base/kernel-headers to sys-kernel/linux-headers. + +opkg="chromeos-base/kernel-headers" +npkg="sys-kernel/linux-headers" + +export CLEAN_DELAY=0 + +update() { + local root=$1 board=$2 emerge + + if [[ -z ${board} ]]; then + board="root" + emerge="sudo -E emerge" + else + emerge="emerge-${board}" + fi + + if portageq has_version ${root} ${opkg}; then + info "Migrating ${board} from ${opkg} to ${npkg}" + ${emerge} -Cq ${opkg} + fi + if ! portageq has_version ${root} ${npkg}; then + ${emerge} -1gq ${npkg} + fi +} + +update / & + +for board_root in /build/*; do + board=${board_root##*/} + update ${board_root} ${board} & +done + +wait diff --git a/setup_board b/setup_board index 9ee0d26d7c..813a1a7ed7 100755 --- a/setup_board +++ b/setup_board @@ -582,17 +582,16 @@ else # config to make.conf.board. print_board_binhost_config | sudo_append $BOARD_ETC/make.conf.board - # - # Emerge the kernel headers into the board build root. - # - KERNEL_EMERGE_FLAGS="--select --quiet" + # Emerge the kernel headers into the board build root. Use rdeps to + # avoid pulling any spurious DEPEND things in that we don't care about. + KERNEL_EMERGE_FLAGS="--select --quiet --root-deps=rdeps" if [[ "${FLAGS_usepkg}" -eq "${FLAGS_TRUE}" || "${FLAGS_reuse_pkgs_from_local_boards}" -eq "${FLAGS_TRUE}" ]]; then KERNEL_EMERGE_FLAGS+=" --getbinpkg --usepkg" fi sudo -E "${EMERGE_WRAPPER}" ${KERNEL_EMERGE_FLAGS} \ - chromeos-base/kernel-headers + sys-kernel/linux-headers unset KERNEL_EMERGE_FLAGS fi