aboutsummaryrefslogtreecommitdiffstats
path: root/main/abuild/0002-add-fetch-from-source-mirror.patch
blob: 926dbcc9a1d0738e40fded04d58070537e4c6d28 (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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
diff -rupN orig/abuild-2.1/abuild.in src/abuild-2.1/abuild.in
--- orig/abuild-2.1/abuild.in	2009-12-30 04:05:49.000000000 -0500
+++ src/abuild-2.1/abuild.in	2010-04-29 09:21:43.000000000 -0400
@@ -149,12 +149,11 @@ md5check() {
 
 uri_fetch() {
 	local uri="$1"
-	local d="${s##*/}"	# $(basename $s)
+	local d="${uri##*/}"	# $(basename $uri)
 	local opts
 	[ -n "$quiet" ] && opts="-q"
 	[ -f "$SRCDEST/$d" ] && return 0
 
-	
 	# we need GNU wget for this
 	case "$uri" in
 		https://*) opts="--no-check-certificate";;
@@ -178,12 +177,22 @@ is_remote() {
 	return 1
 }
 
+# try download from file from mirror first
+uri_fetch_mirror() {
+	local uri="$1"
+	local d="${uri##*/}"	# $(basename $uri)
+	if [ -n "$DISTFILES_MIRROR" ]; then
+		uri_fetch "$DISTFILES_MIRROR"/$d && return 0
+	fi
+	uri_fetch "$uri"
+}
+
 default_fetch() {
 	local s
 	mkdir -p "$srcdir"
 	for s in $source; do
 		if is_remote "$s"; then
-			uri_fetch "$s" || return 1
+			uri_fetch_mirror "$s" || return 1
 			ln -sf "$SRCDEST/${s##*/}" "$srcdir"/
 		else		
 			ln -sf "$startdir/$s" "$srcdir/"
@@ -308,6 +317,12 @@ build() {
 	:
 }
 
+# generate a simple tar.gz package of pkgdir
+targz() {
+	cd "$pkgdir" || return 1
+	tar -czf "$PKGDEST"/$pkgname-$pkgver-r$pkgrel.tar.gz *
+}
+
 get_split_func() {
 	# get the 'func' from "sub-pkg:func"
 	local func=${1##*:}
@@ -712,8 +727,8 @@ up2date() {
 depparse_aports() {
 	# lets run this in a subshell since we source all APKBUILD here
 	(
-	aportsdir=$(realpath ${APKBUILD%/APKBUILD}/../..)
-	for i in $aportsdir/*/*/APKBUILD; do
+	aportsdir=$(realpath ${APKBUILD%/APKBUILD}/..)
+	for i in $aportsdir/*/APKBUILD; do
 		pkgname=
 		subpackages=
 		depends=
@@ -811,7 +826,13 @@ builddeps() {
 
 	uninstall_after=".makedepends-$pkgname $uninstall_after"
 	if [ -n "$install_deps" ] && [ -z "$recursive" ]; then
+		# make a --simluate run first to detect missing deps
+		# apk-tools --virtual is no goot at reporting those.
+		$SUDO apk add --repository "$apkcache" \
+			--wait 30 \
+			--simulate --quiet $deps || return 1
 		$SUDO apk add --repository "$apkcache" \
+			--wait 30 \
 			--virtual .makedepends-$pkgname $deps \
 			&& return 0
 	fi
@@ -834,6 +855,7 @@ builddeps() {
 		cd "$dir" && $0 -k -r apkcache || return 1
 	done
 	$SUDO apk add -u --repository "$apkcache" \
+		--wait 30 \
 		--virtual .makedepends-$pkgname $deps
 }
 
@@ -945,12 +967,13 @@ post_add() {
 			post_add $i || return 1
 		fi
 	done
-	$SUDO apk add -u "$pkgf" || die "Failed to install $1"
+	$SUDO apk add --wait 30 -u "$pkgf" || die "Failed to install $1"
 }
 
 installdeps() {
 	local deps i
-	sudo apk add --repository "$apkcache" --virtual .makedepends-$pkgname \
+	sudo apk add --wait 30 --repository "$apkcache" \
+		--virtual .makedepends-$pkgname \
 		$makedepends
 }