summaryrefslogtreecommitdiff
path: root/plugins/archlinux/archlinux.plugin.zsh
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2023-11-04 18:38:46 -0700
committerTuowen Zhao <ztuowen@gmail.com>2023-11-04 18:38:46 -0700
commit4d908094fdc2a0c0e9a0a072eba213fab7adef43 (patch)
tree7c17e70bcdeebbe96c84d849bdf17882007480d8 /plugins/archlinux/archlinux.plugin.zsh
parent4b0bbc0b263a150eb9a9b59f196914629be06a9b (diff)
parent632ed413a9ce62747ded83d7736491b081be4b49 (diff)
downloadzsh-4d908094fdc2a0c0e9a0a072eba213fab7adef43.tar.gz
zsh-4d908094fdc2a0c0e9a0a072eba213fab7adef43.tar.bz2
zsh-4d908094fdc2a0c0e9a0a072eba213fab7adef43.zip
Merge remote-tracking branch 'github/master'HEADmaster
Diffstat (limited to 'plugins/archlinux/archlinux.plugin.zsh')
-rw-r--r--plugins/archlinux/archlinux.plugin.zsh51
1 files changed, 35 insertions, 16 deletions
diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh
index 4f1364779..fca6548c0 100644
--- a/plugins/archlinux/archlinux.plugin.zsh
+++ b/plugins/archlinux/archlinux.plugin.zsh
@@ -23,30 +23,27 @@ alias pacfiles='pacman -F'
alias pacls='pacman -Ql'
alias pacown='pacman -Qo'
alias pacupd="sudo pacman -Sy"
-alias upgrade='sudo pacman -Syu'
function paclist() {
- # Based on https://bbs.archlinux.org/viewtopic.php?id=93683
- pacman -Qqe | \
- xargs -I '{}' \
- expac "${bold_color}% 20n ${fg_no_bold[white]}%d${reset_color}" '{}'
+ pacman -Qqe | xargs -I{} -P0 --no-run-if-empty pacman -Qs --color=auto "^{}\$"
}
function pacdisowned() {
- local tmp db fs
- tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
- db=$tmp/db
- fs=$tmp/fs
+ local tmp_dir db fs
+ tmp_dir=$(mktemp --directory)
+ db=$tmp_dir/db
+ fs=$tmp_dir/fs
- mkdir "$tmp"
- trap 'rm -rf "$tmp"' EXIT
+ trap "rm -rf $tmp_dir" EXIT
pacman -Qlq | sort -u > "$db"
- find /bin /etc /lib /sbin /usr ! -name lost+found \
+ find /etc /usr ! -name lost+found \
\( -type d -printf '%p/\n' -o -print \) | sort > "$fs"
comm -23 "$fs" "$db"
+
+ rm -rf $tmp_dir
}
alias pacmanallkeys='sudo pacman-key --refresh-keys'
@@ -109,7 +106,6 @@ if (( $+commands[aura] )); then
alias auupd="sudo aura -Sy"
alias auupg='sudo sh -c "aura -Syu && aura -Au"'
alias ausu='sudo sh -c "aura -Syu --no-confirm && aura -Au --no-confirm"'
- alias upgrade='sudo aura -Syu'
# extra bonus specially for aura
alias auown="aura -Qqo"
@@ -136,7 +132,6 @@ if (( $+commands[pacaur] )); then
alias painsd='pacaur -S --asdeps'
alias pamir='pacaur -Syy'
alias paupd="pacaur -Sy"
- alias upgrade='pacaur -Syu'
fi
if (( $+commands[trizen] )); then
@@ -158,7 +153,6 @@ if (( $+commands[trizen] )); then
alias trinsd='trizen -S --asdeps'
alias trmir='trizen -Syy'
alias trupd="trizen -Sy"
- alias upgrade='trizen -Syu'
fi
if (( $+commands[yay] )); then
@@ -180,5 +174,30 @@ if (( $+commands[yay] )); then
alias yainsd='yay -S --asdeps'
alias yamir='yay -Syy'
alias yaupd="yay -Sy"
- alias upgrade='yay -Syu'
fi
+
+# Check Arch Linux PGP Keyring before System Upgrade to prevent failure.
+function upgrade() {
+ echo ":: Checking Arch Linux PGP Keyring..."
+ local installedver="$(sudo pacman -Qi archlinux-keyring | grep -Po '(?<=Version : ).*')"
+ local currentver="$(sudo pacman -Si archlinux-keyring | grep -Po '(?<=Version : ).*')"
+ if [ $installedver != $currentver ]; then
+ echo " Arch Linux PGP Keyring is out of date."
+ echo " Updating before full system upgrade."
+ sudo pacman -Sy --needed --noconfirm archlinux-keyring
+ else
+ echo " Arch Linux PGP Keyring is up to date."
+ echo " Proceeding with full system upgrade."
+ fi
+ if (( $+commands[yay] )); then
+ yay -Syu
+ elif (( $+commands[trizen] )); then
+ trizen -Syu
+ elif (( $+commands[pacaur] )); then
+ pacaur -Syu
+ elif (( $+commands[aura] )); then
+ sudo aura -Syu
+ else
+ sudo pacman -Syu
+ fi
+}