#!/bin/sh # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `install' # * `install' # * `upgrade' # * `abort-upgrade' # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in install|upgrade) for cmd in halt poweroff reboot shutdown coldreboot ; do # DEP17 M18 duplicated diversion. Once trixie is released, # remove the aliased diversion in postinst and only have # the canonical one with --rename here. truename="$(dpkg-divert --truename "/sbin/$cmd")" if test "$(dpkg-divert --truename "/usr/sbin/$cmd")" != "/usr/sbin/$cmd"; then : # Canonically diverted already. Nothing to rename. elif test "$truenam" = "/sbin/$cmd.no-molly-guard.usr-is-merged"; then : # Aliased diversion as expected. Nothing to rename. elif test "$truename" != "/sbin/$cmd"; then # Aliased diversion with earlier target. Fix target. dpkg-divert --remove --no-rename "/sbin/$cmd" if test -e "$DPKG_ROOT$truename" -o -h "$DPKG_ROOT$truename"; then mv "$DPKG_ROOT$truename" "$DPKG_ROOT/sbin/$cmd.no-molly-guard.usr-is-merged" fi elif dpkg -S "/sbin/$cmd" >/dev/null 2>&1; then # Not diverted yet. Installed as aliased. mv "$DPKG_ROOT/sbin/$cmd" "$DPKG_ROOT/sbin/$cmd.no-molly-guard.usr-is-merged" elif test -e "$DPKG_ROOT/usr/sbin/$cmd" -o -h "$DPKG_ROOT/usr/sbin/$cmd"; then # Not diverted yet. Installed as canonical. mv "$DPKG_ROOT/usr/sbin/$cmd" "$DPKG_ROOT/usr/sbin/$cmd.no-molly-guard" fi # All necessary moving has been done. Hence --no-rename. dpkg-divert --add --no-rename --divert "/sbin/$cmd.no-molly-guard.usr-is-merged" "/sbin/$cmd" dpkg-divert --add --no-rename --divert "/usr/sbin/$cmd.no-molly-guard" "/usr/sbin/$cmd" done for cmd in pm-hibernate pm-suspend pm-suspend-hybrid ; do truename="$(dpkg-divert --truename "/usr/sbin/$cmd")" if test "$truename" = "/usr/sbin/$cmd"; then dpkg-divert --package molly-guard --divert "/usr/sbin/$cmd.no-molly-guard" --rename "/usr/sbin/$cmd" elif test "$truename" != "/usr/sbin/$cmd.no-molly-guard"; then # Upgrading from pre-trixie. Update the diversion target from aliased to canonical. dpkg-divert --package molly-guard --no-rename --remove "/usr/sbin/$cmd" dpkg-divert --package molly-guard --divert "/usr/sbin/$cmd.no-molly-guard" --no-rename --add "/usr/sbin/$cmd" if test -e "$truename" -o -h "$truename"; then mv "$truename" "/usr/sbin/$cmd.no-molly-guard" fi fi done ;; abort-upgrade) ;; *) echo "preinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. exit 0