#!/bin/sh set -e # NOTE: This package name detection will only work on Debian. # If this postinst script ever starts doing work on Red Hat, # we'll need to adapt this code accordingly. script="$(basename "${0}")" pkg="${script%.postinst}" systemd_unit="${pkg}.service" case "${1}" in configure) if [ -d /lib/systemd/system ] then # Python packages put all data files in /usr, so we copy # them to /lib at install time. py_unit="/usr/share/doc/${pkg}/${pkg}.service" if [ -e "${py_unit}" ] then cp "${py_unit}" /lib/systemd/system/ fi fi if [ -e /run/systemd/system ]; then eval "$(systemctl -p UnitFileState show "${systemd_unit}")" case "${UnitFileState}" in disabled) # Failing to enable or start the service is not a # package error, so don't let errors here # propagate up. systemctl enable "${systemd_unit}" || true systemctl start "${systemd_unit}" || true ;; enabled) systemctl daemon-reload || true systemctl reload-or-try-restart "${systemd_unit}" || true ;; esac fi ;; esac