# Copyright 2018 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   "Mount /media/removable for ARC."
author        "chromium-os-dev@chromium.org"

start on started arc-removable-media
stop on stopping arc-removable-media

env SOURCE=/media/removable
env DEST=/run/arc/media/removable-read
env UMASK=027
env ANDROID_ROOT_UID=0
env ANDROID_EVERYBODY_GID=9997

expect fork

pre-start exec logger -t "${UPSTART_JOB}" "Pre-start ${UPSTART_JOB}"

# syslog-cat is used to redirect stdio from sdcard to journald for logging.
# minijail is used in the mount-passthrough-jailed script.
exec /usr/sbin/syslog-cat --identifier="${UPSTART_JOB}" \
  mount-passthrough-jailed "${SOURCE}" "${DEST}" "${UMASK}" \
    "${ANDROID_ROOT_UID}" "${ANDROID_EVERYBODY_GID}" "read"

post-stop exec logger -t "${UPSTART_JOB}" "Post-stop ${UPSTART_JOB}"
