nvchecker/scripts/arch_repopkg_unmonitored

30 lines
697 B
Bash
Executable File

#!/bin/bash -e
if [[ $# -ne 2 || ! -r $1 || -z $2 ]]; then
echo >&2 "usage: arch_repopkg_unmonitored config.ini pkg_list or repository_name"
exit 1
fi
tmp_configured=$(mktemp)
tmp_list=$(mktemp)
trap 'rm -f "$tmp_configured" "$tmp_list"' INT QUIT TERM EXIT
config=$1
if [[ -r $2 ]]; then
sort "$2" > "$tmp_list"
else
pacman -Sl "$2" | cut -d' ' -f2 | sort > "$tmp_list"
fi
# Also take commented-out items into account
grep -oP '^(?:[;#]\s*)?\[.*(?=]$)' "$config" | sed 's/^\([;#]\s*\)\?\[//;/^__/d' | sort > "$tmp_configured"
echo ">>> Un-monitored list:"
comm -23 "$tmp_list" "$tmp_configured"
echo
echo ">>> Monitored but not in list:"
comm -13 "$tmp_list" "$tmp_configured"
echo