Add upgrade hooks for gdb SLOT problem

In older versions of gdb, we set SLOT=${CHOST}.
In the latest ones, we always set SLOT="0".
Since migrating SLOTs like this is not programmatic,
rewrite the installed values to 0 so that we can upgrade cleanly.

BUG=chromium-os:31356
TEST=None

Change-Id: Ieb4c5a25e1e28fcab64e2014c463c587023009a0
Reviewed-on: https://gerrit.chromium.org/gerrit/45399
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/chroot_version_hooks.d/56_upgrade_gdb_SLOT b/chroot_version_hooks.d/56_upgrade_gdb_SLOT
new file mode 100644
index 0000000..fbb17a6
--- /dev/null
+++ b/chroot_version_hooks.d/56_upgrade_gdb_SLOT
@@ -0,0 +1,14 @@
+# 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