Advertisement
Guest User

EDK2/OVMF update checker

a guest
Jan 23rd, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.42 KB | None | 0 0
  1. #!/bin/sh -ex
  2. if [ -z "${1}" ] ; then
  3.     echo "Usage: ${0} biosAndStateLocation"
  4.     echo "    Updates OVMF from jenkins to the biosAndStateLocation"
  5.     echo "           biosAndStateLocation must be a directory, must exist and must be writeable"
  6.     echo "           returns 4 if updated successfully, 0 if no updates available or some other error code on abject"
  7.     echo "           or non-recoverable failure"    
  8.     echo "Usage: ${0} biosAndStateLocation"
  9.     exit 1
  10. fi
  11. installLoc="${1}"
  12. krax="https://www.kraxel.org/repos/jenkins/edk2"
  13. currVer="$(cd "${installLoc}" && echo edk2.git-ovmf-x64*.rpm)"
  14. kraxVer="$(curl "${krax}"/ 2> /dev/null | grep edk2.git-ovmf-x64 | sed -e 's/.*>edk2.git-ovmf-x64/edk2.git-ovmf-x64/' -e 's/rpm<.*/rpm/')"
  15.  
  16. if [ ! -z "${kraxVer}" ] && { [ "${currVer}" = "" ] || [ "${currVer}" != "${kraxVer}" ] ; } ; then
  17.    tmpDir="$(mktemp -d)"
  18.    curl -o "${installLoc}"/"${kraxVer}" "${krax}"/"${kraxVer}"
  19.    7z x -o"${tmpDir}" "${installLoc}"/"${kraxVer}"
  20.    7z x -o"${tmpDir}" "${tmpDir}"/"*.cpio"
  21.    cp "${tmpDir}"/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd "${installLoc}"/OVMF_CODE-pure-efi.fd
  22.    cp "${tmpDir}"/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd "${installLoc}"/OVMF_VARS-pure-efi.fd
  23.    rm -rf "${tmpDir}"
  24.    echo -n > "${installLoc}"/"${kraxVer}"
  25.    if [ ! -z "${currVer}" ] ; then
  26.        rm -f "${installLoc}"/"${currVer}"
  27.    fi
  28.    exit 4
  29. else
  30.    exit 0
  31. fi
  32. exit 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement