#!/bin/bash
set -e

# find newest kernel
latest_kernel=$(ls -1 /boot/vmlinuz-* 2>/dev/null | sed 's|/boot/vmlinuz-||' | sort -V | tail -n1)
[ -z "$latest_kernel" ] && exit 0

# which kernel is in work at this moment
current_kernel="${1:-}"
if [ -z "$current_kernel" ]; then
    current_initrd=$(ls -t /boot/initrd.img-* 2>/dev/null | head -n1)
    if [ -n "$current_initrd" ]; then
        current_kernel=$(basename "$current_initrd" | sed 's|initrd.img-||')
    fi
fi

# compare kernel and exit, if it is not the newest
if [ -n "$current_kernel" ] && [ "$current_kernel" != "$latest_kernel" ]; then
    exit 0
fi

# staart uki build (only for the highest version
SCRIPT_PATH=""
if [ -x /usr/share/tuxedo-btrfs/create_boot_uki_base.sh ]; then
    SCRIPT_PATH="/usr/share/tuxedo-btrfs/create_boot_uki_base.sh"
elif [ -x /usr/share/tuxedo-base-files/create_boot_uki_base.sh ]; then
    SCRIPT_PATH="/usr/share/tuxedo-base-files/create_boot_uki_base.sh"
elif [ -x /usr/sbin/create_boot_uki_base.sh ]; then
    SCRIPT_PATH="/usr/sbin/create_boot_uki_base.sh"
fi

if [ -n "$SCRIPT_PATH" ]; then
    "$SCRIPT_PATH" "${latest_kernel}"
fi
