#
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

description     "Chromium OS device tpm_manager service."
author          "chromium-os-dev@chromium.org"

start on started boot-services and started tcsd
stop on stopping boot-services
respawn

pre-start script
  LOCAL_DATA_DIRECTORY="/var/lib/tpm_manager"
  if [ ! -e "${LOCAL_DATA_DIRECTORY}" ]; then
    mkdir -m 0755 "${LOCAL_DATA_DIRECTORY}"
    chown -R tpm_manager:tpm_manager "${LOCAL_DATA_DIRECTORY}"
  fi
end script

exec /usr/sbin/tpm_managerd --wait_for_ownership_trigger
