aboutsummaryrefslogtreecommitdiff
path: root/tools/cpt-checksum
blob: cb01d899a481905f418d25097e6152f44b64f69d (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
27
28
29
30
#!/bin/sh -ef
# Generate checksums

# shellcheck disable=1091
if command -v cpt-lib >/dev/null; then . cpt-lib; else . ../lib.sh; fi

case "$1" in
    --help|-h) out "usage: ${0##*/} [pkg...]"; exit 1 ;;
    --version|-v) version ;;
    '') set -- "${PWD##*/}"; export CPT_PATH=${PWD%/*}:$CPT_PATH ;;
esac

for pkg; do pkg_lint    "$pkg" c; done
for pkg; do pkg_sources "$pkg" c; done

for pkg; do
    pkg_checksums "$pkg" | {
        repo_dir=$(pkg_find "$pkg")

        if [ -w "$repo_dir" ]; then
            tee "$repo_dir/checksums"
        else
            log "$pkg" "Need permissions to generate checksums"

            user=$(cpt-stat "$repo_dir") as_root tee "$repo_dir/checksums"
        fi
    }

    log "$pkg" "Generated checksums"
done