aboutsummaryrefslogtreecommitdiff
path: root/contrib/cpt-size
blob: 456fa25ed948fc37d1359e6daace8fd2e6e3203e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh -ef
# Show the size on disk for a package

case "$1" in
    --help|-h)
        printf '%s\n' "usage: ${0##*/} [pkg]"
        exit 0
        ;;
    '') set -- "${PWD##*/}"
esac

cpt-search "$1" >/dev/null

# Filter directories from manifest and leave only files.
# Directories in the manifest end in a trailing '/'.
files=$(sed 's|.*/$||' "$CPT_ROOT/var/db/cpt/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