diff options
-rwxr-xr-x | packages.sh (renamed from packages-diff.sh) | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/packages-diff.sh b/packages.sh index b60d81f..454e0e5 100755 --- a/packages-diff.sh +++ b/packages.sh @@ -1,6 +1,7 @@ #!/bin/bash -grps=($(sed -n -e 's/#.*//;s/^g://p' < packages.txt)) -pkgs=($(sed -n -e 's/#.*//;s/^p://p' < packages.txt)) +all=($(< packages.txt sed 's/#.*//' | xargs printf -- '%s\n' | sort -u)) +grps=($(printf -- '%s\n' "${all[@]}" | sed -n 's/^g://p')) +pkgs=($(printf -- '%s\n' "${all[@]}" | sed -n 's/^p://p')) echo ' => In packages.txt, but not installed' comm -13 \ @@ -14,5 +15,11 @@ comm -23 \ <({ pacman -Qgq -- "${grps[@]}"; printf '%s\n' "${pkgs[@]}"; }|sort -u) | sed 's|^| -> |' +echo ' => Installed as dependencies, but only optionally needed' +comm -23 \ + <(pacman -Qdttq|sort -u) \ + <(pacman -Qdtq |sort -u) | +sed 's|^| -> |' + echo ' => Installed as dependencies, but no longer needed' pacman -Qdtq|sort -u |sed 's|^| -> |' |