X-Git-Url: https://git.grml.org/?p=grml-rescueboot.git;a=blobdiff_plain;f=debian%2Fpostinst;h=d5f9b750bf5dfd21e7c581f6c68ca935896ba694;hp=29a15d8423a4c4ab4c762040856a090f8a43929c;hb=395abc5bda9903f9bbe0ecd1df63a59bdb6b0071;hpb=8ca6f9e98d432107ca81032a4cdc65d7cb56e55f diff --git a/debian/postinst b/debian/postinst index 29a15d8..d5f9b75 100644 --- a/debian/postinst +++ b/debian/postinst @@ -1,26 +1,41 @@ #!/bin/sh # postinst script for grml-rescueboot -# -# see: dh_installdeb(1) set -e -# summary of how this script can be called: -# * `configure' -# * `abort-upgrade' -# * `abort-remove' `in-favour' -# -# * `abort-remove' -# * `abort-deconfigure' `in-favour' -# `removing' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package +update_grub_wrapper() { + # default, unless configured otherwise: + ISO_LOCATION=/boot/grml + if [ -r /etc/default/grml-rescueboot ] ; then + . /etc/default/grml-rescueboot + fi + + if ! ls "${ISO_LOCATION}"/*iso >/dev/null 2>&1 ; then + echo "INFO: No *.iso files found inside ${ISO_LOCATION}." + echo "INFO: Please create ${ISO_LOCATION} and place rescue ISO(s) there." + echo "INFO: Finally invoke update-grub and enjoy your rescue system." + return 0 + fi + + if ! which update-grub >/dev/null 2>&1; then + echo "WARN: ISOs found inside ${ISO_LOCATION} but update-grub not present (huh?)" + return 0 + fi + + if ! [ -e /boot/grub/grub.cfg ] ; then + echo "WARN: ISOs found inside ${ISO_LOCATION} but /boot/grub/grub.cfg does not exist." + echo "WARN: Ignoring request to run update-grub to avoid possible boot loader problems." + return 0 + fi + + echo "INFO: ISOs found inside ${ISO_LOCATION}, invoking update-grub:" + update-grub +} case "$1" in configure) - update-grub + update_grub_wrapper ;; abort-upgrade|abort-remove|abort-deconfigure) @@ -32,9 +47,6 @@ case "$1" in ;; esac -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - #DEBHELPER# exit 0