moby/hack/vendor.sh
Sebastiaan van Stijn 95cc7115fb
hack/vendor.sh: allow go version to be specified with .0
Golang '.0' releases are released without a trailing .0 (i.e. go1.17
is equal to go1.17.0). For the base image, we want to specify the go
version including their patch release (golang:1.17 is equivalent to
go1.17.x), so adjust the script to also accept the trailing .0, because
otherwise the download-URL is not found:

    hack/vendor.sh archive/tar
    update vendored copy of archive/tar
    downloading: https://golang.org/dl/go1.17.0.src.tar.gz
    curl: (22) The requested URL returned error: 404

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 9ed88a0801)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-04-07 23:26:34 +02:00

28 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env bash
# This file is just wrapper around vndr (github.com/LK4D4/vndr) tool.
# For updating dependencies you should change `vendor.conf` file in root of the
# project. Please refer to https://github.com/LK4D4/vndr/blob/master/README.md for
# vndr usage.
set -e
if ! hash vndr; then
echo "Please install vndr with \"go get github.com/LK4D4/vndr\" and put it in your \$GOPATH"
exit 1
fi
if [ $# -eq 0 ] || [ "$1" = "archive/tar" ]; then
echo "update vendored copy of archive/tar"
: "${GO_VERSION:=$(awk -F '[ =]' '$1 == "ARG" && $2 == "GO_VERSION" { print $3; exit }' ./Dockerfile)}"
rm -rf vendor/archive
mkdir -p ./vendor/archive/tar
echo "downloading: https://golang.org/dl/go${GO_VERSION%.0}.src.tar.gz"
curl -fsSL "https://golang.org/dl/go${GO_VERSION%.0}.src.tar.gz" \
| tar --extract --gzip --directory=vendor/archive/tar --strip-components=4 go/src/archive/tar
patch --strip=4 --directory=vendor/archive/tar --input="$PWD/patches/0001-archive-tar-do-not-populate-user-group-names.patch"
fi
if [ $# -eq 0 ] || [ "$1" != "archive/tar" ]; then
vndr -whitelist=^archive/tar "$@"
fi