refactor(os): Do normal pacman installs, don't prepend keyring nor ZFS installs (#3)

This commit is contained in:
hygienic-books 2023-10-21 00:57:32 +02:00
parent c7e59ba0cb
commit de4f3f2066

View File

@ -461,54 +461,6 @@ curl --silent '${this_script_url}' | bash
EOF
}
function get_pkg_info () {
declare from_where local_pkg_info local_pkg_version version_search
from_where="${1}"
version_search='/Version/{print $3}'
pkg_info="$(paru -$([[ "${from_where}" == 'local' ]] && printf -- '%s' 'Q' || printf -- '%s' 'S')i "${2}" 2>&1)"
if [[ "${from_where}" == 'local' ]] && grep -Piq -- '^error: package .*? was not found' <<<"${pkg_info}"; then
return 1
else
local_pkg_version="$(awk "${version_search}" <<<"${pkg_info}")"
fi
printf -- '%s' "${local_pkg_version}"
return 0
}
function paru_with_zfs_first () {
if [[ "${#}" -eq '0' ]]; then
declare -A local_pkg_info
/usr/bin/paru -Sy
if local_pkg_info['zfs-dkms']="$(get_pkg_info 'local' 'zfs-dkms')" && local_pkg_info['zfs-utils']="$(get_pkg_info 'local' 'zfs-utils')"; then
local_pkg_info['zfs-dkms']="$(get_pkg_info 'local' 'zfs-dkms')"
local_pkg_info['zfs-utils']="$(get_pkg_info 'local' 'zfs-utils')"
declare -A remote_pkg_info
remote_pkg_info['zfs-dkms']="$(get_pkg_info 'remote' 'zfs-dkms')"
remote_pkg_info['zfs-utils']="$(get_pkg_info 'remote' 'zfs-utils')"
/usr/bin/paru -S --needed archlinux-keyring
if [[ "${local_pkg_info['zfs-dkms']}" == "${remote_pkg_info['zfs-dkms']}" ]] && \
[[ "${local_pkg_info['zfs-utils']}" == "${remote_pkg_info['zfs-utils']}" ]]; then
/usr/bin/paru -Su
else
/usr/bin/paru -Sy 'zfs-dkms' 'zfs-utils' \
--assume-installed zfs-dkms="${local_pkg_info['zfs-dkms']}" \
--assume-installed zfs-dkms="${remote_pkg_info['zfs-dkms']}" \
--assume-installed zfs-utils="${local_pkg_info['zfs-utils']}" \
--assume-installed zfs-utils="${remote_pkg_info['zfs-utils']}"
/usr/bin/paru -Su
fi
else
/usr/bin/paru -S --needed archlinux-keyring
/usr/bin/paru -Su
fi
else
/usr/bin/paru "${@}"
fi
}
function create_unpriv_user () {
account_name="${1:?}"
full_name="${2:-${account_name}}"
@ -545,7 +497,6 @@ function get_aur_helper () {
popd
rm -rf 'paru'
popd
alias paru='paru_with_zfs_first'
}
function paru_install () {