From b8f5daa778eeca4da0013ddd62eed51011661450 Mon Sep 17 00:00:00 2001 From: Tracey Clark Date: Fri, 29 Mar 2019 08:55:30 -0500 Subject: [PATCH] Added checkPPAs script which checks PPAs for how many things installed from and if the source is still available --- checkPPAs.sh | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 checkPPAs.sh diff --git a/checkPPAs.sh b/checkPPAs.sh new file mode 100755 index 0000000..2fd3797 --- /dev/null +++ b/checkPPAs.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash +for f in /etc/apt/sources.list.d/*.list; do + grep -Po "(?<=^deb\s).*?(?=#|$)" "$f" | while read -r ENTRY ; do + echo "ENTRY: $ENTRY" + HOST=$(cut -d/ -f3 <<< "$ENTRY") + + if [ "ppa.launchpad.net" = "$HOST" ]; then + USER=$(cut -d/ -f4 <<< "$ENTRY") + PPA=$(cut -d/ -f5 <<< "$ENTRY") + packageCount=$(awk '$1=="Package:" {if (a[$2]++ == 0) {system("dpkg -l "$2)}}' /var/lib/apt/lists/*"$USER"*"$PPA"*Packages 2>/dev/null | awk '/^ii/' | wc -l) + echo "PPA: ppa:$USER/$PPA" + echo "FILENAME: $f" + echo "$packageCount package(s) installed" + if [ "$packageCount" -eq 0 ] && [ "$1" == "--delete" ]; then + sudo rm "$f" && echo "$f deleted" + fi + echo + else + USER=$(cut -d/ -f3 <<< "$ENTRY") + PPA=$(cut -d/ -f4 <<< "$ENTRY") + packageCount=$(awk '$1=="Package:" {if (a[$2]++ == 0) {system("dpkg -l "$2)}}' /var/lib/apt/lists/*"$USER"*Packages 2>/dev/null | awk '/^ii/' | wc -l) + echo "REPOSITORY: $USER/$PPA" + echo "FILENAME: $f" + echo "$packageCount package(s) installed" + if [ "$packageCount" -eq 0 ] && [ "$1" == "--delete" ]; then + sudo rm "$f" && echo "$f deleted" + fi + echo + fi + done +done