#!/bin/sh # Copyright (C) 2017 Dmitry Bogatov # Author: Dmitry Bogatov # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 3 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . set -e postinst () { local action="${1}" previous="${2:-}" # Fresh installation (not upgrade). It is important to not override # local admin decision (see #899242). if [ "${ENABLE}" = yes ] && \ dpkg --compare-versions "${previous}" '<<' "${SINCE}" ; then ln -sf "/etc/sv/$NAME" "/etc/runit/runsvdir/default/$NAME" fi } postrm () { local action="${1}" if [ "${action}" != 'purge' ] && [ "${action}" != 'remove' ] ; then return fi # Links in other runsvdirs is responsibility of administrator. rm -f "/etc/runit/runsvdir/default/$NAME" # If runscript was never invoked, there will be no files # in this directory, and `dpkg' will remove it. In this case, # we have nothing to do. for supervise in "/var/lib/runit/supervise/$NAME" \ "/var/lib/runit/log/supervise/$NAME" ; do if [ -d "$supervise" ] ; then # Actually only `down' may be absent, but it does not # matter. for file in control lock ok pid stat status down ; do rm -f "$supervise/$file" done # It should be empty now. If it is not, it means that # system administrator put something there. It is very # stupid, but will of user is sacred, and directory is # left as-is in such case. # # NOTE: Non-POSIX option is used. The day coreutils will # no longer be essential, it will require a fix. rmdir --ignore-fail-on-non-empty "$supervise" fi done } "$@" # vim: sw=4:et