# Copyright 2020 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 Quickoffice squashfs file"
author "chromium-os-dev@chromium.org"

start on started system-services
stop on stopping system-services

env QO_ROOT="/usr/share/chromeos-assets/quickoffice"

pre-start script
  if [ -f "${QO_ROOT}/quickoffice.squash" ]; then
    exec mount -o nodev,noexec,nosuid "${QO_ROOT}/quickoffice.squash" \
      "${QO_ROOT}/_platform_specific"
  fi
end script

post-stop script
  if [ -f "${QO_ROOT}/quickoffice.squash" ]; then
    exec umount "${QO_ROOT}/_platform_specific"
  fi
end script
