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