#!/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