chroot_version_hooks.d: migrate package.keywords
Portage changed the name, so we have to migrate the paths.
BUG=b:204379578
TEST=`./update_chroot` moved all the dirs
Change-Id: I32673d0b088dec106b2d2917506040de35176d0f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosutils/+/3278574
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Cindy Lin <xcl@google.com>
diff --git a/chroot_version_hooks.d/193_package_keywords b/chroot_version_hooks.d/193_package_keywords
new file mode 100644
index 0000000..bc409cf
--- /dev/null
+++ b/chroot_version_hooks.d/193_package_keywords
@@ -0,0 +1,33 @@
+# Copyright 2021 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.
+
+# Portage changed the file name.
+
+migrate() {
+ local root="$1"
+ local etc="${root}/etc/portage"
+
+ # If the old dir doesn't exist, nothing to migrate.
+ if [[ ! -d "${etc}/package.keywords" ]]; then
+ return 0
+ fi
+
+ # Clear possibly empty dir.
+ sudo rmdir "${etc}/package.keywords" 2>/dev/null || :
+
+ # Create the new dir.
+ sudo mkdir -p "${etc}/package.accept_keywords"
+
+ # Move the content.
+ sudo mv "${etc}"/package.keywords/* "${etc}"/package.accept_keywords
+
+ # Delete the new empty dir.
+ sudo rmdir "${etc}/package.keywords"
+}
+
+migrate / &
+for board in /build/*/; do
+ migrate "${board}" &
+done
+wait