aboutsummaryrefslogtreecommitdiff
path: root/tools/cpm/package/fetch.sh
blob: 774ecc7a2950b25b81745160411403b848460bea (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
#!/bin/sh -e

# SPDX-FileCopyrightText: Copyright 2026 crueter
# SPDX-License-Identifier: LGPL-3.0-or-later

# shellcheck disable=SC1091
. "$SCRIPTS/util/fetch.sh"

usage() {
	cat <<EOF
Usage: cpmutil.sh package fetch [a|--all] [PACKAGE]...

Fetch the specified package or packages from their defined download locations.
If the package is already cached, it will not be re-fetched.

EOF

	exit 0
}

while :; do
	case "$1" in
	-h | --help) usage ;;
	-a | --all) ALL=1 ;;
	"$0") break ;;
	"") break ;;
	*) packages="$packages $1" ;;
	esac

	shift
done

[ "$ALL" != 1 ] || packages="${LIBS:-$packages}"
[ -n "$packages" ] || usage

for PACKAGE in $packages; do
	unset JSON
	export PACKAGE

	# shellcheck disable=SC1091
	. "$SCRIPTS"/vars.sh

	fetch_package
done