_services="system76-power.service nvidia-fallback.service"

_stop_services() {
  for service in $_services; do
    if /usr/bin/systemctl -q is-active $service >/dev/null 2>&1; then
      /usr/bin/systemctl stop $service >/dev/null 2>&1
    fi
  done
}

_disable_services() {
  for service in $_services; do
    if /usr/bin/systemctl -q is-enabled $service >/dev/null 2>&1; then
      /usr/bin/systemctl disable $service >/dev/null 2>&1
      /usr/bin/systemctl reset-failed $service >/dev/null 2>&1
    fi
  done
}

_restore_services() {
  for service in $_services; do
    if /usr/bin/systemctl -q is-enabled $service >/dev/null 2>&1; then
      /usr/bin/systemctl start $service > /dev/null 2>&1
    fi
  done
}

post_install() {
cat << EOF

    The System76 Power package provides the following system services:

        system76-power.service             System76 power support

    And the following application

        system76-power                     System76 power CLI interface

EOF
}

pre_upgrade() {
  _stop_services
}

post_upgrade() {
  /usr/bin/systemctl daemon-reload >/dev/null 2>&1
  _restore_services
  post_install
}

pre_remove() {
  _stop_services
  _disable_services
}

post_remove() {
  /usr/bin/systemctl daemon-reload >/dev/null 2>&1
  cat << EOF

    Be sure to stop and disable all running System76 user services.

EOF
}
