chromium/chromeos/ash/components/assistant/tools/revert_custom_chrome.sh

#!/usr/bin/env bash

# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Counter-part to download_custom_chrome.sh. Restores the device to the previous
# non-custom chrome build that was running before download_custom_chrome.sh.
# This works even after multiple custom builds have been downloaded:
# * Running build A
# * download_custom_chrome.sh B
# * download_custom_chrome.sh C
# * restore_custom_chrome.sh returns the device to build A
#
# After the script finishes, the old build should be running if there were no
# errors. It should be run as the "root" user on the Chromebook itself. It can
# be run from any directory.

set -e

OLD_CHROME_ARCHIVE_DIR="/mnt/stateful_partition/old_chrome_archive"
CHROME_EXE_DIR="/opt/google/chrome"
CUSTOM_CHROME_FILE_INDICATOR="custom_chrome"

main() {
    if [ ! -f "$OLD_CHROME_ARCHIVE_DIR/chrome" ]; then
        echo "Old version of chrome to restore not found."
        exit 1
    fi

    stop ui || true
    cp -r ${OLD_CHROME_ARCHIVE_DIR}/* $CHROME_EXE_DIR
    # The custom chrome file indicator may still be there from the previous
    # custom chrome build. Remove it if it exists since the original non-custom
    # build is being restored.
    rm -f ${CHROME_EXE_DIR}/${CUSTOM_CHROME_FILE_INDICATOR}
    start ui

    rm -rf $OLD_CHROME_ARCHIVE_DIR
}


main "$@"