#!/bin/bash

patch_version=5.15.0-117-generic
patch_file=uds-threads.patch
source_file_to_patch=uds-threads.c
dkms_tree=$2
PACKAGE_NAME=$3
PACKAGE_VERSION=$4
VDO_BUILD_DIRECTORY=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build/vdo
source_file_to_patch_path=$VDO_BUILD_DIRECTORY/$source_file_to_patch
patch_file_path=$VDO_BUILD_DIRECTORY/$patch_file

echo "dkms_tree: $dkms_tree"
echo "PACKAGE_NAME: $PACKAGE_NAME"
echo "PACKAGE_VERSION: $PACKAGE_VERSION"
echo "VDO_BUILD_DIRECTORY: $VDO_BUILD_DIRECTORY"
echo "Current version: $1"
echo "Patch version: $patch_version"

compare=$(printf '%s\n' "$patch_version" "$1" | sort -C -V)
compare_code=$?

if [[ ! $compare_code != 0 ]]; then
    echo "Current kernel version equal or more than patch version: applying patch"
    patch "$source_file_to_patch_path" "$patch_file_path"
else
    echo "Current kernel version less than patch version: not applying patch"
fi
