Also allow re-vendoring using `./hack/vendor.sh archive/tar`
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 31b2c3bbd920d415283a478170c0efe9ef7bf8e7)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
| ... | ... |
@@ -5,12 +5,13 @@ source "${SCRIPTDIR}/.validate"
|
| 5 | 5 |
|
| 6 | 6 |
validate_vendor_diff(){
|
| 7 | 7 |
IFS=$'\n' |
| 8 |
+ # shellcheck disable=SC2207 |
|
| 8 | 9 |
files=( $(validate_diff --diff-filter=ACMR --name-only -- 'vendor.conf' 'vendor/' || true) ) |
| 9 | 10 |
unset IFS |
| 10 | 11 |
|
| 11 | 12 |
if [ -n "${TEST_FORCE_VALIDATE:-}" ] || [ ${#files[@]} -gt 0 ]; then
|
| 12 | 13 |
# recreate vendor/ |
| 13 |
- vndr -whitelist=^archive/tar |
|
| 14 |
+ ./hack/vendor.sh |
|
| 14 | 15 |
# check if any files have changed |
| 15 | 16 |
diffs="$(git status --porcelain -- vendor 2>/dev/null)" |
| 16 | 17 |
mfiles="$(echo "$diffs" | awk '/^ M / {print $2}')"
|
| ... | ... |
@@ -12,4 +12,17 @@ if ! hash vndr; then |
| 12 | 12 |
exit 1 |
| 13 | 13 |
fi |
| 14 | 14 |
|
| 15 |
-vndr -whitelist=^archive/tar "$@" |
|
| 15 |
+if [ $# -eq 0 ] || [ "$1" = "archive/tar" ]; then |
|
| 16 |
+ echo "update vendored copy of archive/tar" |
|
| 17 |
+ : "${GO_VERSION:=$(awk -F '[ =]' '$1 == "ARG" && $2 == "GO_VERSION" { print $3; exit }' ./Dockerfile)}"
|
|
| 18 |
+ rm -rf vendor/archive |
|
| 19 |
+ mkdir -p ./vendor/archive/tar |
|
| 20 |
+ echo "downloading: https://golang.org/dl/go${GO_VERSION}.src.tar.gz"
|
|
| 21 |
+ curl -fsSL "https://golang.org/dl/go${GO_VERSION}.src.tar.gz" \
|
|
| 22 |
+ | tar --extract --gzip --directory=vendor/archive/tar --strip-components=4 go/src/archive/tar |
|
| 23 |
+ patch --strip=4 --directory=vendor/archive/tar --input="$PWD/patches/0001-archive-tar-do-not-populate-user-group-names.patch" |
|
| 24 |
+fi |
|
| 25 |
+ |
|
| 26 |
+if [ $# -eq 0 ] || [ "$1" != "archive/tar" ]; then |
|
| 27 |
+ vndr -whitelist=^archive/tar "$@" |
|
| 28 |
+fi |