diff options
-rwxr-xr-x | bin/why-dont-you | 18 |
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 ' |