summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorXorg2017-01-03 07:19:40 +0100
committerXorg2017-01-03 07:22:43 +0100
commit163416d7d18464c7ae4c9da71a1314a5411621bb (patch)
treeb48eea575808e9d5cd7bb0303fa6e428582a0792
parent4c7b1f6eec81b73ea13dccd84b49066fcf91ab88 (diff)
downloadaur-163416d7d18464c7ae4c9da71a1314a5411621bb.tar.gz
Add Pacman hooks
-rw-r--r--.SRCINFO10
-rw-r--r--.gitignore2
-rw-r--r--PKGBUILD16
-rw-r--r--memtest86-efi129
-rw-r--r--memtest86-efi-remove.hook10
-rw-r--r--memtest86-efi-update.hook10
-rw-r--r--memtest86-efi.install9
7 files changed, 105 insertions, 81 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 466e11c25016..f0d698bc55a7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 8875da77bf30..45991ed002ee 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
-}