build: specify a dist.ipfs.io hash
Right now bin/dist_get trusts whatever DNS resolver is active. This change enables it to verify what it downloads. Verification itself remains TODO. This will work best with a unixfs-hash tool which is TODO too. It'd just do the equivalent of `ipfs add -n -r <dirOrFile>`. License: MIT Signed-off-by: Lars Gierth <larsg@systemli.org>
Lars Gierth committed
May 17, 2016 at 02:24 UTC
864e305557524e53e1b13c85a50de0d916110da8
2 files changed
+15
-12
Makefile
+3
-2
@@ -10,6 +10,7 @@ else
10
endif
11
12
13
+dist_root=/ipfs/QmXZQzBAFuoELw3NtjQZHkWSdA332PyQUj6pQjuhEukvg8
14
gx_bin=bin/gx-v0.7.0
15
gx-go_bin=bin/gx-go-v1.2.0
16
@@ -27,13 +28,13 @@ go_check:
28
29
bin/gx-v%:
30
@echo "installing gx $(@:bin/gx-%=%)"
30
- @bin/dist_get gx $@ $(@:bin/gx-%=%)
31
+ @bin/dist_get ${dist_root} gx $@ $(@:bin/gx-%=%)
32
rm -f bin/gx
33
ln -s $(@:bin/%=%) bin/gx
34
35
bin/gx-go-v%:
36
@echo "installing gx-go $(@:bin/gx-go-%=%)"
36
- @bin/dist_get gx-go $@ $(@:bin/gx-go-%=%)
37
+ @bin/dist_get ${dist_root} gx-go $@ $(@:bin/gx-go-%=%)
38
rm -f bin/gx-go
39
ln -s $(@:bin/%=%) bin/gx-go
40
bin/dist_get
+12
-10
@@ -85,20 +85,22 @@ get_go_vars() {
85
}
86
87
mkurl() {
88
- m_name="$1"
89
- m_vers="$2"
90
- m_archive="$3"
88
+ m_root="$1"
89
+ m_name="$2"
90
+ m_vers="$3"
91
+ m_archive="$4"
92
m_govars=$(get_go_vars) || die "could not get go env vars"
93
93
- echo "http://dist.ipfs.io/$m_name/$m_vers/${m_name}_${m_vers}_$m_govars.$m_archive"
94
+ echo "https://ipfs.io$m_root/$m_name/$m_vers/${m_name}_${m_vers}_$m_govars.$m_archive"
95
}
96
96
-distname="$1"
97
-outpath="$2"
98
-version="$3"
97
+distroot="$1"
98
+distname="$2"
99
+outpath="$3"
100
+version="$4"
101
100
-if [ -z "$distname" ] || [ -z "$outpath" ] || [ -z "$version" ]; then
101
- die "usage: dist_get <distname> <outpath> <version>"
102
+if [ -z "$distroot" ] || [ -z "$distname" ] || [ -z "$outpath" ] || [ -z "$version" ]; then
103
+ die "usage: dist_get <distroot> <distname> <outpath> <version>"
104
fi
105
106
case $version in
@@ -135,7 +137,7 @@ esac
137
138
mkdir -p bin/tmp
139
138
-url=$(mkurl "$distname" "$version" "$archive")
140
+url=$(mkurl "$distroot" "$distname" "$version" "$archive")
141
tmpfi="bin/tmp/$distname.$archive"
142
143
download "$url" "$tmpfi"