aboutsummaryrefslogtreecommitdiff
path: root/tools/cpm/check-hash.sh
blob: 85c60aad8c8313c26c6af9cd892cc0f7f584a093 (plain) (blame)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/sh -e

# SPDX-FileCopyrightText: 2025 crueter
# SPDX-License-Identifier: GPL-3.0-or-later

# env vars:
# - UPDATE: fix hashes if needed

# shellcheck disable=SC1091
. tools/cpm/common.sh

RETURN=0

for PACKAGE in "$@"
do
	export PACKAGE
	# shellcheck disable=SC1091
	. tools/cpm/package.sh

    if [ "$CI" != null ]; then
        continue
    fi

    [ "$HASH_URL" != null ] && continue
    [ "$HASH_SUFFIX" != null ] && continue

    echo "-- Package $PACKAGE"

    [ "$HASH" = null ] && echo "-- * Warning: no hash specified" && continue

    export USE_TAG=true
    ACTUAL=$(tools/cpm/url-hash.sh "$DOWNLOAD")

    # shellcheck disable=SC2028
    [ "$ACTUAL" != "$HASH" ] && echo "-- * Expected $HASH" && echo "-- * Got      $ACTUAL" && [ "$UPDATE" != "true" ] && RETURN=1

    if [ "$UPDATE" = "true" ] && [ "$ACTUAL" != "$HASH" ]; then
        # shellcheck disable=SC2034
        NEW_JSON=$(echo "$JSON" | jq ".hash = \"$ACTUAL\"")
		export NEW_JSON

		tools/cpm/replace.sh
    fi
done

exit $RETURN