summaryrefslogtreecommitdiff
path: root/scripts/fetch-curl.sh
blob: 4604a398710f518587873d4f397d056fdc65f5df (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
31
32
33
34
35
36
37
38
39
40
set -e

if [ "$#" != 1 ] ; then
	echo 'usage: fetch-curl.sh dir' >&2
	exit 2
fi

dir=$1
shift

cd "$dir"

if [ -e src ] ; then
	rm -rf src
fi

if ! sha256sum -c sha256 2>/dev/null ; then
	curl -L -K url -O
	sha256sum -c sha256
fi

while read -r checksum archive ; do
	case $archive in
	*.tar.gz|*.tgz)
		tool=zcat ;;
	*.tar.bz2)
		tool=bzcat ;;
	*.tar.xz)
		tool=xzcat ;;
	*)
		tool=
	esac
	if [ -n "$tool" ] ; then
		"$tool" "$archive" | ${PAXREAD:-pax -r} -s ',^[^/]*,src,' '*/*'
	fi
done <sha256

if [ -d patch ] ; then
	git apply -v --whitespace=nowarn --directory "$dir/src" patch/*
fi