postrm is in nvidia-prime 0.8.2.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | #!/bin/sh
# postrm script for nvidia-prime
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <overwriter>
# <overwriter-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
xorg_conf="/etc/X11/xorg.conf"
now=$(date +"%m%d%Y")
lightdm_orig_conf=/etc/lightdm/lightdm.conf
host_arch_main=x86_64-linux-gnu
host_arch_other=i386-linux-gnu
remove_hybrid_script () {
# Precise only!
if [ -s "$lightdm_orig_conf" ]; then
# Get the file
lightdm_orig="$(cat $lightdm_orig_conf)"
echo "$lightdm_orig" | \
sed "/.*display-setup-script.*/d" \
> "$lightdm_orig_conf"
lightdm_orig="$(cat $lightdm_orig_conf)"
echo "$lightdm_orig" | \
sed "/.*display-stopped-script.*/d" \
> "$lightdm_orig_conf"
fi
}
get_current_alternative() {
master_link="$1"
value=""
alternatives="$(update-alternatives --query "$master_link" 2>/dev/null || true)"
if [ -n "$alternatives" ]; then
#status=$(echo "$alternatives" | grep "Status:" | sed "s/Status: //g")
value="$(echo "$alternatives" | grep "Value:" | sed "s/Value: //g")"
fi
echo "$value"
}
set_alternative() {
master_link="$1"
path="$2"
update-alternatives --set "$master_link" "$path" || true
}
case "$1" in
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
# Remove the xorg.conf
if [ -f $xorg_conf ]; then
mv $xorg_conf $xorg_conf.$now
fi
if [ ! "$1" = "upgrade" ]; then
if [ "$os_release" = "precise" ]; then
# Remove the display-setup-script line
remove_hybrid_script
fi
# Remove the settings
rm -f /etc/prime-discrete
# Restore the alternatives to a non prime
# configuration, if possible
os_release="$(lsb_release -cs)"
main_arch=""$host_arch_main"_gl_conf"
other_arch=""$host_arch_other"_gl_conf"
main_alternative="$(get_current_alternative "$main_arch")"
other_alternative="$(get_current_alternative "$other_arch")"
if echo "$main_alternative" | grep "prime"; then
if [ "$os_release" = "precise" ]; then
# In Precise multiple drivers can be installed at the
# same time, so we simply switch back to the non-prime
# alternative provided by the same driver package
fallback="$(echo "$main_alternative" | sed "s/-prime//g")"
set_alternative "$main_arch" "$fallback"
else
# Drivers cannot be installed all at the
# same time, therefore it is recommended
# that we set the alternative back to
# automatic mode.
update-alternatives --auto "$main_arch" || true
fi
fi
if echo "$other_alternative" | grep "prime"; then
if [ "$os_release" = "precise" ]; then
# In Precise multiple drivers can be installed at the
# same time, so we simply switch back to the non-prime
# alternative provided by the same driver package
fallback="$(echo "$other_alternative" | sed "s/-prime//g")"
set_alternative "$other_arch" "$fallback"
else
# Drivers cannot be installed all at the
# same time, therefore it is recommended
# that we set the alternative back to
# automatic mode.
update-alternatives --auto "$other_arch" || true
fi
fi
LDCONFIG_NOTRIGGER=y ldconfig
fi
;;
*)
echo "postrm called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
# Automatically added by dh_installinit
if [ "$1" = "purge" ] ; then
update-rc.d nvidia-prime remove >/dev/null
fi
# In case this system is running systemd, we make systemd reload the unit files
# to pick up changes.
if [ -d /run/systemd/system ] ; then
systemctl --system daemon-reload >/dev/null || true
fi
# End automatically added section
exit 0
|