fix(install): replace set-diff membership with per-package pacman -Qq --quiet query (deterministic)

This commit is contained in:
Frank
2026-09-10 21:01:55 -07:00
parent c8cac879e6
commit d0c90fccbd
+3 -3
View File
@@ -53,10 +53,10 @@ if [[ -f "$REPO/packages/aur.pkgs" ]]; then
mapfile -t AUR_PKGS < <(read_manifest "$REPO/packages/aur.pkgs")
fi
mapfile -t INSTALLED < <(pacman -Qq | sort)
# Membership via direct DB query per package — deterministic, no set-diff plumbing.
DELTAC=()
for p in "${PKGS[@]}"; do
printf '%s\n' "${INSTALLED[@]}" | grep -qx -- "$p" || DELTAC+=("$p")
pacman -Qq --quiet -- "$p" >/dev/null || DELTAC+=("$p")
done
echo "install.sh [$MODE] host=$HOST"
@@ -66,7 +66,7 @@ else
echo "repo pkgs to install: ${DELTAC[*]}"
fi
for p in "${AUR_PKGS[@]}"; do
printf '%s\n' "${INSTALLED[@]}" | grep -qx -- "$p" || echo "aur pkg pending: $p"
pacman -Qq --quiet -- "$p" >/dev/null || echo "aur pkg pending: $p"
done
[[ "$MODE" == "check" ]] && exit 0