summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/why-dont-you18
1 files changed, 17 insertions, 1 deletions
diff --git a/bin/why-dont-you b/bin/why-dont-you
index 3f86817..8dec6c4 100755
--- a/bin/why-dont-you
+++ b/bin/why-dont-you
@@ -168,7 +168,16 @@ case "${action}" in
;;
- 'keep')
+ 'keep'|'stubbornly_keep')
+
+ find '/var/lib/pacman/sync' -name '*.db' -execdir bsdtar -tf '{}' \; | \
+ sed -n '
+ s|-[^-]\+-[^-]\+/$||
+ T
+ p
+ ' | \
+ sort -u > \
+ "${tmp_dir}/upstream-packages"
while read -r pkg; do
@@ -244,6 +253,13 @@ case "${action}" in
continue
fi
+ if ! grep -qxF "${pkg}" "${tmp_dir}/upstream-packages"; then
+ printf 'Package "%s" is not available upstream.\n' "${pkg}"
+ if [ "${action}" = 'keep' ]; then
+ continue
+ fi
+ fi
+
if git -C "${repo_paths__archlinux32}" archive "$(cat "${work_dir}/archlinux32.revision")" -- blacklist | \
tar -Ox 'blacklist' | \
sed '