# Copyright (c) 2012 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.

# Ensure that crosutils path overrides are in use; note that chroot
# creation also invokes this, thus why we check for CROS_CHROOT; for
# the normal upgrade pathway, it's non existant.  For chroot creation,
# It points to the chroot base.
sudo mkdir -p "${CROS_CHROOT}/etc/profile.d/"
echo 'export PATH="/usr/local/path-overrides${PATH:+:${PATH}}"' | \
  sudo tee "${CROS_CHROOT}"/etc/profile.d/crosutils-path-overrides.sh \
    > /dev/null
sudo chmod 644 "${CROS_CHROOT}"/etc/profile.d/crosutils-path-overrides.sh
