# 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     "Modem firmware updater daemon"
author          "ejcaruso@chromium.org"

start on starting system-services
stop on stopping system-services

pre-start script
  # The journal goes in here.
  mkdir -p /var/cache/modemfwd
  chown modem:modem /var/cache/modemfwd
  # modemfwd will look in here for a config file named disable_auto_update.
  # If this file is present and contains "1", then auto update will be
  # disabled.
  mkdir -p /var/lib/modemfwd
  chown modem:modem /var/lib/modemfwd
end script

# Default helper directory is /opt/google/modemfwd-helpers and if the
# firmware directory isn't specified we load from the cellular component.
exec minijail0 -u modem -g modem -G -n /usr/bin/modemfwd \
    --firmware_directory=/opt/google/modemfwd-firmware
