diff options
author | Xorg | 2017-01-03 07:19:40 +0100 |
---|---|---|
committer | Xorg | 2017-01-03 07:22:43 +0100 |
commit | 163416d7d18464c7ae4c9da71a1314a5411621bb (patch) | |
tree | b48eea575808e9d5cd7bb0303fa6e428582a0792 | |
parent | 4c7b1f6eec81b73ea13dccd84b49066fcf91ab88 (diff) | |
download | aur-163416d7d18464c7ae4c9da71a1314a5411621bb.tar.gz |
Add Pacman hooks
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | PKGBUILD | 16 | ||||
-rw-r--r-- | memtest86-efi | 129 | ||||
-rw-r--r-- | memtest86-efi-remove.hook | 10 | ||||
-rw-r--r-- | memtest86-efi-update.hook | 10 | ||||
-rw-r--r-- | memtest86-efi.install | 9 |
7 files changed, 105 insertions, 81 deletions
@@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Wed Dec 14 06:57:48 UTC 2016 +# Tue Jan 3 06:19:40 UTC 2017 pkgbase = memtest86-efi pkgdesc = A free, thorough, stand alone memory test as an EFI application pkgver = 7.2 - pkgrel = 1 + pkgrel = 2 url = http://www.memtest86.com install = memtest86-efi.install arch = i686 @@ -19,11 +19,15 @@ pkgbase = memtest86-efi source = memtest86-efi.conf source = grub.conf source = systemd-boot.conf + source = memtest86-efi-update.hook + source = memtest86-efi-remove.hook md5sums = 5ac971dbe3af784c1847a693f587a667 - md5sums = 6d78d97e54e9feb75e3b1f835297ffd8 + md5sums = 5dc6005ffd904163c40ceb06e68a467b md5sums = 6c096df3f55baf3e27c3bd605a418aa2 md5sums = 8b4aa0e2f5d769d902459c8f8d514336 md5sums = 496120c33c2af986933bf33456fa6cf3 + md5sums = a7dc15b3dea142e73d24338d9c6c51a5 + md5sums = 86ab2980113da2d1ec72b0feeedaa600 pkgname = memtest86-efi diff --git a/.gitignore b/.gitignore index 62786e6fec03..db8dddfd9028 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ !memtest86-efi.install !grub.conf !systemd-boot.conf +!memtest86-efi-update.hook +!memtest86-efi-remove.hook @@ -3,7 +3,7 @@ _pkgbasename=memtest86 pkgname=$_pkgbasename-efi pkgver=7.2 -pkgrel=1 +pkgrel=2 pkgdesc="A free, thorough, stand alone memory test as an EFI application" arch=('i686' 'x86_64') url="http://www.memtest86.com" @@ -17,12 +17,16 @@ source=("$_pkgbasename-$pkgver.iso.tar.gz::http://www.memtest86.com/downloads/$_ "memtest86-efi" "memtest86-efi.conf" "grub.conf" - "systemd-boot.conf") + "systemd-boot.conf" + "memtest86-efi-update.hook" + "memtest86-efi-remove.hook") md5sums=('5ac971dbe3af784c1847a693f587a667' - '6d78d97e54e9feb75e3b1f835297ffd8' + '5dc6005ffd904163c40ceb06e68a467b' '6c096df3f55baf3e27c3bd605a418aa2' '8b4aa0e2f5d769d902459c8f8d514336' - '496120c33c2af986933bf33456fa6cf3') + '496120c33c2af986933bf33456fa6cf3' + 'a7dc15b3dea142e73d24338d9c6c51a5' + '86ab2980113da2d1ec72b0feeedaa600') prepare() { msg2 "Extract ISO..." @@ -42,4 +46,8 @@ package() { install -Dvm644 "$srcdir/memtest86-efi.conf" "$pkgdir/etc/memtest86-efi/memtest86-efi.conf" install -Dvm644 "$srcdir/grub.conf" "$pkgdir/etc/memtest86-efi/grub.conf" install -Dvm644 "$srcdir/systemd-boot.conf" "$pkgdir/etc/memtest86-efi/systemd-boot.conf" + + msg2 "Install Pacman hooks..." + install -Dvm644 "$srcdir/memtest86-efi-update.hook" "$pkgdir/usr/share/libalpm/hooks/memtest86-efi-update.hook" + install -Dvm644 "$srcdir/memtest86-efi-remove.hook" "$pkgdir/usr/share/libalpm/hooks/memtest86-efi-remove.hook" } diff --git a/memtest86-efi b/memtest86-efi index 5e430fab0e29..cb790781e8da 100644 --- a/memtest86-efi +++ b/memtest86-efi @@ -29,6 +29,16 @@ checkcommand() { fi } +_common_install() { + efidir="$esp/EFI/memtest86" + efifile="$efidir/memtest$ARCH.efi" + + echo -e "MemTest86 will be installed in ${CB}$efidir/${CR}." + mkdir -pv "$efidir" + cp -v "$MEMTEST86_PATH/"* "$efidir/" # Move files in memtest ESP directory + mv -v "$efidir/boot$ARCH.efi" "$efifile" # Rename .efi file +} + install() { if [[ $install == 1 ]]; then echo "MemTest86 is already installed in ESP. Nothing to do." > /dev/stderr @@ -74,58 +84,47 @@ install() { case $choice in 1) # Install MemTest86 in $esp/ - echo -e "MemTest86 will be installed in ${CB}$esp/${CR}." - [[ -f "$esp/shell$ARCH.efi" ]] && mv -v "$esp/shell$ARCH.efi" "$esp/shell$ARCH.efi.bak" # Backup if exist - cp -v "$MEMTEST86_PATH/"* "$esp/" # Move files in ESP root - mv -v "$esp/boot$ARCH.efi" "$esp/shell$ARCH.efi" # Rename .efi file + echo -e "MemTest86 will be installed in ${CB}$esp/${CR}." + efifile="$esp/shell$ARCH.efi" + [[ -f "$esp/shell$ARCH.efi" ]] && mv -v "$esp/shell$ARCH.efi" "$esp/shell$ARCH.efi.bak" # Backup if exist + cp -v "$MEMTEST86_PATH/"* "$esp/" # Move files in ESP root + mv -v "$esp/boot$ARCH.efi" "$efifile" # Rename .efi file ;; 2) # Install MemTest86 in $esp/EFI/memtest86/ & add an EFI boot entry - checkcommand efibootmgr - - echo -e "MemTest86 will be installed in ${CB}$esp/EFI/memtest86/${CR}." - mkdir -pv "$esp/EFI/memtest86" - cp -v "$MEMTEST86_PATH/"* "$esp/EFI/memtest86/" # Move files in memtest ESP directory - mv -v "$esp/EFI/memtest86/boot$ARCH.efi" "$esp/EFI/memtest86/memtest$ARCH.efi" # Rename .efi file - - echo -e "\nAdd a new EFI boot entry..." - efibootmgr -c -d ${partition:0:8} -p ${partition:8} -w -L "MemTest86" -l "\EFI\memtest86\memtest$ARCH.efi" # Manage efi entry + checkcommand efibootmgr + _common_install + echo -e "\nAdd a new EFI boot entry..." + efibootmgr -c -d ${partition:0:8} -p ${partition:8} -w -L "MemTest86" -l "\EFI\memtest86\memtest$ARCH.efi" # Manage efi entry ;; 3) # Install MemTest86 in $esp/EFI/memtest86/ & add a file for GRUB2 - checkcommand grub-mkconfig - if [[ ! -d "/etc/grub.d/" ]]; then - echo -e "${CE}GRUB2 seems not installed on your system. Aborted.${CR}" > /dev/stderr - exit 2 - fi - - echo -e "MemTest86 will be installed in ${CB}$esp/EFI/memtest86/${CR}." - mkdir -pv "$esp/EFI/memtest86" - cp -v "$MEMTEST86_PATH/"* "$esp/EFI/memtest86/" # Move files in memtest ESP directory - mv -v "$esp/EFI/memtest86/boot$ARCH.efi" "$esp/EFI/memtest86/memtest$ARCH.efi" # Rename .efi file - - echo -e "\nAdd a new configuration file for GRUB..." - /bin/install -Dvm755 "$CONFDIR/grub.conf" "/etc/grub.d/86_memtest" - uuid=$(blkid $partition -s UUID -o value) - sed -i "s|@UUID@|$uuid|g" "/etc/grub.d/86_memtest" - sed -i "s|@ARCH@|$ARCH|g" "/etc/grub.d/86_memtest" - grub-mkconfig -o "/boot/grub/grub.cfg" + checkcommand grub-mkconfig + if [[ ! -d "/etc/grub.d/" ]]; then + echo -e "${CE}GRUB2 seems not installed on your system. Aborted.${CR}" > /dev/stderr + exit 2 + fi + _common_install + echo -e "\nAdd a new configuration file for GRUB..." + /bin/install -Dvm755 "$CONFDIR/grub.conf" "/etc/grub.d/86_memtest" + uuid=$(blkid $partition -s UUID -o value) + sed -i "s|@UUID@|$uuid|g" "/etc/grub.d/86_memtest" + sed -i "s|@ARCH@|$ARCH|g" "/etc/grub.d/86_memtest" + grub-mkconfig -o "/boot/grub/grub.cfg" ;; 4) # Install MemTest86 in $esp/EFI/memtest86/ & add a file for systemd-boot - echo -e "MemTest86 will be installed in ${CB}$esp/EFI/memtest86/${CR}." - mkdir -pv "$esp/EFI/memtest86" "$esp/loader/entries" - cp -v "$MEMTEST86_PATH/"* "$esp/EFI/memtest86/" # Move files in memtest ESP directory - mv -v "$esp/EFI/memtest86/boot$ARCH.efi" "$esp/EFI/memtest86/memtest$ARCH.efi" # Rename .efi file - - echo -e "\nAdd a new configuration file for systemd-boot..." - /bin/install -Dvm644 "$CONFDIR/systemd-boot.conf" "$esp/loader/entries/memtest86-efi.conf" - sed -i "s|@ARCH@|$ARCH|g" "$esp/loader/entries/memtest86-efi.conf" + _common_install + echo -e "\nAdd a new configuration file for systemd-boot..." + systemdbootdir="$esp/loader/entries" + mkdir -pv "$systemdbootdir" + /bin/install -Dvm644 "$CONFDIR/systemd-boot.conf" "$systemdbootdir/memtest86-efi.conf" + sed -i "s|@ARCH@|$ARCH|g" "$systemdbootdir/memtest86-efi.conf" ;; *) # Do nothing and quit - echo -e "Canceled. MemTest86 will not be installed." - exit 0 + echo -e "Canceled. MemTest86 will not be installed." + exit 0 ;; esac @@ -146,15 +145,15 @@ update() { case $choice in 1) # Update files in $esp/ - echo -e "MemTest86 will be updated in ${CB}$esp/${CR}." - cp -fv "$MEMTEST86_PATH/"* "$esp/" - mv -fv "$esp/boot$ARCH.efi" "$esp/shell$ARCH.efi" + echo -e "MemTest86 will be updated in ${CB}$esp/${CR}." + cp -fv "$MEMTEST86_PATH/"* "$esp/" + mv -fv "$esp/boot$ARCH.efi" "$esp/shell$ARCH.efi" ;; 2|3|4) # Update files in $esp/EFI/memtest86/ - echo -e "MemTest86 will be updated in ${CB}$esp/EFI/memtest86/${CR}." - cp -fv "$MEMTEST86_PATH/"* "$esp/EFI/memtest86/" - mv -fv "$esp/EFI/memtest86/boot$ARCH.efi" "$esp/EFI/memtest86/memtest$ARCH.efi" + echo -e "MemTest86 will be updated in ${CB}$esp/EFI/memtest86/${CR}." + cp -fv "$MEMTEST86_PATH/"* "$esp/EFI/memtest86/" + mv -fv "$esp/EFI/memtest86/boot$ARCH.efi" "$esp/EFI/memtest86/memtest$ARCH.efi" ;; esac @@ -169,39 +168,39 @@ remove() { case $choice in 1) # Remove files in $esp/ - echo -e "MemTest86 will be removed from ${CB}$esp/${CR}." - rm -v "$esp/mt86.png" "$esp/shell$ARCH.efi" - [[ -f "$esp/shell$ARCH.efi.bak" ]] && mv -v "$esp/shell$ARCH.efi.bak" "$esp/shell$ARCH.efi" + echo -e "MemTest86 will be removed from ${CB}$esp/${CR}." + rm -v "$esp/mt86.png" "$esp/shell$ARCH.efi" + [[ -f "$esp/shell$ARCH.efi.bak" ]] && mv -v "$esp/shell$ARCH.efi.bak" "$esp/shell$ARCH.efi" ;; 2) # Remove files in $esp/EFI/memtest86/ & delete EFI boot entry - checkcommand efibootmgr + checkcommand efibootmgr - echo -e "MemTest86 will be removed from ${CB}$esp/EFI/memtest86/${CR}." - rm -rfv "$esp/EFI/memtest86/" + echo -e "MemTest86 will be removed from ${CB}$esp/EFI/memtest86/${CR}." + rm -rfv "$esp/EFI/memtest86/" - echo -e "\nRemove MemTest86 EFI boot entry..." - entry=$(efibootmgr | grep MemTest86 | cut -c 5-8) - [[ -n $entry ]] && efibootmgr -b $entry -B + echo -e "\nRemove MemTest86 EFI boot entry..." + entry=$(efibootmgr | grep MemTest86 | cut -c 5-8) + [[ -n $entry ]] && efibootmgr -b $entry -B ;; 3) # Remove files in $esp/EFI/memtest86/ & delete file for GRUB2 - checkcommand grub-mkconfig + checkcommand grub-mkconfig - echo -e "MemTest86 will be removed from ${CB}$esp/EFI/memtest86/${CR}." - rm -rfv "$esp/EFI/memtest86/" + echo -e "MemTest86 will be removed from ${CB}$esp/EFI/memtest86/${CR}." + rm -rfv "$esp/EFI/memtest86/" - echo -e "\nRemove configuration file for GRUB..." - rm -v "/etc/grub.d/86_memtest" - grub-mkconfig -o "/boot/grub/grub.cfg" + echo -e "\nRemove configuration file for GRUB..." + rm -v "/etc/grub.d/86_memtest" + grub-mkconfig -o "/boot/grub/grub.cfg" ;; 4) # Remove files in $esp/EFI/memtest86/ & delete file for systemd-boot - echo -e "MemTest86 will be removed from ${CB}$esp/EFI/memtest86/${CR}." - rm -rfv "$esp/EFI/memtest86/" + echo -e "MemTest86 will be removed from ${CB}$esp/EFI/memtest86/${CR}." + rm -rfv "$esp/EFI/memtest86/" - echo -e "\nRemove configuration file for systemd-boot..." - rm -v "$esp/loader/entries/memtest86-efi.conf" + echo -e "\nRemove configuration file for systemd-boot..." + rm -v "$esp/loader/entries/memtest86-efi.conf" ;; esac diff --git a/memtest86-efi-remove.hook b/memtest86-efi-remove.hook new file mode 100644 index 000000000000..4bffe030e7ce --- /dev/null +++ b/memtest86-efi-remove.hook @@ -0,0 +1,10 @@ +[Trigger] +Operation = Remove +Type = File +Target = /usr/share/$pkgname/bootia32.efi +Target = /usr/share/$pkgname/bootx64.efi + +[Action] +Description = Removing MemTest86 EFI from ESP +When = PostTransaction +Exec = /usr/bin/memtest86-efi --remove diff --git a/memtest86-efi-update.hook b/memtest86-efi-update.hook new file mode 100644 index 000000000000..ec94ec4fb7f2 --- /dev/null +++ b/memtest86-efi-update.hook @@ -0,0 +1,10 @@ +[Trigger] +Operation = Upgrade +Type = File +Target = /usr/share/$pkgname/bootia32.efi +Target = /usr/share/$pkgname/bootx64.efi + +[Action] +Description = Updating MemTest86 EFI into ESP +When = PostTransaction +Exec = /usr/bin/memtest86-efi --update diff --git a/memtest86-efi.install b/memtest86-efi.install index a4406bc5350b..591fe358f21a 100644 --- a/memtest86-efi.install +++ b/memtest86-efi.install @@ -1,12 +1,3 @@ post_install() { echo -e "You can use command \033[4mmemtest86-efi --install\033[0m as root to install MemTest86 in your ESP." } - -post_upgrade() { - [[ -f /etc/memtest86-efi.conf.pacsave ]] && mv /etc/memtest86-efi.conf.pacsave /etc/memtest86-efi/memtest86-efi.conf - /usr/bin/memtest86-efi --status &> /dev/null && /usr/bin/memtest86-efi --update -} - -pre_remove() { - /usr/bin/memtest86-efi --status &> /dev/null && /usr/bin/memtest86-efi --remove -} |