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