. /usr/share/pve-kernel-helper/scripts/functions
+_add_entry_to_list_file() {
+ file="$1"
+ entry="$2"
+
+ if [ -e "$file" ]; then
+ cp "$file" "$file.new"
+ fi
+ echo "$entry" >> "$file.new"
+ sort -uo "$file.new" "$file.new"
+ mv "$file.new" "$file"
+}
+
+_remove_entry_from_list_file() {
+ file="$1"
+ entry="$2"
+
+ # guard against removing whole file by accident!
+ if [ -z "$entry" ]; then
+ echo "cannot remove empty entry from '$file'."
+ return
+ fi
+
+ if [ -e "$file" ]; then
+ grep -vFx "$entry" "$file" > "$file.new" || true
+ mv "$file.new" "$file"
+ else
+ echo "'$file' does not exist.."
+ fi
+}
_get_partition_info() {
if [ ! -e "$1" ]; then
umount "$part"
echo "Adding '$part' to list of synced ESPs.."
- if [ -e "$ESP_LIST" ]; then
- cp "$ESP_LIST" "$ESP_LIST.new"
- fi
- echo "$UUID" >> "$ESP_LIST.new"
- sort -uo "$ESP_LIST.new" "$ESP_LIST.new"
- mv "$ESP_LIST.new" "$ESP_LIST"
+ _add_entry_to_list_file "$ESP_LIST" "$UUID"
echo "Refreshing kernels and initrds.."
refresh