#! /bin/sh set -e FILENAME="/etc/kernel/postinst.d/kdump-tools" DIVERTED_FILENAME="${FILENAME}.distrib" # Shamelessly stolen from udev's postinst chrooted() { if [ "$(stat -c %d/%i /)" = "$(stat -Lc %d/%i /proc/1/root 2>/dev/null)" ]; then # the devicenumber/inode pair of / is the same as that of /sbin/init's # root, so we're *not* in a chroot and hence return false. return 1 fi echo "A chroot environment has been detected." return 0 } logger "$0 $1" case "$1" in remove) # when you 'purge', 'remove' is run first' -- only run once KVER=$(uname -r) if chrooted; then # If we are in a chroot then figure out the kernel version # in a different way. There could be multiple kernels installed # so this is not fool-proof KVER=$(dpkg-query -W -f='${binary:Package}\n' linux-image-* | head -n 1 | sed 's/linux-image-//') fi if [ -e /var/lib/kdump/initramfs-tools/hooks/cleanup ]; then echo "Removing /var/lib/kdump/initramfs-tools/hooks/cleanup" rm /var/lib/kdump/initramfs-tools/hooks/cleanup fi if [ -e /var/lib/kdump/initramfs-tools/hooks/makedump ]; then echo "Removing /var/lib/kdump/initramfs-tools/hooks/makedump" rm /var/lib/kdump/initramfs-tools/hooks/makedump fi if [ -e /var/lib/kdump/initramfs-tools/scripts/init-bottom/makedump ]; then echo "Removing /var/lib/kdump/initramfs-tools/scripts/init-bottom/makedump" rm /var/lib/kdump/initramfs-tools/scripts/init-bottom/makedump fi if [ ! -z ${KVER} ]; then if [ -e /var/lib/kdump/initrd.img-${KVER}.distrib ]; then echo "Restoring /var/lib/kdump/initrd.img-${KVER}.distrib" cp -pr /var/lib/kdump/initrd.img-${KVER}.distrib /var/lib/kdump/initrd.img-${KVER} fi fi if [ -e /etc/kernel/postinst.d/kdump-tools ]; then echo "Removing /etc/kernel/postinst.d/kdump-tools " rm /etc/kernel/postinst.d/kdump-tools fi # When package is removed, copy the original file back if [ -f ${DIVERTED_FILENAME} ]; then cp ${DIVERTED_FILENAME} ${FILENAME} ||: fi ;; purge) # When package is purged, remove our diversion and copy the original # file back. dpkg-divert --remove ${FILENAME} ||: if [ -f ${DIVERTED_FILENAME} ]; then mv ${DIVERTED_FILENAME} ${FILENAME} ||: fi ;; esac