Diff
1diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh
2index 4f136477913150e6f9a6f5aba19fc67701f73080..e3b1b1261f4a9722d656d30c35891730a552d1b4 100644
3--- a/plugins/archlinux/archlinux.plugin.zsh
4+++ b/plugins/archlinux/archlinux.plugin.zsh
5@@ -23,7 +23,6 @@ alias pacfiles='pacman -F'
6 alias pacls='pacman -Ql'
7 alias pacown='pacman -Qo'
8 alias pacupd="sudo pacman -Sy"
9-alias upgrade='sudo pacman -Syu'
10
11 function paclist() {
12 # Based on https://bbs.archlinux.org/viewtopic.php?id=93683
13@@ -109,7 +108,6 @@ if (( $+commands[aura] )); then
14 alias auupd="sudo aura -Sy"
15 alias auupg='sudo sh -c "aura -Syu && aura -Au"'
16 alias ausu='sudo sh -c "aura -Syu --no-confirm && aura -Au --no-confirm"'
17- alias upgrade='sudo aura -Syu'
18
19 # extra bonus specially for aura
20 alias auown="aura -Qqo"
21@@ -136,7 +134,6 @@ if (( $+commands[pacaur] )); then
22 alias painsd='pacaur -S --asdeps'
23 alias pamir='pacaur -Syy'
24 alias paupd="pacaur -Sy"
25- alias upgrade='pacaur -Syu'
26 fi
27
28 if (( $+commands[trizen] )); then
29@@ -158,7 +155,6 @@ if (( $+commands[trizen] )); then
30 alias trinsd='trizen -S --asdeps'
31 alias trmir='trizen -Syy'
32 alias trupd="trizen -Sy"
33- alias upgrade='trizen -Syu'
34 fi
35
36 if (( $+commands[yay] )); then
37@@ -180,5 +176,30 @@ if (( $+commands[yay] )); then
38 alias yainsd='yay -S --asdeps'
39 alias yamir='yay -Syy'
40 alias yaupd="yay -Sy"
41- alias upgrade='yay -Syu'
42 fi
43+
44+# Check Arch Linux PGP Keyring before System Upgrade to prevent failure.
45+function upgrade() {
46+ echo "[oh-my-zsh] Checking Arch Linux PGP Keyring"
47+ local installedver="$(sudo pacman -Qi archlinux-keyring | grep -Po '(?<=Version : ).*')"
48+ local currentver="$(sudo pacman -Si archlinux-keyring | grep -Po '(?<=Version : ).*')"
49+ if [ $installedver != $currentver ]; then
50+ echo "[oh-my-zsh] Arch Linux PGP Keyring is out of date."
51+ echo "[oh-my-zsh] Updating before full system upgrade."
52+ sudo pacman -Syu --needed --noconfirm archlinux-keyring
53+ else
54+ echo "[oh-my-zsh] Arch Linux PGP Keyring is up to date."
55+ fi
56+ echo "[oh-mh-zsh] Proceeding with full system upgrade."
57+ if (( $+commands[yay] )); then
58+ yay -Syu
59+ elif (( $+commands[trizen] )); then
60+ trizen -Syu
61+ elif (( $+commands[pacaur] )); then
62+ pacaur -Syu
63+ elif (( $+commands[aura] )); then
64+ sudo aura -Syu
65+ else
66+ sudo pacman -Syu
67+ fi
68+}