# Copyright 2015 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description   "Ensure adb home directory exists."
author        "chromium-os-dev@chromium.org"

start on starting boot-services

script
  # In case stateful is wiped, recreate the moblab home directory and ensure
  # moblab owns it.
  ADB_HOME=/home/adb
  mkdir -p "${ADB_HOME}"

  chown adb:adb "${ADB_HOME}"
  # Copy over the ssh keys if they don't already exist.
  ADB_SSH_DIR="${ADB_HOME}"/.ssh
  if [ ! -e "${ADB_SSH_DIR}"/id_rsa ]; then
    mkdir -p "${ADB_SSH_DIR}"
    cp /root/.ssh/* "${ADB_SSH_DIR}"
    chown -R adb:adb "${ADB_SSH_DIR}"
  fi

  # Ensure the adb server is up and running as root.
  adb start-server
end script
