aboutsummaryrefslogtreecommitdiff
path: root/contrib/cpt-size
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/cpt-size')
-rwxr-xr-xcontrib/cpt-size15
1 files changed, 15 insertions, 0 deletions
diff --git a/contrib/cpt-size b/contrib/cpt-size
new file mode 100755
index 0000000..d2e8259
--- /dev/null
+++ b/contrib/cpt-size
@@ -0,0 +1,15 @@
+#!/bin/sh -ef
+# Show the size on disk for a package
+
+case "$1" in ''|--help|-h) printf '%s\n' "usage: kiss-size [pkg]" ; exit 0 ; esac
+kiss s "$1" >/dev/null
+
+# Filter directories from manifest and leave only files.
+# Directories in the manifest end in a trailing '/'.
+files=$(sed 's|.*/$||' "$KISS_ROOT/var/db/kiss/installed/$1/manifest")
+
+# Send the file list to 'du'.
+# This unquoted variable is safe as word splitting is intended
+# and globbing is globally disabled in this script.
+# shellcheck disable=2086
+du -shc -- $files 2>/dev/null