From e6ee476c49c28f6b612ff968b6276bf67662cb61 Mon Sep 17 00:00:00 2001
From: tteckster <tteckster@gmail.com>
Date: Tue, 20 Dec 2022 02:14:26 -0500
Subject: [PATCH] Update edge-kernel.sh

update code
---
 misc/edge-kernel.sh | 28 +++++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

diff --git a/misc/edge-kernel.sh b/misc/edge-kernel.sh
index e13e4ed8..52f83213 100644
--- a/misc/edge-kernel.sh
+++ b/misc/edge-kernel.sh
@@ -4,6 +4,9 @@ set -e
 KERNEL_ON=$(uname -r)
 PVE_KERNEL=$(dpkg --list | grep 'kernel-.*-pve' | awk '{print substr($2, 12, length($2)-1) }' | tac | head -n 1)
 EDGE_KERNEL=$(dpkg --list | grep 'kernel-.*-edge' | awk '{print substr($2, 12, length($2)-1) }' | tac | head -n 1)
+VER=$(curl -s https://api.github.com/repos/fabianishere/pve-edge-kernel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-9) }')
+KER=$(curl -s https://api.github.com/repos/fabianishere/pve-edge-kernel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-6) }')
+
 clear
 while true; do
     read -p "This is a Proxmox Edge Kernel Tool, USE AT YOUR OWN RISK. Proceed(y/n)?" yn
@@ -14,7 +17,16 @@ while true; do
     esac
 done
 clear
-
+function header_info {
+cat <<"EOF"
+    ____ _    ________   ______    __              __ __                     __    
+   / __ \ |  / / ____/  / ____/___/ /___ ____     / //_/__  _________  ___  / /____
+  / /_/ / | / / __/    / __/ / __  / __ `/ _ \   / ,< / _ \/ ___/ __ \/ _ \/ / ___/
+ / ____/| |/ / /___   / /___/ /_/ / /_/ /  __/  / /| /  __/ /  / / / /  __/ (__  ) 
+/_/     |___/_____/  /_____/\__,_/\__, /\___/  /_/ |_\___/_/  /_/ /_/\___/_/____/  
+                                 /____/                                            
+EOF
+}
 show_menu() {
     normal=$(echo "\033[m")
     safe=$(echo "\033[32m")
@@ -25,13 +37,13 @@ show_menu() {
     proxmox-boot-tool kernel list
     echo -e "\nCurrent Kernel: ${menu}${KERNEL_ON}${normal}"
     printf "\n${menu}*********************************************${normal}\n"
-    printf "${menu}**${number} 1)${normal} Install Proxmox Edge Kernel & Reboot\n"
+    printf "${menu}**${number} 1)${normal} Install Proxmox Edge Kernel ${menu}${KER}${normal} & Reboot\n"
     printf "${menu}**${number} 2)${normal} Switch to Proxmox VE 7 ${menu}${PVE_KERNEL}${normal} Kernel & Reboot\n"
     printf "${menu}**${number} 3)${normal} Switch to Proxmox Edge ${menu}${EDGE_KERNEL}${normal} Kernel & Reboot\n"
     printf "${menu}**${number} 4)${normal} Unpin Current Kernel\n"
-    printf "${menu}**${number} 5)${normal} Remove Proxmox Edge Kernel & Reboot\n"
+    printf "${menu}**${number} 5)${normal} Remove All Current ${menu}${VER}*${normal} Proxmox Edge Kernels & Reboot\n"
     printf "${menu}*********************************************${normal}\n"
-    printf "Please choose an option from the menu and enter or ${fgred}x${normal} to exit."
+    printf "Please choose an option from the menu, or ${fgred}x${normal} to exit."
     read opt
 }
 option_picked() {
@@ -41,6 +53,7 @@ option_picked() {
     printf "${msgcolor}${message}${normal}\n"
 }
 clear
+header_info
 show_menu
 while [ "$opt" != "" ]; do
     if [ "$opt" = "" ]; then
@@ -62,7 +75,7 @@ while [ "$opt" != "" ]; do
             curl -1sLf 'https://dl.cloudsmith.io/public/pve-edge/kernel/gpg.8EC01CCF309B98E7.key' | apt-key add -
             echo "deb https://dl.cloudsmith.io/public/pve-edge/kernel/deb/debian bullseye main" >/etc/apt/sources.list.d/pve-edge-kernel.list
             apt-get -y update
-            apt-get -y install pve-kernel-6.0-edge
+            apt-get -y install pve-kernel-${VER}-edge
             reboot
             break
             ;;
@@ -122,7 +135,7 @@ while [ "$opt" != "" ]; do
             done
             clear
             option_picked "Removing Proxmox Edge Kernel & Rebooting"
-            apt-get purge -y ${EDGE_KERNEL}
+            apt --purge remove -y pve-kernel-${VER}*edge pve-headers-${VER}*edge
             rm -rf /etc/apt/sources.list.d/pve-edge-kernel.list
             proxmox-boot-tool kernel unpin
             reboot
@@ -137,10 +150,11 @@ while [ "$opt" != "" ]; do
         *)
             clear
             option_picked "Please choose an option from the menu"
+            header_info
             show_menu
             ;;
         esac
     fi
 done
-
+header_info
 show_menu