#!/bin/sh

DISTRIBUTOR=altlinux

efi_vars_dir=/sys/firmware/efi/vars
efi_fwupdir=/usr/lib64/efi/fw
esp_dir=/boot/efi/EFI

if [ ! -d "$efi_vars_dir" ]; then
  echo "System not running in EFI mode, not installing to EFI system partition."
  exit 0
fi


for BINARY in $(find "$efi_fwupdir" -name '*.efi' -printf "%f\n"); do
  ESP="$esp_dir/$DISTRIBUTOR"
  ESP_FILE="$ESP/$BINARY"
  NEW_FILE="$efi_fwupdir/$BINARY"

  if [ -f "$ESP_FILE" ]; then
    ESP_MD5=$(md5sum "$ESP_FILE" | sed 's, .*,,')
  fi

  mkdir -p "$ESP/fw"

  if [ -n "$NEW_FILE" ]; then
  	COMPARE_MD5=$(md5sum "$NEW_FILE" | sed 's, .*,,')
  	if [ "$COMPARE_MD5" != "$ESP_MD5" ]; then
          rm -f "$ESP_FILE"
          echo "Installing $BINARY to EFI system partition."
          cp "$NEW_FILE" "$ESP_FILE"
  	fi
  fi
done
