1
0
Fork 0
molly-guard/debian/molly-guard.preinst
Daniel Baumann 62c846e118
Adding debian version 0.8.5.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-21 08:01:25 +02:00

73 lines
3.2 KiB
Bash
Executable file

#!/bin/sh
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <new-preinst> `install'
# * <new-preinst> `install' <old-version>
# * <new-preinst> `upgrade' <old-version>
# * <old-preinst> `abort-upgrade' <new-version>
# 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.
#DEBHELPER#
exit 0