fix(install): replace set-diff membership with per-package pacman -Qq --quiet query (deterministic)
This commit is contained in:
1 parent
c8cac879e6
commit
d0c90fccbd
1 file changed
+3
-3
+3
-3
@@ -53,10 +53,10 @@ if [[ -f "$REPO/packages/aur.pkgs" ]]; then
|
|||||||
mapfile -t AUR_PKGS < <(read_manifest "$REPO/packages/aur.pkgs")
|
mapfile -t AUR_PKGS < <(read_manifest "$REPO/packages/aur.pkgs")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mapfile -t INSTALLED < <(pacman -Qq | sort)
|
# Membership via direct DB query per package — deterministic, no set-diff plumbing.
|
||||||
DELTAC=()
|
DELTAC=()
|
||||||
for p in "${PKGS[@]}"; do
|
for p in "${PKGS[@]}"; do
|
||||||
printf '%s\n' "${INSTALLED[@]}" | grep -qx -- "$p" || DELTAC+=("$p")
|
pacman -Qq --quiet -- "$p" >/dev/null || DELTAC+=("$p")
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "install.sh [$MODE] host=$HOST"
|
echo "install.sh [$MODE] host=$HOST"
|
||||||
@@ -66,7 +66,7 @@ else
|
|||||||
echo "repo pkgs to install: ${DELTAC[*]}"
|
echo "repo pkgs to install: ${DELTAC[*]}"
|
||||||
fi
|
fi
|
||||||
for p in "${AUR_PKGS[@]}"; do
|
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
|
done
|
||||||
|
|
||||||
[[ "$MODE" == "check" ]] && exit 0
|
[[ "$MODE" == "check" ]] && exit 0
|
||||||
|
|||||||
Reference in new issue
Block a user