mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-26 23:53:19 +08:00
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>
This commit is contained in:
5
Makefile
5
Makefile
@ -10,6 +10,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
dist_root=/ipfs/QmXZQzBAFuoELw3NtjQZHkWSdA332PyQUj6pQjuhEukvg8
|
||||||
gx_bin=bin/gx-v0.7.0
|
gx_bin=bin/gx-v0.7.0
|
||||||
gx-go_bin=bin/gx-go-v1.2.0
|
gx-go_bin=bin/gx-go-v1.2.0
|
||||||
|
|
||||||
@ -27,13 +28,13 @@ go_check:
|
|||||||
|
|
||||||
bin/gx-v%:
|
bin/gx-v%:
|
||||||
@echo "installing gx $(@:bin/gx-%=%)"
|
@echo "installing gx $(@:bin/gx-%=%)"
|
||||||
@bin/dist_get gx $@ $(@:bin/gx-%=%)
|
@bin/dist_get ${dist_root} gx $@ $(@:bin/gx-%=%)
|
||||||
rm -f bin/gx
|
rm -f bin/gx
|
||||||
ln -s $(@:bin/%=%) bin/gx
|
ln -s $(@:bin/%=%) bin/gx
|
||||||
|
|
||||||
bin/gx-go-v%:
|
bin/gx-go-v%:
|
||||||
@echo "installing gx-go $(@:bin/gx-go-%=%)"
|
@echo "installing gx-go $(@:bin/gx-go-%=%)"
|
||||||
@bin/dist_get gx-go $@ $(@:bin/gx-go-%=%)
|
@bin/dist_get ${dist_root} gx-go $@ $(@:bin/gx-go-%=%)
|
||||||
rm -f bin/gx-go
|
rm -f bin/gx-go
|
||||||
ln -s $(@:bin/%=%) bin/gx-go
|
ln -s $(@:bin/%=%) bin/gx-go
|
||||||
|
|
||||||
|
22
bin/dist_get
22
bin/dist_get
@ -85,20 +85,22 @@ get_go_vars() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mkurl() {
|
mkurl() {
|
||||||
m_name="$1"
|
m_root="$1"
|
||||||
m_vers="$2"
|
m_name="$2"
|
||||||
m_archive="$3"
|
m_vers="$3"
|
||||||
|
m_archive="$4"
|
||||||
m_govars=$(get_go_vars) || die "could not get go env vars"
|
m_govars=$(get_go_vars) || die "could not get go env vars"
|
||||||
|
|
||||||
echo "http://dist.ipfs.io/$m_name/$m_vers/${m_name}_${m_vers}_$m_govars.$m_archive"
|
echo "https://ipfs.io$m_root/$m_name/$m_vers/${m_name}_${m_vers}_$m_govars.$m_archive"
|
||||||
}
|
}
|
||||||
|
|
||||||
distname="$1"
|
distroot="$1"
|
||||||
outpath="$2"
|
distname="$2"
|
||||||
version="$3"
|
outpath="$3"
|
||||||
|
version="$4"
|
||||||
|
|
||||||
if [ -z "$distname" ] || [ -z "$outpath" ] || [ -z "$version" ]; then
|
if [ -z "$distroot" ] || [ -z "$distname" ] || [ -z "$outpath" ] || [ -z "$version" ]; then
|
||||||
die "usage: dist_get <distname> <outpath> <version>"
|
die "usage: dist_get <distroot> <distname> <outpath> <version>"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $version in
|
case $version in
|
||||||
@ -135,7 +137,7 @@ esac
|
|||||||
|
|
||||||
mkdir -p bin/tmp
|
mkdir -p bin/tmp
|
||||||
|
|
||||||
url=$(mkurl "$distname" "$version" "$archive")
|
url=$(mkurl "$distroot" "$distname" "$version" "$archive")
|
||||||
tmpfi="bin/tmp/$distname.$archive"
|
tmpfi="bin/tmp/$distname.$archive"
|
||||||
|
|
||||||
download "$url" "$tmpfi"
|
download "$url" "$tmpfi"
|
||||||
|
Reference in New Issue
Block a user