#!/bin/sh

# see Chapter 8 of Debian Linux Kernel Handbook

set -e

# conffile still present, but flash-kernel removed
if ! which flash-kernel >/dev/null 2>&1; then
    exit 0
fi

# we dont want to run if FLASH_KERNEL_SKIP is set, the ubuntu
# image build system uses this
if [ -n "$FLASH_KERNEL_SKIP" ]; then
        exit 0
fi

# Do not run inside an LXC container
if systemd-detect-virt --quiet --container; then
    exit 0
fi

# this script is used as postinst.d and postrm.d script; this is used to
# differentiate between the two
self="$0"

# see 8.1, Kernel hooks
abi="$1"
# ignored
_vmlinuz="${2:-/boot/vmlinuz-$abi}"
set -- $DEB_MAINT_PARAMS
action="$1"
action="${action#\'}"
action="${action%\'}"
# ignored
_version="$2"
_version="${version#\'}"
_version="${version%\'}"

# only call flash-kernel once on install, upgrade, removal or purge
# XXX apparently kernel postinst doesn't always pass maintainer scripts
# arguments
export FK_KERNEL_HOOK_SCRIPT="$(basename "$(dirname "$self")")"
case "$FK_KERNEL_HOOK_SCRIPT/$action" in
  postinst.d/configure|postinst.d/|postrm.d/remove|postrm.d/)
    exec flash-kernel "$abi"
  ;;
esac

