aboutsummaryrefslogtreecommitdiff
path: root/contrib/cpt-size
blob: 0e7b9d6860b218cb15c2641622d80fdd16a21ba8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/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

for pkg; do cpt-list "$pkg" >/dev/null; done

files=
for pkg; do
    while read -r file; do
        # Filter directories from manifest and leave only files.
        # Directories in the manifest end in a trailing '/'.
        case $file in */) continue; esac
        files="$files '$file'"
    done < "$CPT_ROOT/var/db/cpt/installed/$pkg/manifest"
done
eval "set -- $files"

# Send the file list to 'du'.
du -shc -- "$@" 2>/dev/null