diff --git a/chroot_version_hooks.d/100_emerge_portage b/chroot_version_hooks.d/100_emerge_portage
deleted file mode 100644
index 7213be5..0000000
--- a/chroot_version_hooks.d/100_emerge_portage
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2014 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.
-
-# If users are stuck on a bad version of Portage, update it.
-sudo emerge -u portage
diff --git a/chroot_version_hooks.d/101_freon_overlay_changes b/chroot_version_hooks.d/101_freon_overlay_changes
deleted file mode 100644
index 17f5272..0000000
--- a/chroot_version_hooks.d/101_freon_overlay_changes
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2014 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.
-
-# We moved a lot of files to the project-freon overlay. Make sure we
-# regen the board setup for each freon board.
-
-BOARDS=(
-  amd64-generic_freon
-  arm-generic_freon
-  daisy_freon
-  falco_freon
-  link_freon
-  nyan_freon
-  panther_freon
-  peppy_freon
-  rush_ryu
-)
-
-for b in "${BOARDS[@]}"; do
-  if [[ -d /build/${b} ]]; then
-    ~/trunk/src/scripts/setup_board \
-      --board=${b} \
-      --skip_chroot_upgrade \
-      --regen_configs
-  fi
-done
diff --git a/chroot_version_hooks.d/102_update_sdk_profile b/chroot_version_hooks.d/102_update_sdk_profile
deleted file mode 100644
index b2dd8f7..0000000
--- a/chroot_version_hooks.d/102_update_sdk_profile
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright 2014 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.
-
-# Make sure the sdk profile points to the new location.
-
-exec sudo ln -sfT \
-  /usr/local/portage/chromiumos/profiles/default/linux/amd64/10.0/sdk \
-  /etc/make.profile
diff --git a/chroot_version_hooks.d/103_clean_make.conf.common b/chroot_version_hooks.d/103_clean_make.conf.common
deleted file mode 100644
index e267785..0000000
--- a/chroot_version_hooks.d/103_clean_make.conf.common
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright 2014 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.
-
-# The /etc/make.conf.common file is no longer used, so delete old symlinks to it.
-
-exec sudo rm -f /etc/make.conf.common /build/*/etc/make.conf.common
diff --git a/chroot_version_hooks.d/104_auron_upgrades b/chroot_version_hooks.d/104_auron_upgrades
deleted file mode 100644
index 0015a6d..0000000
--- a/chroot_version_hooks.d/104_auron_upgrades
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2014 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.
-
-# With the new overlay structure we must regenerate the board setup. This
-# enables the chipset-bdw and baseboard-auron overlays to go into effect.
-
-BOARDS=(
-  auron
-  auron_paine
-  auron_yuna
-)
-
-for b in "${BOARDS[@]}"; do
-  if [[ -d /build/${b} ]]; then
-    ~/trunk/src/scripts/setup_board \
-      --board=${b} \
-      --skip_chroot_upgrade \
-      --regen_configs
-  fi
-done
diff --git a/chroot_version_hooks.d/105_samus_go_freon b/chroot_version_hooks.d/105_samus_go_freon
deleted file mode 100644
index d54bbcc..0000000
--- a/chroot_version_hooks.d/105_samus_go_freon
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2014 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.
-
-# We moved a lot of files to the project-freon overlay. Make sure we
-# regen the board setup for each freon board.
-
-BOARD=samus
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/107_auron_go_freon b/chroot_version_hooks.d/107_auron_go_freon
deleted file mode 100644
index 438843d..0000000
--- a/chroot_version_hooks.d/107_auron_go_freon
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2014 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.
-
-# With the addition of freon we must regenerate the board setup for impacted
-# boards.
-
-BOARDS=(
-  auron
-  auron_paine
-  auron_yuna
-  cid
-  jecht
-)
-
-for b in "${BOARDS[@]}"; do
-  if [[ -d /build/${b} ]]; then
-    ~/trunk/src/scripts/setup_board \
-      --board=${b} \
-      --skip_chroot_upgrade \
-      --regen_configs
-  fi
-done
diff --git a/chroot_version_hooks.d/108_clean_portage_cache b/chroot_version_hooks.d/108_clean_portage_cache
deleted file mode 120000
index e46a1e3..0000000
--- a/chroot_version_hooks.d/108_clean_portage_cache
+++ /dev/null
@@ -1 +0,0 @@
-106_clean_portage_cache
\ No newline at end of file
diff --git a/chroot_version_hooks.d/10_default_locales b/chroot_version_hooks.d/10_default_locales
deleted file mode 100644
index 51d573b..0000000
--- a/chroot_version_hooks.d/10_default_locales
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2011 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.
-
-# Make sure existing chroot's have default locales enabled
-# to match the new make_chroot behavior
-# http://crosbug.com/20378
-if ! grep -q -v -e '^#' -e '^$' /etc/locale.gen ; then
-  sudo_append /etc/locale.gen <<EOF
-en_US ISO-8859-1
-en_US.UTF-8 UTF-8
-EOF
-fi
-
-info "Chroot upgraded to version 10: Set default locale sets"
-exit 0
diff --git a/chroot_version_hooks.d/11_rm_bad_directory b/chroot_version_hooks.d/11_rm_bad_directory
deleted file mode 100644
index 8a3383e..0000000
--- a/chroot_version_hooks.d/11_rm_bad_directory
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright (c) 2011 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.
-
-# Delete /does/not to fix metrics unit test, which depends on this
-# directory not existing.
-exec sudo rm -rf --one-file-system /does/not
diff --git a/chroot_version_hooks.d/12_clean_old_config_files b/chroot_version_hooks.d/12_clean_old_config_files
deleted file mode 100644
index a0a194b..0000000
--- a/chroot_version_hooks.d/12_clean_old_config_files
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2011 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.
-
-info "Cleaning old configuration files, crosbug.com/13987"
-
-# The filesystem may be polluted by a lot of pending config file updates
-# at this point. By changing CONFIG_PROTECT, several of these have become
-# permanently stale, as neither tool considers them updates anymore.
-
-# First discard all updates in config files that are still protected, as
-# governed by the current CONFIG_PROTECT.
-# Autodiscard is option "-9" followed by the "YES" confirmation.
-info "Discarding bad updates"
-printf '%s\nYES\n' -9 | sudo etc-update
-
-# Overload CONFIG_PROTECT and automerge all possible updates in all sensible
-# locations, that is all updates that should've been merged immediately in
-# the first place.
-# Automerge is the "-5" option.
-info "Automerging good updates"
-echo "-5" | sudo CONFIG_PROTECT="/etc /usr/share" etc-update
-
-exit 0
diff --git a/chroot_version_hooks.d/134_clean_portage_cache b/chroot_version_hooks.d/134_clean_portage_cache
deleted file mode 120000
index e46a1e3..0000000
--- a/chroot_version_hooks.d/134_clean_portage_cache
+++ /dev/null
@@ -1 +0,0 @@
-106_clean_portage_cache
\ No newline at end of file
diff --git a/chroot_version_hooks.d/106_clean_portage_cache b/chroot_version_hooks.d/134_clean_portage_cache
similarity index 100%
rename from chroot_version_hooks.d/106_clean_portage_cache
rename to chroot_version_hooks.d/134_clean_portage_cache
diff --git a/chroot_version_hooks.d/13_enable_gold b/chroot_version_hooks.d/13_enable_gold
deleted file mode 100644
index 03c2f55..0000000
--- a/chroot_version_hooks.d/13_enable_gold
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (c) 2011 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.
-
-for toolchain in i686-pc-linux-gnu x86_64-cros-linux-gnu; do
-  if label=$(binutils-config -c $toolchain); then
-      sudo binutils-config ${label%-gold}-gold
-  fi
-done
-exit 0
diff --git a/chroot_version_hooks.d/14_board_portage_env b/chroot_version_hooks.d/14_board_portage_env
deleted file mode 100644
index d46e066..0000000
--- a/chroot_version_hooks.d/14_board_portage_env
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2011 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.
-
-cfgd="/usr/local/portage/chromiumos/chromeos/config"
-
-# Make sure the board's /etc/portage/env is a symlink and not a dir.
-for board_root in /build/*; do
-  envd="${board_root}/etc/portage/env"
-  if [ -d "${envd}" ]; then
-    sudo rm -rf --one-file-system "${envd}"
-    sudo ln -s "${cfgd}/env" "${envd}"
-  fi
-done
-
-# Make sure we have bashrc on the host.
-sudo ln -sfT "${cfgd}/bashrc-host" /etc/portage/bashrc
-
-exit 0
diff --git a/chroot_version_hooks.d/152_rewrite_sudoers.d b/chroot_version_hooks.d/152_rewrite_sudoers.d
index 091b4ee..c4ab18d 120000
--- a/chroot_version_hooks.d/152_rewrite_sudoers.d
+++ b/chroot_version_hooks.d/152_rewrite_sudoers.d
@@ -1 +1 @@
-45_rewrite_sudoers.d
\ No newline at end of file
+153_rewrite_sudoers.d
\ No newline at end of file
diff --git a/chroot_version_hooks.d/153_rewrite_sudoers.d b/chroot_version_hooks.d/153_rewrite_sudoers.d
deleted file mode 120000
index 091b4ee..0000000
--- a/chroot_version_hooks.d/153_rewrite_sudoers.d
+++ /dev/null
@@ -1 +0,0 @@
-45_rewrite_sudoers.d
\ No newline at end of file
diff --git a/chroot_version_hooks.d/45_rewrite_sudoers.d b/chroot_version_hooks.d/153_rewrite_sudoers.d
similarity index 92%
rename from chroot_version_hooks.d/45_rewrite_sudoers.d
rename to chroot_version_hooks.d/153_rewrite_sudoers.d
index 2347b21..bc6fcf9 100644
--- a/chroot_version_hooks.d/45_rewrite_sudoers.d
+++ b/chroot_version_hooks.d/153_rewrite_sudoers.d
@@ -5,14 +5,15 @@
 # Note that this script is invoked by make_chroot in addition
 # to normal upgrade pathways.
 
+set -e
+
 if [ "${UID:-$(id -u)}" != 0 ]; then
   # Note that since we're screwing w/ sudo variables, this script
   # explicitly bounces up to root for everything it does- that way
   # if anyone introduces a temp depriving in the sudo setup, it can't break
   # mid upgrade.
   load_environment_whitelist
-  exec sudo bash -e "${VERSION_HOOKS_DIR}/45_rewrite_sudoers.d" \
-    / "${USER}" "${ENVIRONMENT_WHITELIST[@]}"
+  exec sudo bash "$0" / "${USER}" "${ENVIRONMENT_WHITELIST[@]}"
   exit 1
 fi
 
diff --git a/chroot_version_hooks.d/15_board_portage_env_undo b/chroot_version_hooks.d/15_board_portage_env_undo
deleted file mode 100644
index 66f3c50..0000000
--- a/chroot_version_hooks.d/15_board_portage_env_undo
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2011 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.
-
-# Make sure the board's /etc/portage/env is no longer a symlink.
-# This basically reverts the old 14_board_portage_env.
-for board_root in /build/*; do
-  envd="${board_root}/etc/portage/env"
-  if [ -L "${envd}" ]; then
-    sudo rm -f "${envd}"
-  fi
-done
-
-# Then undo the host bashrc.
-if [ -L /etc/portage/bashrc ]; then
-  sudo rm -f /etc/portage/bashrc
-fi
-
-exit 0
diff --git a/chroot_version_hooks.d/16_localtime b/chroot_version_hooks.d/16_localtime
deleted file mode 100644
index 7e1ba00..0000000
--- a/chroot_version_hooks.d/16_localtime
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2011 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.
-
-# We used to install an /etc/localtime symlink for the cros sdk when
-# we really only wanted it for the target boards.
-sudo rm -f /etc/._cfg????_localtime
-
-exit 0
diff --git a/chroot_version_hooks.d/17_sudo_90_cros b/chroot_version_hooks.d/17_sudo_90_cros
deleted file mode 100644
index ce2ce99..0000000
--- a/chroot_version_hooks.d/17_sudo_90_cros
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright (c) 2011 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.
-
-# This upgrade is a dummy since there was a mid air collision; moved to 19_*
-
-exit 0
diff --git a/chroot_version_hooks.d/18_noop b/chroot_version_hooks.d/18_noop
deleted file mode 100644
index b523eca..0000000
--- a/chroot_version_hooks.d/18_noop
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright (c) 2011 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.
-
-# No-op, this change is being reverted
-exit 0
diff --git a/chroot_version_hooks.d/19_sudo_90_cros b/chroot_version_hooks.d/19_sudo_90_cros
deleted file mode 100644
index 7f664d5..0000000
--- a/chroot_version_hooks.d/19_sudo_90_cros
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2011 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.
-
-# Older chroots used to tweak /etc/sudoers directly, but we split that
-# off into files in /etc/sudoers.d/.  One of those is handled by the
-# make_chroot helper, so make sure we upgrade old chroots which missed
-# the migration to /etc/sudoers.d/90_cros.
-frag="/etc/sudoers.d/90_cros"
-if [ ! -e ${frag} ]; then
-  tmp=$(mktemp 2>/dev/null || echo /tmp/17_upgrade_hook.$$)
-  cat <<EOF > "${tmp}" || exit 1
-Defaults env_keep += CROS_WORKON_SRCROOT
-Defaults env_keep += CHROMEOS_OFFICIAL
-Defaults env_keep += PORTAGE_USERNAME
-Defaults env_keep += http_proxy
-Defaults env_keep += ftp_proxy
-Defaults env_keep += all_proxy
-%adm ALL=(ALL) ALL
-root ALL=(ALL) ALL
-$USER ALL=NOPASSWD: ALL
-EOF
-  cmds=(
-    "mkdir -p -m 0750 '${frag%/*}'"
-    "chmod 0440 '${tmp}'"
-    "chown root:root '${tmp}'"
-    "mv '${tmp}' '${frag}'"
-  )
-  sudo_multi "${cmds[@]}"
-fi
-
-exit 0
diff --git a/chroot_version_hooks.d/1_init b/chroot_version_hooks.d/1_init
deleted file mode 100644
index dad7d51..0000000
--- a/chroot_version_hooks.d/1_init
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright (c) 2011 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.
-
-info "You have just been upgraded to chroot version 1! Congratulations!"
-exit 0
diff --git a/chroot_version_hooks.d/20_board_portage_bashrc b/chroot_version_hooks.d/20_board_portage_bashrc
deleted file mode 100644
index 3606516..0000000
--- a/chroot_version_hooks.d/20_board_portage_bashrc
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright (c) 2011 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.
-
-# Punt the old board's /etc/portage/bashrc as we don't use it anymore,
-# and it conflicts with newer bashrc stacking.
-sudo rm -f /build/*/etc/portage/bashrc
-
-exit 0
diff --git a/chroot_version_hooks.d/21_grub_downgrade b/chroot_version_hooks.d/21_grub_downgrade
deleted file mode 100644
index bcf6117..0000000
--- a/chroot_version_hooks.d/21_grub_downgrade
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright (c) 2011 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.
-
-CLEAN_DELAY=0 sudo emerge --unmerge =sys-boot/grub-1.99-r2
-
-exit 0
-
diff --git a/chroot_version_hooks.d/22_trim_bashrc b/chroot_version_hooks.d/22_trim_bashrc
deleted file mode 100644
index 68a01c6..0000000
--- a/chroot_version_hooks.d/22_trim_bashrc
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2011 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.
-
-# We used to place bashrc niceties into the user's .bashrc. Use
-# profile.d instead.
-
-sudo_clobber /etc/profile.d/chromiumos-niceties.sh << EOF
-# Niceties for interactive logins. (cr) denotes this is a chroot, the
-# __git_branch_ps1 prints current git branch in ./ . The $r behavior is to
-# make sure we don't reset the previous $? value which later formats in
-# $PS1 might rely on.
-PS1='\$(r=\$?; __git_branch_ps1 "(%s) "; exit \$r)'"\${PS1}"
-PS1="(cr) \${PS1}"
-EOF
-
-# Also, get rid of the leftover stuff in the user's .bashrc.
-# These are the two originally added lines:
-STR1='export  PS1='"'"'$(r=$?; __git_branch_ps1 "(%s) "; exit $r)'"'"'"${PS1}"'
-STR2='export PS1="(cr) ${PS1}"'
-
-sed -e "/${STR1}/d" -e "/${STR2}/d" -i ~/.bashrc
-
-exit 0
diff --git a/chroot_version_hooks.d/23_vcs_migration b/chroot_version_hooks.d/23_vcs_migration
deleted file mode 100644
index 2a40ff3..0000000
--- a/chroot_version_hooks.d/23_vcs_migration
+++ /dev/null
@@ -1,13 +0,0 @@
-# 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.
-
-# The dev-util -> dev-vcs migration isn't as smooth as we'd like due to
-# the profiles/updates/ files only applying to packages installed from
-# that overlay.  Force unmerge the old packages if they were not auto
-# migrated for the user.  See https://chromium-review.googlesource.com/13148
-# for some in-depth details.
-
-sudo CLEAN_DELAY=0 emerge -C dev-util/{git,subversion} net-misc/neon
-
-exit 0
diff --git a/chroot_version_hooks.d/24_distfiles_migration b/chroot_version_hooks.d/24_distfiles_migration
deleted file mode 100644
index 52265ea..0000000
--- a/chroot_version_hooks.d/24_distfiles_migration
+++ /dev/null
@@ -1,33 +0,0 @@
-# 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.
-
-# Previously distfiles were stored entirely in the chroot, forcing us
-# to download it everytime.  This content is now stored externally, exposed
-# to the chroot via mount binds.
-#
-# What we're doing here is moving any existing content from the old locations,
-# into the new locations- which will already have a mount bind in place.
-# If it *doesn't*, meaning parallel cros_sdk usage, we just wipe the content
-# (user can redownload it after all).
-#
-# Once that's done, upgrade the chroot directory structure installing
-# syms pointing back to the new location.
-
-upgrade_path() {
-  local src="/var/lib/portage/$1"
-  local dest="/var/cache/distfiles/$2"
-  if [ -L "$src" ]; then
-    # Already upgraded- skip this one.
-    return 0
-  fi
-  # Suppress failures.  User just has to download in that case.
-  sudo find "$src"/ -maxdepth 1 -mindepth 1 -exec sudo mv -t "$dest/" {} + || :
-  sudo rm -rf --one-file-system "$src"
-  sudo ln -s ../../cache/distfiles/"$2" "$src"
-}
-
-upgrade_path distfiles host
-upgrade_path distfiles-target target
-
-exit 0
diff --git a/chroot_version_hooks.d/25_suppress_incremental_build_across_chroot b/chroot_version_hooks.d/25_suppress_incremental_build_across_chroot
deleted file mode 100644
index 62c9aaa..0000000
--- a/chroot_version_hooks.d/25_suppress_incremental_build_across_chroot
+++ /dev/null
@@ -1,37 +0,0 @@
-# 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.
-
-# As of update 24, we preserve distfiles across chroot rebuilds via storing
-# the content outside of the chroot, and binding it in.
-#
-# chromeos-chrome stores its build output in distdir however, which we
-# don't currently want preserved across chroot builds, thus this script
-# pulls the content out to the new location within the chroot.
-
-upgrade_path() {
-  local src="/var/cache/distfiles/target/$2"
-  local dest="/var/cache/chromeos-chrome/$2"
-
-  info "[$1/4] Checking $src vs $dest"
-  if [ -d "$src" ]; then
-    if [ -d "$dest" ]; then
-      # User has already built it- thus wipe the src and use what's in
-      # the chrome specific cache.
-      info "[$1/4] Cleaning $src; this could take a while"
-      sudo rm -rf --one-file-system "$src"
-    else
-      sudo mv "$src" "$dest"
-    fi
-  fi
-}
-
-sudo mkdir -p 0775 /var/cache/chromeos-chrome/
-sudo chown "$USER:portage" /var/cache/chromeos-chrome/
-
-upgrade_path 1 chrome-src
-upgrade_path 2 chrome-src-internal
-upgrade_path 3 chrome-src-custom
-upgrade_path 4 chrome-src-custom-internal
-
-exit 0
diff --git a/chroot_version_hooks.d/26_scrub_old_pkgs b/chroot_version_hooks.d/26_scrub_old_pkgs
deleted file mode 100644
index 829e5b9..0000000
--- a/chroot_version_hooks.d/26_scrub_old_pkgs
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-# We've been dropping packages of late from the target, so make sure the
-# old stuff gets cleaned out.
-
-pkgs=(
-  dev-libs/shflags
-  mail-mta/ssmtp
-  net-libs/gssdp
-  net-libs/gupnp
-  net-mail/mailbase
-  sys-fs/sysfsutils
-  sys-process/cronbase
-  sys-process/vixie-cron
-)
-
-for board_root in /build/* ; do
-  board=${board_root##*/}
-  emerge_board=$(type -P emerge-${board} 2>/dev/null || true)
-  if [[ -x "${emerge_board}" ]]; then
-    CLEAN_DELAY=0 ${emerge_board} -q --unmerge ${pkgs[@]} || true
-    eclean-${board} -d packages || true
-  fi
-done
-
-exit 0
diff --git a/chroot_version_hooks.d/27_64bit_convert_lumpy b/chroot_version_hooks.d/27_64bit_convert_lumpy
deleted file mode 100644
index bd237ca..0000000
--- a/chroot_version_hooks.d/27_64bit_convert_lumpy
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# This is meant to happen immediately after we update these boards
-# from 32bit to 64bit.  It moves the existing build root out of the
-# way and re-creates the build root.  The user must remove the copy
-# of the old build root manually if it is not needed.
-
-board="lumpy"
-build="/build/${board}"
-if [[ -d ${build} ]] ; then
-  info "Moving 32bit ${board} to ${board}.32bit"
-  info "If you don't need it, please run "
-  info "sudo rm -rf --one-file-system ${build}.32bit"
-  sudo mv ${build}{,.32bit}
-  info "Running setup_board --board=${board}"
-  ~/trunk/src/scripts/setup_board --board=${board} --skip_chroot_upgrade
-fi
diff --git a/chroot_version_hooks.d/28_deselect_cross_compilers b/chroot_version_hooks.d/28_deselect_cross_compilers
deleted file mode 100644
index 1db382e..0000000
--- a/chroot_version_hooks.d/28_deselect_cross_compilers
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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.
-
-# There was a bug in the setup_board script where it added the cross-compilers
-# to the @world set.  Make sure we don't do that since letting emerge do the
-# upgrade rather than crossdev (currently) doesn't work.
-
-world="/var/lib/portage/world"
-if [[ -e ${world} ]] ; then
-  sudo sed -i '/^cross-/d' "${world}"
-fi
-
-exit 0
diff --git a/chroot_version_hooks.d/29_64bit_convert_stumpy b/chroot_version_hooks.d/29_64bit_convert_stumpy
deleted file mode 100644
index 2660d60..0000000
--- a/chroot_version_hooks.d/29_64bit_convert_stumpy
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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.
-
-# This is meant to happen immediately after we update these boards
-# from 32bit to 64bit.  It moves the existing build root out of the
-# way and re-creates the build root.  The user must remove the copy
-# of the old build root manually if it is not needed.
-
-board="stumpy"
-build="/build/${board}"
-if [[ -d ${build} ]] ; then
-  info "Moving 32bit ${board} to ${board}.32bit"
-  info "If you don't need it, please run "
-  info "sudo rm -rf --one-file-system ${build}.32bit"
-  sudo mv ${build}{,.32bit}
-  info "Running setup_board --board=${board}"
-  ~/trunk/src/scripts/setup_board --board=${board} --skip_chroot_upgrade
-fi
diff --git a/chroot_version_hooks.d/2_path_update b/chroot_version_hooks.d/2_path_update
deleted file mode 100644
index 6372e5f..0000000
--- a/chroot_version_hooks.d/2_path_update
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2011 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.
-
-target="/etc/env.d/99chromiumos"
-sudo_clobber "${target}" <<EOF
-PATH=/home/$USER/trunk/chromite/bin:/home/$USER/depot_tools
-CROS_WORKON_SRCROOT=/home/$USER/trunk
-PORTAGE_USERNAME=$USER
-EOF
-
-sudo env-update
-
-info "Chroot upgraded to version 2: PATH is updated globally"
-exit 0
diff --git a/chroot_version_hooks.d/30_crossdev_metadata b/chroot_version_hooks.d/30_crossdev_metadata
deleted file mode 100644
index 23b64e2..0000000
--- a/chroot_version_hooks.d/30_crossdev_metadata
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-# Newer crossdev will create a metadata layout for us, but the older one used
-# a symlink for the dir, and crossdev won't auto-migrate for us.  Delete the
-# symlink and automatically seed a file that crossdev will update itself.  We
-# can't just delete the symlink and wait for setup_board to run as that will
-# break the metadata lookup needed by the cross-compilers in the meantime.
-
-dir="/usr/local/portage/crossdev"
-if [[ ! -d ${dir} || ! -L ${dir}/metadata ]] ; then
-  # Nothing for us to do.  Great! (?)
-  exit 0
-fi
-
-set -e
-
-cd "${dir}"
-sudo rm -f metadata
-sudo mkdir metadata
-sudo_clobber metadata/layout.conf <<-EOF
-# Autogenerated and managed by crossdev
-# Delete the above line if you want to manage this file yourself
-masters = chromiumos portage-stable
-EOF
-
-exit 0
diff --git a/chroot_version_hooks.d/31_64bit_convert_atom b/chroot_version_hooks.d/31_64bit_convert_atom
deleted file mode 100644
index 35a86ef..0000000
--- a/chroot_version_hooks.d/31_64bit_convert_atom
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-# This is meant to happen immediately after we update these boards
-# from 32bit to 64bit.  It moves the existing build root out of the
-# way and re-creates the build root.  The user must remove the copy
-# of the old build root manually if it is not needed.
-
-for board in x86-mario x86-alex x86-zgb ; do
-  build="/build/${board}"
-  if [[ -d ${build} ]] ; then
-    info "Moving 32bit ${board} to ${board}.32bit"
-    info "If you don't need it, please run "
-    info "sudo rm -rf --one-file-system ${build}.32bit"
-    sudo mv ${build}{,.32bit}
-    info "Running setup_board --board=${board}"
-    ~/trunk/src/scripts/setup_board --board=${board} --skip_chroot_upgrade
-  fi
-done
diff --git a/chroot_version_hooks.d/32_scrub_old_pkgs b/chroot_version_hooks.d/32_scrub_old_pkgs
deleted file mode 100644
index 88f8573..0000000
--- a/chroot_version_hooks.d/32_scrub_old_pkgs
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-# We've been migrating packages of late, so make sure the old stuff gets
-# cleaned out.
-
-pkgs=(
-  dev-util/cvs
-  dev-util/cvsps
-  dev-util/git
-  dev-util/subversion
-  '<=media-libs/jpeg-6b-r9:62'
-  '<media-libs/libpng-1.2.45-r2:1.2'
-  net-misc/neon
-  sys-apps/parted
-)
-
-for board_root in /build/* ; do
-  board=${board_root##*/}
-  emerge_board=$(type -P emerge-${board} 2>/dev/null || true)
-  if [[ -x "${emerge_board}" ]]; then
-    CLEAN_DELAY=0 ${emerge_board} -q --unmerge "${pkgs[@]}" || true
-    eclean-${board} -d packages || true
-  fi
-done
-
-exit 0
diff --git a/chroot_version_hooks.d/33_remove_requests b/chroot_version_hooks.d/33_remove_requests
deleted file mode 100644
index 04c7b50..0000000
--- a/chroot_version_hooks.d/33_remove_requests
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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.
-
-# We intended to use some extra python modules for autotest in the chroot,
-# but decided against it.  They're removed from hard-host-depends in
-# https://chromium-review.googlesource.com/21816
-
-
-pkgs=( dev-python/requests dev-python/chardet dev-python/certifi )
-sudo CLEAN_DELAY=0 emerge -q --unmerge "${pkgs[@]}"
-exit 0
diff --git a/chroot_version_hooks.d/34_arm_softfp_to_hardfp b/chroot_version_hooks.d/34_arm_softfp_to_hardfp
deleted file mode 100644
index 9a05dd7..0000000
--- a/chroot_version_hooks.d/34_arm_softfp_to_hardfp
+++ /dev/null
@@ -1,26 +0,0 @@
-# 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.
-
-# For people who have arm builds with softfp, automatically move them
-# away so we can deploy them with hardfp.
-# See also 29_64bit_convert_stumpy.
-
-# In case the dev has no arm boards.
-shopt -s nullglob
-
-for ldso in /build/*/lib/ld-linux.so.3; do
-  # See if this is an ARM softfp ldso.
-  if ! readelf -A "${ldso}" | grep -q Tag_ABI_VFP_args; then
-    build=${ldso%/lib/*}
-    board=${build##*/}
-    info "Migrating ${board} to ${board}.softfp"
-    info "If you don't need it, please run "
-    info "sudo rm -rf --one-file-system ${build}.softfp"
-    sudo mv ${build}{,.softfp}
-    info "Running setup_board --board=${board}"
-    ~/trunk/src/scripts/setup_board \
-      --board=${board} \
-      --skip_chroot_upgrade
-  fi
-done
diff --git a/chroot_version_hooks.d/35_64bit_convert_2gb_boards b/chroot_version_hooks.d/35_64bit_convert_2gb_boards
deleted file mode 100644
index b8d3bf5..0000000
--- a/chroot_version_hooks.d/35_64bit_convert_2gb_boards
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-# This is meant to happen immediately after we update these boards
-# from 64bit to 32bit.  It moves the existing build root out of the
-# way and re-creates the build root.  The user must remove the copy
-# of the old build root manually if it is not needed.
-
-for board in x86-mario x86-alex x86-zgb x86-alex_he x86-zgb_he kiev; do
-  build="/build/${board}"
-  if [[ -d ${build} ]] ; then
-    info "Moving 64bit ${board} to ${board}.64bit"
-    info "If you don't need it, please run "
-    info "sudo rm -rf --one-file-system ${build}.64bit"
-    sudo mv ${build}{,.64bit}
-    info "Running setup_board --board=${board}"
-    ~/trunk/src/scripts/setup_board --board=${board} --skip_chroot_upgrade
-  fi
-done
diff --git a/chroot_version_hooks.d/36_rebuild_openssl b/chroot_version_hooks.d/36_rebuild_openssl
deleted file mode 100644
index 82e7dd8..0000000
--- a/chroot_version_hooks.d/36_rebuild_openssl
+++ /dev/null
@@ -1,9 +0,0 @@
-# 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.
-
-# Rebuild openssl to pick up the 0.9.8 -> 1.0.1 ABI change. Fetch everything
-# first, since this upgrade will break curl.
-sudo ~/trunk/chromite/bin/parallel_emerge -uDNvgf --rebuilt-binaries world
-sudo ~/trunk/chromite/bin/parallel_emerge -uDNvg --rebuilt-binaries world
-sudo update-ca-certificates
diff --git a/chroot_version_hooks.d/37_remove_conflicting_linux_headers b/chroot_version_hooks.d/37_remove_conflicting_linux_headers
deleted file mode 100644
index 938dd31..0000000
--- a/chroot_version_hooks.d/37_remove_conflicting_linux_headers
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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.
-
-# This fixes a problem, where some chroots have old cross linux-headers
-# installed with invalid slot settings, conflicting with the proper new
-# ones.
-
-TARGETS="arm-none-eabi
-armv7a-cros-linux-gnueabi
-i686-pc-linux-gnu
-x86_64-cros-linux-gnu
-x86_64-pc-linux-gnu"
-
-VERSION=3.4
-
-ATOMS=(
-  $(printf "<cross-%s/linux-headers-${VERSION} " $TARGETS)
-)
-
-sudo emerge --unmerge "${ATOMS[@]}"
diff --git a/chroot_version_hooks.d/38_host_userpriv b/chroot_version_hooks.d/38_host_userpriv
deleted file mode 100644
index 9b29705..0000000
--- a/chroot_version_hooks.d/38_host_userpriv
+++ /dev/null
@@ -1,7 +0,0 @@
-# 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.
-
-# The previous one had a bug, so we moved it to 39 and fixed the bug
-# (missing -H flag to find).
-exit 0
diff --git a/chroot_version_hooks.d/39_host_userpriv_better b/chroot_version_hooks.d/39_host_userpriv_better
deleted file mode 100644
index 056c9cf..0000000
--- a/chroot_version_hooks.d/39_host_userpriv_better
+++ /dev/null
@@ -1,17 +0,0 @@
-# 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.
-
-# Migrate to userpriv for building things.  We need to clean out old
-# dirs that might have files owned by root:root.
-
-eval $(portageq envvar -v PORTAGE_{TMPDIR,USERNAME,GRPNAME} DISTDIR PKGDIR)
-: ${PORTAGE_TMPDIR:=/var/tmp/portage}
-: ${PORTAGE_USERNAME:=${USER}}
-: ${PORTAGE_GRPNAME:=portage}
-: ${DISTDIR:=/var/cache/distfiles/host}
-: ${PKGDIR:=/var/lib/portage/pkgs}
-
-exec sudo find -H "${PORTAGE_TMPDIR}" "${DISTDIR}" "${PKGDIR}" \
-  '(' -uid 0 -o -gid 0 ')' \
-  -exec chown -h "${PORTAGE_USERNAME}:${PORTAGE_GRPNAME}" {} +
diff --git a/chroot_version_hooks.d/3_libtool_update b/chroot_version_hooks.d/3_libtool_update
deleted file mode 100644
index 072c2ad..0000000
--- a/chroot_version_hooks.d/3_libtool_update
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (c) 2011 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.
-
-update_pkgconfig_wrapper() {
-  local board="$1"
-  local board_root="/build/${board}"
-  local target="/usr/local/bin/pkg-config-${board}"
-  sudo_clobber "${target}" <<EOF
-#!/bin/bash
-
-PKG_CONFIG_LIBDIR="${board_root}/usr/lib/pkgconfig"
-PKG_CONFIG_LIBDIR="\${PKG_CONFIG_LIBDIR}:${board_root}/usr/share/pkgconfig"
-export PKG_CONFIG_LIBDIR
-
-export PKG_CONFIG_SYSROOT_DIR="${board_root}"
-
-exec pkg-config "\$@"
-EOF
-  sudo chmod a+rx ${target}
-  sudo chown root:root ${target}
-  info "Created wrapper pkg-config for ${board}"
-
-  local board_setup="${board_root}/etc/make.conf.board_setup"
-  if ! grep -q PKG_CONFIG "${board_setup}"; then
-    info "Added PKG_CONFIG to ${board_setup}"
-    sudo_append "${board_setup}" <<EOF
-PKG_CONFIG="pkg-config-${board}"
-EOF
-  fi
-}
-
-info "Deleting masked *.la files for in /usr/lib64"
-sudo find /usr/lib64 -maxdepth 1 \
-  '(' -name 'lib*.la' -not -name 'libltdl.la' ')' -delete
-
-for board_root in /build/*; do
-  if [ -d "${board_root}" ]; then
-    board=$(basename "${board_root}")
-    update_pkgconfig_wrapper "${board}"
-
-    info "Deleting masked *.la files for ${board}"
-    sudo find "${board_root}/usr/lib" -maxdepth 1 \
-      '(' -name 'lib*.la' -not -name 'libltdl.la' ')' -delete
-
-    info "Removing hard-coded paths to ${board_root} in *.pc files"
-    sudo find "${board_root}/usr" -type f -name '*.pc' | xargs sudo \
-      sed -i -e "s|${board_root}/|/|g"
-  fi
-done
-
-info "Chroot upgraded to version 3: libtool upgrade"
-exit 0
diff --git a/chroot_version_hooks.d/40_kernel_headers b/chroot_version_hooks.d/40_kernel_headers
deleted file mode 100644
index 5da8236..0000000
--- a/chroot_version_hooks.d/40_kernel_headers
+++ /dev/null
@@ -1,38 +0,0 @@
-# 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/chroot_version_hooks.d/41_arm_new_hardfp_ldso b/chroot_version_hooks.d/41_arm_new_hardfp_ldso
deleted file mode 100644
index 4baa086..0000000
--- a/chroot_version_hooks.d/41_arm_new_hardfp_ldso
+++ /dev/null
@@ -1,35 +0,0 @@
-# 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.
-
-# For people who have arm builds with the old hardfp ldso name,
-# automatically move them away so we can deploy them with the
-# right path.  This works in tandem with 34_arm_softfp_to_hardfp
-# to make sure we don't rebuild multiple times.
-
-# In case the dev has no arm boards.
-shopt -s nullglob
-
-# Old name: ld-linux.so.3
-# New name: ld-linux-armhf.so.3
-for ldso in /build/*/lib/ld-linux.so.3; do
-  # See if this is an ARM ldso (sanity check).
-  if LC_ALL=C readelf -h "${ldso}" | awk \
-     '$1 == "Machine:" && $2 == "ARM" { found=1 } END { exit !found }'; then
-    build=${ldso%/lib/*}
-    board=${build##*/}
-    if [[ ${board} == *.* ]]; then
-      # For older dirs that have been migrated, skip them.
-      continue
-    fi
-    info "Migrating ${board} to ${board}.old.ldso"
-    info "If you don't need it, please run "
-    info "sudo rm -rf --one-file-system ${build}.old.ldso"
-    if [[ -e ${build}.old.ldso ]]; then
-      sudo rm -rf --one-file-system ${build}.old.ldso
-    fi
-    sudo mv ${build}{,.old.ldso}
-    info "Running setup_board --board=${board}"
-    ~/trunk/src/scripts/setup_board --board=${board} --skip_chroot_upgrade
-  fi
-done
diff --git a/chroot_version_hooks.d/42_arm_new_hardfp_ldso_daisy b/chroot_version_hooks.d/42_arm_new_hardfp_ldso_daisy
deleted file mode 100644
index 3b4e259..0000000
--- a/chroot_version_hooks.d/42_arm_new_hardfp_ldso_daisy
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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.
-
-# Like 41_arm_new_hardfp_ldso, but specifically for daisy.  The daisy
-# PFQ did not regenerate its binpkgs properly, so some people still have
-# old ldso's in /build/ as they pulled down stale binpkgs.
-
-if scanelf -qRiy /build/daisy/ 2>/dev/null | grep -q '^/lib/ld-linux.so.3'; then
-  info "You have a stale daisy build; punting!"
-  sudo rm -rf --one-file-system /build/daisy
-  info "Running setup_board --board=daisy"
-  ~/trunk/src/scripts/setup_board --board=daisy --skip_chroot_upgrade
-fi
diff --git a/chroot_version_hooks.d/43_64bit_convert_kiev b/chroot_version_hooks.d/43_64bit_convert_kiev
deleted file mode 100644
index 8f31b8b..0000000
--- a/chroot_version_hooks.d/43_64bit_convert_kiev
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-# This is meant to happen immediately after we update these boards
-# from 32bit to 64bit.  It moves the existing build root out of the
-# way and re-creates the build root.  The user must remove the copy
-# of the old build root manually if it is not needed.
-
-for board in kiev; do
-  build="/build/${board}"
-  if [[ -d ${build} ]] ; then
-    info "Moving 32bit ${board} to ${board}.32bit"
-    info "If you don't need it, please run "
-    info "sudo rm -rf --one-file-system ${build}.32bit"
-    sudo mv ${build}{,.32bit}
-    info "Running setup_board --board=${board}"
-    ~/trunk/src/scripts/setup_board --board=${board} --skip_chroot_upgrade
-  fi
-done
diff --git a/chroot_version_hooks.d/44_fix_gerrit_chrome b/chroot_version_hooks.d/44_fix_gerrit_chrome
deleted file mode 100644
index 0213af2..0000000
--- a/chroot_version_hooks.d/44_fix_gerrit_chrome
+++ /dev/null
@@ -1,36 +0,0 @@
-# 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 users of CHROME_ORIGIN=GERRIT_SOURCE to the new gerrit-source.xml
-# manifest, as well as setting up the chromium/src repository properly for
-# submodules. crosbug.com/32963.
-
-# We only want to run this hook once.  Since this also gets called from
-# enter_chroot, look for the marker.
-MARKER="/tmp/44_fix_gerrit_chrome"
-if [ -e "${MARKER}" ]; then
-  exit 0
-fi
-
-chrome_workon="=chromeos-base/chromeos-chrome-9999"
-cros_workon_dir="${HOME}/trunk/.config/cros_workon/*"
-manifest="${HOME}/trunk/.repo/manifest.xml"
-
-if grep -q "${chrome_workon}" ${cros_workon_dir} &> /dev/null; then
-  if [ $(readlink "${manifest}") != "manifests/minilayout.xml" ]; then
-    repo selfupdate && repo init -m gerrit-source.xml
-  fi
-fi
-
-chromium_dir="${HOME}/trunk/chromium/src"
-if [ -d "${chromium_dir}" ]; then
-  (
-    cd "${chromium_dir}"
-    ignore_cmd='git config -f $toplevel/.git/config submodule.$name.ignore all'
-    git submodule foreach "${ignore_cmd}" &> /dev/null
-  )
-fi
-
-touch "${MARKER}"
-exit 0
diff --git a/chroot_version_hooks.d/46_64bit_convert_butterfly b/chroot_version_hooks.d/46_64bit_convert_butterfly
deleted file mode 100644
index 02fd204..0000000
--- a/chroot_version_hooks.d/46_64bit_convert_butterfly
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-# This is meant to happen immediately after we update these boards
-# from 64bit to 32bit.  It moves the existing build root out of the
-# way and re-creates the build root.  The user must remove the copy
-# of the old build root manually if it is not needed.
-
-for board in butterfly; do
-  build="/build/${board}"
-  if [[ -d ${build} ]] ; then
-    case ${HOSTNAME:-$(hostname)} in
-    *.golo.chromium.org)
-      # Do not keep on buildbots.
-      sudo rm -rf --one-file-system "${build}"
-      ;;
-    *)
-      info "Moving 64bit ${board} to ${board}.64bit"
-      info "If you don't need it, please run "
-      info "sudo rm -rf --one-file-system ${build}.64bit"
-      sudo mv ${build}{,.64bit}
-      info "Running setup_board --board=${board}"
-      ~/trunk/src/scripts/setup_board --board=${board} --skip_chroot_upgrade
-      ;;
-    esac
-  fi
-done
diff --git a/chroot_version_hooks.d/47_path_overrides b/chroot_version_hooks.d/47_path_overrides
deleted file mode 100644
index 4ca0c6d..0000000
--- a/chroot_version_hooks.d/47_path_overrides
+++ /dev/null
@@ -1,5 +0,0 @@
-# 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.
-
-# Path overrides are no longer in use, so this script is just a placeholder.
diff --git a/chroot_version_hooks.d/48_old_host_pkgs b/chroot_version_hooks.d/48_old_host_pkgs
deleted file mode 100644
index 42ff367..0000000
--- a/chroot_version_hooks.d/48_old_host_pkgs
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-# Clean out some packages that we dropped from hard-host-depends.
-
-pkgs=(
-  dev-libs/eggdbus
-  dev-perl/File-Next
-  dev-python/requests
-  perl-core/MIME-Base64
-  sys-apps/ack
-  sys-apps/fakeroot
-  sys-devel/asan-clang
-)
-sudo CLEAN_DELAY=0 emerge -qC "${pkgs[@]}"
-
-exit 0
diff --git a/chroot_version_hooks.d/49_update_libtool b/chroot_version_hooks.d/49_update_libtool
deleted file mode 100644
index c8693e3..0000000
--- a/chroot_version_hooks.d/49_update_libtool
+++ /dev/null
@@ -1,12 +0,0 @@
-# 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.
-
-# Update libtool to make sure it's in sync with toolchain.
-
-if grep -q 4.6.x-google /usr/bin/libtool; then
-   info "Rebuilding libtool after gcc upgrade"
-   sudo -E emerge libtool -q
-fi
-
-exit 0
diff --git a/chroot_version_hooks.d/4_policykit_removal b/chroot_version_hooks.d/4_policykit_removal
deleted file mode 100644
index 7650996..0000000
--- a/chroot_version_hooks.d/4_policykit_removal
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2011 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.
-
-# 1. Unmerge sys-auth/policykit because it's replaced by polkit.
-# 2. Unmerge sys-boot/chromeos-u-boot-next and friends because it's replaced
-#    by sys-boot/chromeos-u-boot.
-for board_root in /build/*; do
-  if [ -d "${board_root}" ]; then
-    board=$(basename "${board_root}")
-    CLEAN_DELAY=0 emerge-${board} --unmerge sys-auth/policykit \
-      sys-boot/chromeos-u-boot-next-build-env sys-boot/chromeos-u-boot-next \
-      chromeos-base/vboot_reference-firmware || true
-  fi
-done
-
-info "Chroot upgraded to version 4: policykit -> polkit"
-exit 0
diff --git a/chroot_version_hooks.d/50_add_chromite_link b/chroot_version_hooks.d/50_add_chromite_link
deleted file mode 100644
index 357f909..0000000
--- a/chroot_version_hooks.d/50_add_chromite_link
+++ /dev/null
@@ -1,13 +0,0 @@
-# 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.
-python_path=$(python -c 'import sys;print sys.version[:3]')
-python_path="/usr/lib/python${python_path}/site-packages/chromite"
-if [ ! -L "${python_path}" ]; then
-  sudo rm -rf --one-file-system "${python_path}" \
-      "/home/${PORTAGE_USERNAME:-${SUDO_USER:-${USER}}}/.local/lib/python2.6/site-packages/chromite"
-  sudo mkdir -p "$(dirname "${python_path}")"
-  sudo ln -s "${CHROOT_TRUNK_DIR}"/chromite "${python_path}"
-fi
-
-exit 0
diff --git a/chroot_version_hooks.d/51_new_style_virtual_chromeos-bsp b/chroot_version_hooks.d/51_new_style_virtual_chromeos-bsp
deleted file mode 100644
index 8d4cdf2..0000000
--- a/chroot_version_hooks.d/51_new_style_virtual_chromeos-bsp
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Upgrade people to the new style generic virtual/chromeos-bsp.
-
-opkg="chromeos-base/chromeos-bsp-null"
-
-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
-    ${emerge} -Cq ${opkg}
-  fi
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/52_update_dev_install b/chroot_version_hooks.d/52_update_dev_install
deleted file mode 100644
index 03e2527..0000000
--- a/chroot_version_hooks.d/52_update_dev_install
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (c) 2013 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.
-
-# The dev-install package used to install into /etc/portage/ that older portage
-# would ignore, but newer one uses (and fails).  So force all boards to install
-# the latest version.
-
-opkg="chromeos-base/dev-install"
-ver="0.0.1-r427"
-
-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}-${ver}"; then
-    ${emerge} -1ug ">=${opkg}-${ver}"
-  fi
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/53_new_style_virtual_chromeos-bsp-dev b/chroot_version_hooks.d/53_new_style_virtual_chromeos-bsp-dev
deleted file mode 100644
index 949e73a..0000000
--- a/chroot_version_hooks.d/53_new_style_virtual_chromeos-bsp-dev
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Upgrade people to the new style generic virtual/chromeos-bsp-dev.
-
-opkg="chromeos-base/chromeos-bsp-dev-null"
-
-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
-    ${emerge} -Cq ${opkg}
-  fi
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/54_deprecate_flimflam_test b/chroot_version_hooks.d/54_deprecate_flimflam_test
deleted file mode 100644
index f2e2e07..0000000
--- a/chroot_version_hooks.d/54_deprecate_flimflam_test
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Upgrade people to the new style generic virtual/chromeos-bsp-dev.
-
-opkg="chromeos-base/flimflam-test"
-
-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
-    ${emerge} -Cq ${opkg}
-  fi
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/55_rewrite_sudoers.d b/chroot_version_hooks.d/55_rewrite_sudoers.d
deleted file mode 120000
index 091b4ee..0000000
--- a/chroot_version_hooks.d/55_rewrite_sudoers.d
+++ /dev/null
@@ -1 +0,0 @@
-45_rewrite_sudoers.d
\ No newline at end of file
diff --git a/chroot_version_hooks.d/56_upgrade_gdb_SLOT b/chroot_version_hooks.d/56_upgrade_gdb_SLOT
deleted file mode 100644
index fbb17a6..0000000
--- a/chroot_version_hooks.d/56_upgrade_gdb_SLOT
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Fix the SLOT logic while updating gdb.
-cd /var/db/pkg
-for pkg in cross-*/gdb-* ; do
-  [[ -d ${pkg} ]] || break
-  sudo sed -i 's:.*:0:' ${pkg}/SLOT
-  tmpfile=$(mktemp)
-  bzcat ${pkg}/environment.bz2 | sed '/^declare -x SLOT=/s:=.*:=0:' \
-    | bzip2 > "${tmpfile}"
-  sudo mv "${tmpfile}" ${pkg}/environment.bz2
-done
diff --git a/chroot_version_hooks.d/57_upgrade_python_2.6 b/chroot_version_hooks.d/57_upgrade_python_2.6
deleted file mode 100644
index 9de494e..0000000
--- a/chroot_version_hooks.d/57_upgrade_python_2.6
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright (c) 2013 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.
-
-# The python packages install into a versioned dir.  We have to force
-# a rebuild of them all.
-
-set -e
-
-OLD_PY_VER="2.6"
-NEW_PY_VER="2.7"
-
-export CLEAN_DELAY=0
-
-find_pkgs() {
-  (
-
-  # Find pkgs which install .py files into versioned dirs.
-  ${qfile} -CRq "${root}"/usr/{,local/}lib*/python${OLD_PY_VER}
-
-  # Find pkgs which link against libpython2.6.so.
-  sudo scanelf -F'#N%F' -qyR -N libpython${OLD_PY_VER}.so.1.0 \
-    "${root}"/{{,usr/}{opt,lib*,*bin},usr/local} | \
-    xargs -r ${qfile} -CRq
-
-  ) | sort -u
-}
-
-update_python() {
-  # Force upgrade to python-2.7 from python-2.6.
-  if portageq has_version ${root} "dev-lang/python:${OLD_PY_VER}"; then
-    info "${board}: cleaning out dev-lang/python-${OLD_PY_VER}"
-    sudo ${emerge} -qC "dev-lang/python:${OLD_PY_VER}"
-    sudo ${emerge} -q1ug "dev-lang/python:${NEW_PY_VER}"
-  fi
-}
-
-update_pkgs() {
-  # Try and update/rebuild any packages.
-  info "${board}: searching for packages using python-${OLD_PY_VER}"
-  local pkgs=( $(find_pkgs) )
-  if [[ ${#pkgs[*]} -gt 0 ]]; then
-    info "${board}: cleaning out packages"
-    sudo ${emerge} -qC "${pkgs[@]}"
-    if cd "${root}/packages" 2>/dev/null; then
-      sudo rm -f ${pkgs[@]/%/-*.tbz2}
-    fi
-
-    # Note: we allow this stage to fail because the binpkgs might be old
-    # and relying on python-2.6.  Since we nuked that version though, most
-    # will fail to even emerge.
-    info "${board}: trying to update via binpkgs"
-    if ! sudo ${emerge} -q1ug "${pkgs[@]}"; then
-      sudo ${emerge} -q1u "${pkgs[@]}" || :
-    fi
-
-    pkgs=( $(find_pkgs) )
-    if [[ ${#pkgs[*]} -gt 0 ]]; then
-      info "${board}: forcing rebuild from source"
-      sudo ${emerge} -q1 "${pkgs[@]}"
-    fi
-  fi
-
-  sudo rm -rf --one-file-system "${root}"/usr/{,local/}lib*/python${OLD_PY_VER}
-}
-
-b() {
-  local cmd=$1 root=$2 board=$3
-  local emerge="/mnt/host/source/chromite/bin/parallel_emerge"
-  local qfile="qfile"
-  if [[ ${root} != "/" ]]; then
-    emerge+=" --board=${board}"
-    qfile+="-${board}"
-  fi
-  "$@"
-}
-
-update_sdk() {
-  info "Updating python in host sdk"
-
-  # First we install python-2.7.
-  sudo ${emerge} -q1ug "dev-lang/python:${NEW_PY_VER}"
-
-  # Then we try to install as many binpkgs as we can.
-  local pkgs=( $(find_pkgs) )
-  sudo ${emerge} -q1g "${pkgs[@]}" || :
-
-  # Then we fallback to the python cleaner logic to do everything.
-  "${SCRIPTS_DIR}/python_cleaner"
-}
-
-# Update host sdk first before we update the boards.  We have to
-# do this specially since the package manager is based on python.
-b update_sdk / host_sdk
-
-# Update board python in parallel.
-for board_root in /build/*; do
-  board=${board_root##*/}
-  b update_python ${board_root} ${board} &
-done
-wait
-
-# Update board packages in serial (might build from source).
-for board_root in /build/*; do
-  board=${board_root##*/}
-  b update_pkgs ${board_root} ${board}
-done
-
-wait
diff --git a/chroot_version_hooks.d/58_upgrade_python_2.6_binpkgs b/chroot_version_hooks.d/58_upgrade_python_2.6_binpkgs
deleted file mode 100644
index 1126b76..0000000
--- a/chroot_version_hooks.d/58_upgrade_python_2.6_binpkgs
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright (c) 2013 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.
-
-# A bunch of packages run `python_set_active_version 2` in their pkg_setup
-# in order to set the system python interp to version 2.x.  The problem is
-# that it ends up encoding the active python ABI in the binpkg's env.  So
-# when you try to emerge it later, it requires the exact same python ver
-# to be available (e.g. 2.6).  Ignoring the stupidness of this for binpkgs
-# (as there's an open Gentoo bug on the topic), let's force the binpkgs to
-# be rebuilt.
-
-set -e
-
-OLD_PY_VER="2.6"
-
-export CLEAN_DELAY=0
-
-find_pkgs() {
-  find "${root}"/var/db/pkg/ -name environment.bz2 \
-    -exec bzgrep "PYTHON_ABI=\"${OLD_PY_VER}\"" {} + | \
-    sed -r 's:.*/var/db/pkg/(.*)/environment.bz2.*:\1:'
-}
-
-update_pkgs() {
-  # Try and update/rebuild any packages.
-  info "${board}: searching for packages using python-${OLD_PY_VER}"
-  local pkgs=( $(find_pkgs) )
-  if [[ ${#pkgs[*]} -gt 0 ]]; then
-    # Note: we allow this stage to fail because the binpkgs might be old
-    # and relying on python-2.6.  Since we nuked that version though, most
-    # will fail to even emerge.
-    info "${board}: trying to update via binpkgs"
-    sudo ${emerge} -q1g "${pkgs[@]/#/>=}" || :
-
-    pkgs=( $(find_pkgs) )
-    if [[ ${#pkgs[*]} -gt 0 ]]; then
-      info "${board}: forcing rebuild from source"
-      sudo ${emerge} -q1 "${pkgs[@]/#/>=}"
-    fi
-  fi
-}
-
-b() {
-  local cmd=$1 root=$2 board=$3
-  local emerge="/mnt/host/source/chromite/bin/parallel_emerge"
-  local qfile="qfile"
-  if [[ ${root} != "/" ]]; then
-    emerge+=" --board=${board}"
-    qfile+="-${board}"
-  fi
-  "$@"
-}
-
-# Update host sdk first before we update the boards.  We have to
-# do this specially since the package manager is based on python.
-b update_pkgs / host_sdk
-
-# Update board packages in serial (might build from source).
-for board_root in /build/*; do
-  board=${board_root##*/}
-  b update_pkgs ${board_root} ${board}
-done
-
-wait
diff --git a/chroot_version_hooks.d/59_upgrade_autotest_pkgs b/chroot_version_hooks.d/59_upgrade_autotest_pkgs
deleted file mode 100644
index d254a2c..0000000
--- a/chroot_version_hooks.d/59_upgrade_autotest_pkgs
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Remove old versions of autotest-chrome.
-opkg="chromeos-base/autotest-chrome"
-
-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
-    ${emerge} -Cq ${opkg}
-  fi
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/5_symlink_pc_update b/chroot_version_hooks.d/5_symlink_pc_update
deleted file mode 100644
index f666837..0000000
--- a/chroot_version_hooks.d/5_symlink_pc_update
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2011 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.
-
-for board_root in /build/*; do
-  if [ -h "${board_root}" ]; then
-    board=$(basename "${board_root}")
-    info "Removing hard-coded paths to ${board_root} in *.pc files"
-    sudo find "${board_root}/usr" -type f -name '*.pc' | xargs sudo \
-      sed -i -e "s|${board_root}/|/|g"
-  fi
-done
-
-info "Chroot upgraded to version 5: fix symlinked *.pc files"
-exit 0
diff --git a/chroot_version_hooks.d/60_upgrade_autotest_pkgs b/chroot_version_hooks.d/60_upgrade_autotest_pkgs
deleted file mode 100644
index c8e5223..0000000
--- a/chroot_version_hooks.d/60_upgrade_autotest_pkgs
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Remove old versions of these packages.
-pkgs="chromeos-base/autotest-deps chromeos-base/autotest-tests"
-
-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
-
-  for opkg in ${pkgs}; do
-    if portageq has_version ${root} ${opkg}; then
-      ${emerge} -Cq ${opkg}
-    fi
-  done
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/61_upgrade_autotest_pkgs b/chroot_version_hooks.d/61_upgrade_autotest_pkgs
deleted file mode 100644
index c8e5223..0000000
--- a/chroot_version_hooks.d/61_upgrade_autotest_pkgs
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Remove old versions of these packages.
-pkgs="chromeos-base/autotest-deps chromeos-base/autotest-tests"
-
-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
-
-  for opkg in ${pkgs}; do
-    if portageq has_version ${root} ${opkg}; then
-      ${emerge} -Cq ${opkg}
-    fi
-  done
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/62_upgrade_autotest_pkgs b/chroot_version_hooks.d/62_upgrade_autotest_pkgs
deleted file mode 100644
index 1c92187..0000000
--- a/chroot_version_hooks.d/62_upgrade_autotest_pkgs
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Remove old versions of these packages.
-pkgs="chromeos-base/autotest-chrome"
-
-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
-
-  for opkg in ${pkgs}; do
-    if portageq has_version ${root} ${opkg}; then
-      ${emerge} -Cq ${opkg}
-    fi
-  done
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/63_parrot_go_public b/chroot_version_hooks.d/63_parrot_go_public
deleted file mode 100644
index d8b6d6d..0000000
--- a/chroot_version_hooks.d/63_parrot_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=parrot
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/64_upgrade_autotest_pkgs b/chroot_version_hooks.d/64_upgrade_autotest_pkgs
deleted file mode 100644
index 1c92187..0000000
--- a/chroot_version_hooks.d/64_upgrade_autotest_pkgs
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Remove old versions of these packages.
-pkgs="chromeos-base/autotest-chrome"
-
-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
-
-  for opkg in ${pkgs}; do
-    if portageq has_version ${root} ${opkg}; then
-      ${emerge} -Cq ${opkg}
-    fi
-  done
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/65_upgrade_autotest_pkgs b/chroot_version_hooks.d/65_upgrade_autotest_pkgs
deleted file mode 100644
index 2b8d43c..0000000
--- a/chroot_version_hooks.d/65_upgrade_autotest_pkgs
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Remove old versions of network_DestinationVerification.
-opkg="chromeos-base/autotest-private-tests-destinationverification"
-
-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
-    ${emerge} -Cq ${opkg}
-  fi
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/66_set_system_java_vm b/chroot_version_hooks.d/66_set_system_java_vm
deleted file mode 100644
index 3fc37bf..0000000
--- a/chroot_version_hooks.d/66_set_system_java_vm
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright (c) 2013 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.
-
-# The sdk creation phase was not selecting a default VM, so we have to do
-# this for older sdk versions.
-
-exec sudo java-config --set-system-vm 1
diff --git a/chroot_version_hooks.d/67_64bit_convert_parrot b/chroot_version_hooks.d/67_64bit_convert_parrot
deleted file mode 100644
index c620be9..0000000
--- a/chroot_version_hooks.d/67_64bit_convert_parrot
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2013 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.
-
-# This is meant to happen immediately after we update these boards
-# from 32bit to 64bit.  It moves the existing build root out of the
-# way and re-creates the build root.  The user must remove the copy
-# of the old build root manually if it is not needed.
-
-board="parrot"
-build="/build/${board}"
-if [[ -d ${build} ]] ; then
-  info "Moving 32bit ${board} to ${board}.32bit"
-  info "If you don't need it, please run "
-  info "sudo rm -rf --one-file-system ${build}.32bit"
-  sudo mv ${build}{,.32bit}
-  info "Running setup_board --board=${board}"
-  ~/trunk/src/scripts/setup_board --board=${board} --skip_chroot_upgrade
-fi
diff --git a/chroot_version_hooks.d/68_peppy_go_public b/chroot_version_hooks.d/68_peppy_go_public
deleted file mode 100644
index 3f29f8d..0000000
--- a/chroot_version_hooks.d/68_peppy_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=peppy
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/69_unmerge_chrome b/chroot_version_hooks.d/69_unmerge_chrome
deleted file mode 100644
index daab990..0000000
--- a/chroot_version_hooks.d/69_unmerge_chrome
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Remove old versions of chromeos-chrome
-opkg="chromeos-base/chromeos-chrome"
-
-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
-    ${emerge} -Cq ${opkg}
-  fi
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/6_mobile_broadband_removal b/chroot_version_hooks.d/6_mobile_broadband_removal
deleted file mode 100644
index 5d3806c..0000000
--- a/chroot_version_hooks.d/6_mobile_broadband_removal
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2011 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.
-
-# Unmerge net-misc/mobile-broadband-provider-info because it's
-# been replaced by chromeos-base/mobile-providers.
-for board_root in /build/*; do
-  if [ -d "${board_root}" ]; then
-    board=$(basename "${board_root}")
-    CLEAN_DELAY=0 emerge-${board} \
-      --unmerge net-misc/mobile-broadband-provider-info || true
-  fi
-done
-
-info "Chroot upgraded to version 6: mobile-broadband-provider-info removed"
-exit 0
diff --git a/chroot_version_hooks.d/70_unmerge_chrome b/chroot_version_hooks.d/70_unmerge_chrome
deleted file mode 100644
index daab990..0000000
--- a/chroot_version_hooks.d/70_unmerge_chrome
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Remove old versions of chromeos-chrome
-opkg="chromeos-base/chromeos-chrome"
-
-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
-    ${emerge} -Cq ${opkg}
-  fi
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/71_stout_go_public b/chroot_version_hooks.d/71_stout_go_public
deleted file mode 100644
index a973cb9..0000000
--- a/chroot_version_hooks.d/71_stout_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=stout
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/72_rambi_go_public b/chroot_version_hooks.d/72_rambi_go_public
deleted file mode 100644
index 845ec7b..0000000
--- a/chroot_version_hooks.d/72_rambi_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=rambi
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/73_link_go_public b/chroot_version_hooks.d/73_link_go_public
deleted file mode 100644
index c65987b..0000000
--- a/chroot_version_hooks.d/73_link_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=link
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/74_leon_go_public b/chroot_version_hooks.d/74_leon_go_public
deleted file mode 100644
index bc40cd9..0000000
--- a/chroot_version_hooks.d/74_leon_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=leon
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/75_falco_go_public b/chroot_version_hooks.d/75_falco_go_public
deleted file mode 100644
index 581a7d8..0000000
--- a/chroot_version_hooks.d/75_falco_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=falco
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/76_spring_go_public b/chroot_version_hooks.d/76_spring_go_public
deleted file mode 100644
index 9585749..0000000
--- a/chroot_version_hooks.d/76_spring_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=daisy_spring
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/77_butterfly_go_public b/chroot_version_hooks.d/77_butterfly_go_public
deleted file mode 100644
index 4d387dd..0000000
--- a/chroot_version_hooks.d/77_butterfly_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=butterfly
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/78_zgb_go_public b/chroot_version_hooks.d/78_zgb_go_public
deleted file mode 100644
index 4d822ad..0000000
--- a/chroot_version_hooks.d/78_zgb_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-for b in x86-zgb{,_he}; do
-  if [[ -d /build/${b} ]]; then
-    ~/trunk/src/scripts/setup_board \
-      --board=${b} \
-      --skip_chroot_upgrade \
-      --regen_configs
-  fi
-done
diff --git a/chroot_version_hooks.d/79_toolchain_revert_clear_buildroots b/chroot_version_hooks.d/79_toolchain_revert_clear_buildroots
deleted file mode 100644
index ed14d66..0000000
--- a/chroot_version_hooks.d/79_toolchain_revert_clear_buildroots
+++ /dev/null
@@ -1,6 +0,0 @@
-# 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.
-
-# Placeholder, see 81_toolchain_downgrade.
-true
diff --git a/chroot_version_hooks.d/7_host_gcc_upgrade b/chroot_version_hooks.d/7_host_gcc_upgrade
deleted file mode 100644
index 099c6ea..0000000
--- a/chroot_version_hooks.d/7_host_gcc_upgrade
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2011 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.
-
-# This is a generic script for upgrading the host toolchain. It should:
-# - be able to run repeatedly, in case someone has ancient chroot with
-#   several missed gcc upgrades
-# - be easily tweakable for future upgrades of the same kind, if needed
-
-CHOST="$(portageq envvar CHOST)"
-
-# This is the lowest we want to go in this particular case.
-MINIMUM_GCC="4.4.6"
-
-env_setup() {
-  GCC_VERSIONS="$(gcc-config -l | grep "${CHOST}" | \
-                  cut -f3 -d' ')"
-  GCC_LATEST="$(gcc-config -l | grep "${CHOST}" | tail -n1 | \
-                  cut -f3 -d' ')"
-}
-
-env_setup
-
-if ! [ "$(portageq match / ">=sys-devel/gcc-${MINIMUM_GCC}")" ];
-then
-  info "You don't have the latest gcc installed, trying to build it"
-  if ! sudo emerge -u --getbinpkg sys-devel/gcc; then
-    error "Emerging gcc failed. Please recreate your chroot."
-    exit 1
-  fi
-  if ! [ "$(portageq match / ">=sys-devel/gcc-${MINIMUM_GCC}")" ];
-  then
-    error "You still don't have the latest gcc. Something is very"
-    error "wrong with your tree. Recreating your chroot will likely fix it."
-    exit 1
-  fi
-fi
-
-env_setup
-
-info "Updating the host toolchain. crosbug.com/19613"
-info "Currently installed host gcc versions: $(echo -n ${GCC_VERSIONS})"
-
-if ! sudo gcc-config "${GCC_LATEST}"; then
-  error "gcc-config failed. This is really bad. Recreate your chroot."
-  exit 1
-fi
-
-info "Cleaning up the old toolchain"
-sudo emerge --unmerge "<sys-devel/gcc-${MINIMUM_GCC}"
-
-exit 0
diff --git a/chroot_version_hooks.d/80_remove_chrome_artifacts b/chroot_version_hooks.d/80_remove_chrome_artifacts
deleted file mode 100644
index b0cf642..0000000
--- a/chroot_version_hooks.d/80_remove_chrome_artifacts
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Placeholder, see 81_toolchain_downgrade.
-true
diff --git a/chroot_version_hooks.d/81_toolchain_downgrade b/chroot_version_hooks.d/81_toolchain_downgrade
deleted file mode 100644
index 60e91f2..0000000
--- a/chroot_version_hooks.d/81_toolchain_downgrade
+++ /dev/null
@@ -1,24 +0,0 @@
-# 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.
-
-# This is to clear the build roots for all boards to cope with a
-# toolchain revert.
-for board_root in /build/* ; do
-  board=${board_root##*/}
-  emerge_board=$(type -P emerge-${board} 2>/dev/null || true)
-  if [[ -x "${emerge_board}" ]]; then
-    # It is a valid baord.
-    build="/build/${board}"
-    if [[ -d ${build} ]] ; then
-      # The board has a build root to clear.
-      info "Deleting ${board} build root at ${build}"
-      sudo rm -rf --one-file-system ${build}
-      info "Running setup_board --board=${board}"
-      ~/trunk/src/scripts/setup_board --board=${board} --skip_chroot_upgrade
-    fi
-  fi
-done
-
-# Delete Chrome artifacts.
-sudo rm -rf --one-file-system /var/cache/chromeos-chrome/* || true
diff --git a/chroot_version_hooks.d/82_module-init-tools_cleanup b/chroot_version_hooks.d/82_module-init-tools_cleanup
deleted file mode 100644
index 462c4cb..0000000
--- a/chroot_version_hooks.d/82_module-init-tools_cleanup
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We've migrated to kmod now.  Force existing builds to shift over too.
-
-export CLEAN_DELAY=0
-
-cleanit() {
-  local root=$1
-  sudo emerge --root "${root}" -Cq sys-apps/module-init-tools
-}
-
-cleanit / &
-for board_root in /build/*; do
-  cleanit "${board_root}" &
-done
-wait
diff --git a/chroot_version_hooks.d/83_64bit_convert_butterfly b/chroot_version_hooks.d/83_64bit_convert_butterfly
deleted file mode 100644
index 42a1a35..0000000
--- a/chroot_version_hooks.d/83_64bit_convert_butterfly
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2013 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.
-
-# This is meant to happen immediately after we update these boards
-# from 32bit to 64bit.  It moves the existing build root out of the
-# way and re-creates the build root.  The user must remove the copy
-# of the old build root manually if it is not needed.
-
-board="butterfly"
-build="/build/${board}"
-if [[ -d ${build} ]] ; then
-  info "Moving 32bit ${board} to ${board}.32bit"
-  info "If you don't need it, please run "
-  info "sudo rm -rf --one-file-system ${build}.32bit"
-  sudo mv ${build}{,.32bit}
-  info "Running setup_board --board=${board}"
-  ~/trunk/src/scripts/setup_board --board=${board} --skip_chroot_upgrade
-fi
diff --git a/chroot_version_hooks.d/84_enable_eclass_overlay b/chroot_version_hooks.d/84_enable_eclass_overlay
deleted file mode 100644
index 5bfd492..0000000
--- a/chroot_version_hooks.d/84_enable_eclass_overlay
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (c) 2013 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.
-
-# This symlink is dead and we no longer care.
-sudo rm -f /usr/portage
-
-# This is the new eclass overlay we want to use.
-sudo ln -sfT /mnt/host/source/src/third_party/eclass-overlay \
-  /usr/local/portage/eclass-overlay
diff --git a/chroot_version_hooks.d/85_unmerge_argparse b/chroot_version_hooks.d/85_unmerge_argparse
deleted file mode 100644
index 30791de..0000000
--- a/chroot_version_hooks.d/85_unmerge_argparse
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2013 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.
-
-# Remove old versions of chromeos-chrome
-opkg="dev-python/argparse"
-
-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
-    ${emerge} -Cq ${opkg}
-  fi
-}
-
-update / &
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/86_wolf_go_public b/chroot_version_hooks.d/86_wolf_go_public
deleted file mode 100644
index d243797..0000000
--- a/chroot_version_hooks.d/86_wolf_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2013 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=wolf
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/87_panther_go_public b/chroot_version_hooks.d/87_panther_go_public
deleted file mode 100644
index df5fd43..0000000
--- a/chroot_version_hooks.d/87_panther_go_public
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2014 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-BOARD=panther
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/88_clean_old_modules b/chroot_version_hooks.d/88_clean_old_modules
deleted file mode 100644
index b4b3947..0000000
--- a/chroot_version_hooks.d/88_clean_old_modules
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2014 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.
-
-# When upgrading kernels, old modules might get left behind.
-# Clean them out now that our builds pay attention to them.
-
-update() {
-  local root=$1 board=$2
-  local dir="${root}/lib/modules"
-
-  # Maybe the board hasn't had any kernel packages installed yet.
-  if [[ ! -d ${dir} ]]; then
-    return 0
-  fi
-
-  # Use qfile's orphans option to locate unowned files.
-  ROOT=${root} \
-  find "${dir}" -xdev -type f -exec \
-    qfile -R -o {} + | xargs sudo rm -fv
-
-  # Now trim any possibly empty dirs.
-  find "${dir}" -xdev -depth -mindepth 1 -type d -exec rmdir {} + 2>/dev/null
-}
-
-for board_root in /build/*; do
-  board=${board_root##*/}
-  update ${board_root} ${board} &
-done
-
-wait
diff --git a/chroot_version_hooks.d/89_migrate_to_target-sdk b/chroot_version_hooks.d/89_migrate_to_target-sdk
deleted file mode 100644
index 52e599c..0000000
--- a/chroot_version_hooks.d/89_migrate_to_target-sdk
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright 2014 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.
-
-# Some people have hard-host-depends listed in their @world set which causes
-# binpkg-only upgrades to fail: we aren't building this package anymore as
-# we've converted everyone to virtual/target-sdk.  So clean it out.
-
-sudo sed -i -e '/^chromeos-base\/hard-host-depends/d' /var/lib/portage/world
-sudo qmerge -yU chromeos-base/hard-host-depends
diff --git a/chroot_version_hooks.d/8_unmerge_gmp b/chroot_version_hooks.d/8_unmerge_gmp
deleted file mode 100644
index f5dbb43..0000000
--- a/chroot_version_hooks.d/8_unmerge_gmp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2011 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.
-
-# Unmerge dev-libs/gmp in all boards where it's still linked against the old
-# version.
-for board_root in /build/*; do
-  board=$(basename "${board_root}")
-  emerge_board=$(which emerge-${board} 2>/dev/null || true)
-  scanelf_out=$(scanelf -qn ${board_root}/usr/lib/libgmpxx.so.4 || true)
-  if [ -x "${emerge_board}" ] && [[ "$scanelf_out" == *libgmp.so.3* ]]; then
-    CLEAN_DELAY=0 ${emerge_board} --unmerge dev-libs/gmp || true
-    eclean-${board} -d packages || true
-  fi
-done
-
-info "Chroot upgraded to version 8: Unmerge old dev-libs/gmp"
-exit 0
diff --git a/chroot_version_hooks.d/90_migrate_to_target-os b/chroot_version_hooks.d/90_migrate_to_target-os
deleted file mode 100644
index 7c27b27..0000000
--- a/chroot_version_hooks.d/90_migrate_to_target-os
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2014 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.
-
-# Some people have chromeos-base/chromeos listed in their @world set which
-# causes binpkg-only upgrades to fail: we aren't building this package
-# anymore as we've converted everyone to virtual/target-os.  So clean it out.
-
-package="chromeos-base/chromeos"
-
-sudo sed -i -e "/^${package//\//\/}$/d" /build/*/var/lib/portage/world
-for sysroot in /build/*; do
-  if qlist --root "${sysroot}" -ICe ${package} >&/dev/null; then
-    info "Cleaning ${package} from ${sysroot}"
-    sudo qmerge --root "${sysroot}" -yU ${package}
-  fi
-done
diff --git a/chroot_version_hooks.d/91_migrate_to_target-os-dev b/chroot_version_hooks.d/91_migrate_to_target-os-dev
deleted file mode 100644
index 4a3e91d..0000000
--- a/chroot_version_hooks.d/91_migrate_to_target-os-dev
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2014 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.
-
-# Some people have chromeos-base/chromeos-dev listed in their @world set which
-# causes binpkg-only upgrades to fail: we aren't building this package anymore
-# as we've converted everyone to virtual/target-os-dev.  So clean it out.
-
-package="chromeos-base/chromeos-dev"
-
-sudo sed -i -e "/^${package//\//\/}$/d" /build/*/var/lib/portage/world
-for sysroot in /build/*; do
-  if qlist --root "${sysroot}" -ICe ${package} >&/dev/null; then
-    info "Cleaning ${package} from ${sysroot}"
-    sudo qmerge --root "${sysroot}" -yU ${package}
-  fi
-done
diff --git a/chroot_version_hooks.d/92_migrate_to_target-os-test b/chroot_version_hooks.d/92_migrate_to_target-os-test
deleted file mode 100644
index a68998f..0000000
--- a/chroot_version_hooks.d/92_migrate_to_target-os-test
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2014 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.
-
-# Some people have chromeos-base/chromeos-test listed in their @world set which
-# causes binpkg-only upgrades to fail: we aren't building this package anymore
-# as we've converted everyone to virtual/target-os-test.  So clean it out.
-
-package="chromeos-base/chromeos-test"
-
-sudo sed -i -e "/^${package//\//\/}$/d" /build/*/var/lib/portage/world
-for sysroot in /build/*; do
-  if qlist --root "${sysroot}" -ICe ${package} >&/dev/null; then
-    info "Cleaning ${package} from ${sysroot}"
-    sudo qmerge --root "${sysroot}" -yU ${package}
-  fi
-done
diff --git a/chroot_version_hooks.d/93_clean_make.globals b/chroot_version_hooks.d/93_clean_make.globals
deleted file mode 100644
index bba579b..0000000
--- a/chroot_version_hooks.d/93_clean_make.globals
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright 2014 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.
-
-# The /etc/make.globals file is no longer used, so delete old symlinks to it.
-
-exec sudo rm -f /etc/make.globals /build/*/etc/make.globals
diff --git a/chroot_version_hooks.d/94_clean_platform2_cache b/chroot_version_hooks.d/94_clean_platform2_cache
deleted file mode 100644
index 2969aae..0000000
--- a/chroot_version_hooks.d/94_clean_platform2_cache
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2014 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.
-
-# We did some change to platform2's build process. The blocker logic is not
-# working when we are cros_working on a package so we need to do more.
-#
-# This forces platform2 to be uninstalled and clears the cache.
-# A more permanent fix is on the way.
-
-package="chromeos-base/platform2-9999"
-
-for sysroot in /build/* /; do
-  (
-  if ROOT="${sysroot}" qlist -IC ${package} >&/dev/null; then
-    info "Cleaning ${package} from ${sysroot}"
-    sudo ROOT="${sysroot}" qmerge -yqU ${package}
-  fi
-  sudo rm -rf "${sysroot}"/var/cache/portage/chromeos-base/platform2
-  ) &
-done
-wait
diff --git a/chroot_version_hooks.d/95_clean_platform2_cache b/chroot_version_hooks.d/95_clean_platform2_cache
deleted file mode 120000
index 570b860..0000000
--- a/chroot_version_hooks.d/95_clean_platform2_cache
+++ /dev/null
@@ -1 +0,0 @@
-94_clean_platform2_cache
\ No newline at end of file
diff --git a/chroot_version_hooks.d/96_arm_generic_profile b/chroot_version_hooks.d/96_arm_generic_profile
deleted file mode 100644
index 3b96b74..0000000
--- a/chroot_version_hooks.d/96_arm_generic_profile
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2014 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.
-
-# Regen boards profile settings and such after giving arm-generic a profile
-BOARD=arm-generic
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
-
-BOARD=arm64-generic
-
-if [[ -d /build/${BOARD} ]]; then
-  ~/trunk/src/scripts/setup_board \
-    --board=${BOARD} \
-    --skip_chroot_upgrade \
-    --regen_configs
-fi
diff --git a/chroot_version_hooks.d/97_module-init-tools_cleanup b/chroot_version_hooks.d/97_module-init-tools_cleanup
deleted file mode 120000
index 2400a71..0000000
--- a/chroot_version_hooks.d/97_module-init-tools_cleanup
+++ /dev/null
@@ -1 +0,0 @@
-82_module-init-tools_cleanup
\ No newline at end of file
diff --git a/chroot_version_hooks.d/98_clean_pygtk_gtk b/chroot_version_hooks.d/98_clean_pygtk_gtk
deleted file mode 100644
index 02034eb..0000000
--- a/chroot_version_hooks.d/98_clean_pygtk_gtk
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2014 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.
-
-# Since gtk is no longer enabled by default, let's clean it out from
-# people's system so we'll notice when something uses it by accident.
-
-packages=(
-  dev-python/pygtk
-  x11-libs/gtk+
-)
-
-for sysroot in /build/* /; do
-  (
-  if ROOT="${sysroot}" qlist -IC "${packages[@]}" >&/dev/null; then
-    info "Cleaning ${packages[*]} from ${sysroot}"
-    sudo ROOT="${sysroot}" qmerge -yqU "${packages[@]}"
-  fi
-  ) &
-done
-wait
diff --git a/chroot_version_hooks.d/99_peach_go_public b/chroot_version_hooks.d/99_peach_go_public
deleted file mode 100644
index b99e61e..0000000
--- a/chroot_version_hooks.d/99_peach_go_public
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2014 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.
-
-# We moved a lot of files to the public overlay.  Make sure we regen the
-# boards profile settings and such so we pull in the public bits.
-
-for b in peach_pi peach_pit; do
-  if [[ -d /build/${b} ]]; then
-    ~/trunk/src/scripts/setup_board \
-      --board=${b} \
-      --skip_chroot_upgrade \
-      --regen_configs
-  fi
-done
diff --git a/chroot_version_hooks.d/9_board_makeconf_setup b/chroot_version_hooks.d/9_board_makeconf_setup
deleted file mode 100644
index c8b7247..0000000
--- a/chroot_version_hooks.d/9_board_makeconf_setup
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2011 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.
-
-# Make sure the BOARD_USE variable is set in make.conf.board_setup.
-for board_root in /build/*; do
-  board=$(basename "${board_root}")
-
-  # Make sure this is a real board by looking for emerge-<board>.
-  emerge_board=$(which emerge-${board} 2>/dev/null || true)
-  if [ -x "${emerge_board}" ]; then
-    board_setup="/build/${board}/etc/make.conf.board_setup"
-    if [ -f "${board_setup}" ] && ! grep -q BOARD_USE "${board_setup}"; then
-      sudo_append "${board_setup}" << EOF
-BOARD_USE="${board}"
-EOF
-      info "Added BOARD_USE to ${board_setup}"
-    fi
-  fi
-done
-
-info "Chroot upgraded to version 9: Insert BOARD_USE in make.conf.board_setup"
-exit 0
-
diff --git a/python_cleaner b/python_cleaner
deleted file mode 100755
index f0c8df8..0000000
--- a/python_cleaner
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2013 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.
-
-. "$(dirname "$0")/common.sh" || exit 1
-
-# Script must run inside the chroot
-assert_inside_chroot "$@"
-
-# Do not run as root
-assert_not_root_user
-
-FLAGS_HELP="usage: $(basename $0) [flags]
-Updates the host python and associated packages. This script is called as part
-of build_packages, so there is typically no need to call this script directly.
-"
-show_help_if_requested "$@"
-
-# The following options are advanced options, only available to those willing
-# to read the source code. They are not shown in help output, since they are
-# not needed for the typical developer workflow.
-DEFINE_integer jobs -1 \
-  "How many packages to build in parallel at maximum."
-
-# Parse command line flags
-FLAGS "$@" || exit 1
-eval set -- "${FLAGS_ARGV}"
-
-# Only now can we die on error.  shflags functions leak non-zero error codes,
-# so will die prematurely if 'switch_to_strict_mode' is specified before now.
-switch_to_strict_mode
-
-EMERGE_CMD="${CHROMITE_BIN}/parallel_emerge"
-
-do_cleanup=${FLAGS_FALSE}
-cmds=()
-
-# If we've got multiple versions of python installed, clear them out.
-PYTHON_VERSIONS=( $(qlist -ICv -e dev-lang/python | sort -nr) )
-if [[ ${#PYTHON_VERSIONS[@]} -gt 1 ]]; then
-  info "Cleaning up system python"
-  cmds+=(
-    # Make sure we have the latest version selected.
-    'eselect python update'
-    # Unmerge all the older versions.
-    "CLEAN_DELAY=0 emerge -Cq ${PYTHON_VERSIONS[*]:1}"
-  )
-  do_cleanup=${FLAGS_TRUE}
-fi
-
-# If the user still has old python modules installed, update them.
-PYTHON_VERSIONS=(
-  # Filter out the new python-exec package.
-  $(ls -d /usr/lib*/python*/ | cut -d/ -f4 | grep -v python-exec | sort -uV)
-)
-if [[ ${#PYTHON_VERSIONS[@]} -gt 1 ]]; then
-  PY_UPDATE_FLAGS=()
-  if [[ ${FLAGS_jobs} -ne -1 ]]; then
-    PY_UPDATE_FLAGS+=( --jobs=${FLAGS_jobs} )
-  fi
-  cmds+=(
-    "python-updater --package-manager-command ${EMERGE_CMD} -- \
-      ${PY_UPDATE_FLAGS[*]}"
-  )
-
-  # python-updater does not handle /usr/local, so do it ourselves.
-  # We have to run this after python-updater though since these packages
-  # might rely on other dev-python stuff in /usr.
-  pkgs=( $(qfile -qC /usr/local/lib*/python* | sort -u) )
-  if [[ ${#pkgs[@]} -gt 0 ]]; then
-    cmds+=( "${EMERGE_CMD} ${PY_UPDATE_FLAGS[*]} ${pkgs[*]}" )
-  fi
-  old_py_dir=${PYTHON_VERSIONS[0]}
-  do_cleanup=${FLAGS_TRUE}
-else
-  old_py_dir=
-fi
-
-if [[ ${do_cleanup} -eq ${FLAGS_TRUE} ]]; then
-  cmds+=(
-    # Make sure chromite can be found.  We also clean up old chromite paths
-    # that might have been accidentally created (make_chroot/etc...).
-    'rm -f /usr/lib64/python*/{site-packages/,}chromite'
-    'ln -sf /mnt/host/source/chromite \
-      /usr/lib64/python$(eselect python show --ABI)/site-packages/chromite'
-  )
-
-  if [[ -n ${old_py_dir} ]]; then
-    cmds+=(
-      # Trim generated pyc files if they've been left behind.
-      "find /usr/lib*/${old_py_dir}/ /usr/local/lib*/${old_py_dir}/ \
-        -name '*.pyc' -delete 2>/dev/null || :"
-
-      "find /usr/lib*/${old_py_dir}/ /usr/local/lib*/${old_py_dir}/ \
-        -depth -type d -delete 2>/dev/null || :"
-    )
-  fi
-
-  cmds+=(
-    # Remove empty dirs if possible.
-    'rmdir /usr/local/lib*/python*/site-packages /usr/local/lib*/python*/ \
-      /usr/lib*/python*/site-packages /usr/lib*/python*/ 2>/dev/null || :'
-  )
-fi
-
-sudo_multi "${cmds[@]}"
diff --git a/sdk_lib/make_chroot.sh b/sdk_lib/make_chroot.sh
index cfff479..e78f847 100755
--- a/sdk_lib/make_chroot.sh
+++ b/sdk_lib/make_chroot.sh
@@ -216,7 +216,7 @@
 
    # Use the standardized upgrade script to setup proxied vars.
    load_environment_whitelist
-   bash -e "${SCRIPT_ROOT}/chroot_version_hooks.d/45_rewrite_sudoers.d" \
+   bash "${SCRIPT_ROOT}/chroot_version_hooks.d/153_rewrite_sudoers.d" \
      "${FLAGS_chroot}" "${SUDO_USER}" "${ENVIRONMENT_WHITELIST[@]}"
 
    find "${FLAGS_chroot}/etc/"sudoers* -type f -exec chmod 0440 {} +
