sd_fuse() {
  if [ ! -b $1 ]; then
    echo "No MMC device to flash, exiting."
    exit 0
  fi

  echo "U-Boot fusing"
  dd if=/boot/u-boot.bin of=$1 conv=fsync,notrunc bs=512 seek=1
}

flash_uboot() {
  major=$(mountpoint -d / | cut -f 1 -d ':')
  minor=$(mountpoint -d / | cut -f 2 -d ':')
  device=$(cat /proc/partitions | awk {'if ($1 == "'${major}'" && $2 == "'${minor}'") print $4 '})
  device="/dev/${device%%p*}"

  echo "A new U-Boot version needs to be flashed onto ${device}."
  echo "Do you want to do this now? [y|N]"
  read -r shouldwe
  if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then
    sd_fuse ${device}
  else
    echo "You can do this later by running:"
    echo "# cd /boot; ./sd_fusing.sh ${device}"
  fi
}

post_install() {
  flash_uboot
}

post_upgrade() {
  flash_uboot
}