infodir=usr/share/info
filelist=('grub.info' 'grub-dev.info')

show_important_message() {
  echo -e "\033[0;31m IMPORTANT"
  echo -e "\033[0;0m  Run \033[0;32m 'grub-install /dev/sda --no-floppy' \033[0;0m as root for installing in MBR"
  echo -e "\033[0;0m  Run \033[0;32m 'grub-mkconfig -o /boot/grub/grub.cfg' \033[0;0m as root for generating grub.cfg"
  echo -e "\033[0;0m  Also you can run \033[0;32m 'update-grub' \033[0;0m as root for generating grub.cfg"
}

restore_grubcfg() {
  if [ -f /boot/grub/grub.cfg.pacsave ]; then
    echo -n "Copying /boot/grub/grub.cfg.pacsave to /boot/grub/grub.cfg... "
    install -D -m644 /boot/grub/grub.cfg.pacsave \
                     /boot/grub/grub.cfg
    echo "done."
  fi
}

post_install() {
  restore_grubcfg

  echo -n "Generating grub.cfg.example config file... "
  grub-mkconfig -o /boot/grub/grub.cfg.example 2> /dev/null
  echo "done."

  for file in "${filelist[@]}"; do
    install-info "${infodir}/${file}.gz" "${infodir}/dir" 2> /dev/null
  done

  show_important_message
}

post_upgrade() {
  restore_grubcfg

  for file in "${filelist[@]}"; do
    install-info "${infodir}/${file}.gz" "${infodir}/dir" 2> /dev/null
  done

  show_important_message
}

pre_remove() {
  for file in "${filelist[@]}"; do
    install-info --delete "${infodir}/${file}" "${infodir}/dir" 2> /dev/null
  done
}
