summaryrefslogtreecommitdiff
path: root/packages-by-component
diff options
context:
space:
mode:
Diffstat (limited to 'packages-by-component')
-rwxr-xr-xpackages-by-component28
1 files changed, 28 insertions, 0 deletions
diff --git a/packages-by-component b/packages-by-component
new file mode 100755
index 0000000..b4ab600
--- /dev/null
+++ b/packages-by-component
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+set -e
+
+print_help() {
+ cat <<EOF
+Usage: $(basename "$0") COMPONENT
+
+COMPONENT - name of component (ex.: contrib, non-free)
+EOF
+ exit 1
+}
+
+list_installed() {
+ dpkg -l | grep '^ii' | cut -d ' ' -f 3 | cut -d ':' -f 1 | sort -u
+}
+
+list_packages() {
+ component="$1"
+ grep '^Package:' /var/lib/apt/lists/*_"${component}"_*Packages | cut -d ' ' -f 2 | sort -u
+
+}
+
+if [ $# -lt 1 ] ; then
+ print_help
+fi
+
+comm -12 <(list_installed) <(list_packages "$1")