| # 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. |
| |
| description "Chrome OS post-mount-encrypted import data." |
| author "chromium-os-dev@chromium.org" |
| |
| # This job handles delayed copying of CRX files into the CRX cache in a |
| # validated way. This is normally only performed on first boot, and so |
| # will be a nearly null operation after that. |
| |
| start on started system-services |
| |
| script |
| # If this is a factory installer image, don't run at all. |
| if [ -f /root/.factory_installer ]; then |
| exit 0 |
| fi |
| |
| # Note these paths are shared with platform/init/chromeos-cleanup-logs. |
| FROM=/mnt/stateful_partition/unencrypted/import_extensions |
| TO=/var/cache/external_cache |
| VALIDATION=/usr/share/import_extensions/validation |
| |
| if [ ! -d "${TO}" ]; then |
| mkdir -m 700 "${TO}" |
| |
| # If the source directory exists, and we can validate it... import. |
| if [ -d "${FROM}" ]; then |
| for val in "${VALIDATION}"/*; do |
| # If the import fails, we want to just keep going. |
| logger -t "${UPSTART_JOB}" "Performing CRX import for: ${val}" |
| encrypted_import "${FROM}" "${val}" "${TO}" 2>&1 | \ |
| logger -t "${UPSTART_JOB}" |
| done |
| else |
| logger -t "${UPSTART_JOB}" "CRX Source not present. No import performed." |
| fi |
| |
| chown -R chronos:chronos "${TO}" |
| else |
| logger -t "${UPSTART_JOB}" "CRX Cache exists. No import performed." |
| fi |
| |
| # This .dot file tells the cache manager in Chrome that the import process |
| # has finished. It should be created, even if we weren't actually able to |
| # import anything. |
| touch "${TO}/.initialized" |
| end script |