diff options
Diffstat (limited to 'contrib/kiss-size')
-rwxr-xr-x | contrib/kiss-size | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/contrib/kiss-size b/contrib/kiss-size new file mode 100755 index 0000000..72365a4 --- /dev/null +++ b/contrib/kiss-size @@ -0,0 +1,21 @@ +#!/bin/sh -ef +# +# kiss-size - Show the size on disk for a package. + +db_dir=$KISS_ROOT/var/db/kiss/installed/${1-null} + +# Check if package is installed and exit if it is not. +[ -d "$db_dir" ] || { + printf '%s\n' "error: '$1' not installed." >&2 + exit 1 +} + +# Filter directories from manifest and leave only files. +# Directories in the manifest end in a trailing '/'. +files=$(sed 's|.*/$||' "$db_dir/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 |