Add chroot hook to unmerge old libchromeos

In order to eliminate file conflicts between old libchromeos and new
libbrillo packages, unmerge the old one before compiling/installing
the new one.

BUG=b:25345697
TEST=./update_chroot
CQ-DEPEND=CL:309584

Change-Id: Ifa9e322b2d9657f26d218299da362b78aa11e1b6
Reviewed-on: https://chromium-review.googlesource.com/309820
Commit-Ready: Alex Deymo <deymo@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@google.com>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
diff --git a/chroot_version_hooks.d/137_unmerge_libchromeos b/chroot_version_hooks.d/137_unmerge_libchromeos
new file mode 100644
index 0000000..112888c
--- /dev/null
+++ b/chroot_version_hooks.d/137_unmerge_libchromeos
@@ -0,0 +1,31 @@
+# Copyright 2015 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 chromeos-base/libchromeos as it is being replaced by libbrillo.
+opkg="chromeos-base/libchromeos"
+
+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