Merge pull request #109127 from tweag/go-no-vendor-checks
go: Introduce environment variable GO_NO_VENDOR_CHECKS to relax go vendor checks
This commit is contained in:
commit
655c4b4cc4
@ -143,6 +143,7 @@ stdenv.mkDerivation rec {
|
|||||||
./go-1.9-skip-flaky-20072.patch
|
./go-1.9-skip-flaky-20072.patch
|
||||||
./skip-external-network-tests.patch
|
./skip-external-network-tests.patch
|
||||||
./skip-nohup-tests.patch
|
./skip-nohup-tests.patch
|
||||||
|
./go_no_vendor_checks-1_14.patch
|
||||||
|
|
||||||
# fix rare TestDontCacheBrokenHTTP2Conn failure
|
# fix rare TestDontCacheBrokenHTTP2Conn failure
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
|
@ -152,6 +152,7 @@ stdenv.mkDerivation rec {
|
|||||||
./skip-external-network-tests-1.15.patch
|
./skip-external-network-tests-1.15.patch
|
||||||
./skip-nohup-tests.patch
|
./skip-nohup-tests.patch
|
||||||
./skip-cgo-tests-1.15.patch
|
./skip-cgo-tests-1.15.patch
|
||||||
|
./go_no_vendor_checks.patch
|
||||||
] ++ [
|
] ++ [
|
||||||
# breaks under load: https://github.com/golang/go/issues/25628
|
# breaks under load: https://github.com/golang/go/issues/25628
|
||||||
(if stdenv.isAarch32
|
(if stdenv.isAarch32
|
||||||
|
23
pkgs/development/compilers/go/go_no_vendor_checks-1_14.patch
Normal file
23
pkgs/development/compilers/go/go_no_vendor_checks-1_14.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Starting from go1.14, go verifes that vendor/modules.txt matches the requirements
|
||||||
|
and replacements listed in the main module go.mod file, and it is a hard failure if
|
||||||
|
vendor/modules.txt is missing.
|
||||||
|
|
||||||
|
Relax module consistency checks and switch back to pre go1.14 behaviour if
|
||||||
|
vendor/modules.txt is missing regardless of go version requirement in go.mod.
|
||||||
|
|
||||||
|
This has been ported from FreeBSD: https://reviews.freebsd.org/D24122
|
||||||
|
See https://github.com/golang/go/issues/37948 for discussion.
|
||||||
|
|
||||||
|
diff --git a/src/cmd/go/internal/modload/init.go b/src/cmd/go/internal/modload/init.go
|
||||||
|
index 71f68efbcc..3c566d04dd 100644
|
||||||
|
--- a/src/cmd/go/internal/modload/init.go
|
||||||
|
+++ b/src/cmd/go/internal/modload/init.go
|
||||||
|
@@ -133,7 +133,7 @@ func checkVendorConsistency() {
|
||||||
|
readVendorList()
|
||||||
|
|
||||||
|
pre114 := false
|
||||||
|
- if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 {
|
||||||
|
+ if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) {
|
||||||
|
// Go versions before 1.14 did not include enough information in
|
||||||
|
// vendor/modules.txt to check for consistency.
|
||||||
|
// If we know that we're on an earlier version, relax the consistency check.
|
23
pkgs/development/compilers/go/go_no_vendor_checks.patch
Normal file
23
pkgs/development/compilers/go/go_no_vendor_checks.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Starting from go1.14, go verifes that vendor/modules.txt matches the requirements
|
||||||
|
and replacements listed in the main module go.mod file, and it is a hard failure if
|
||||||
|
vendor/modules.txt is missing.
|
||||||
|
|
||||||
|
Relax module consistency checks and switch back to pre go1.14 behaviour if
|
||||||
|
vendor/modules.txt is missing regardless of go version requirement in go.mod.
|
||||||
|
|
||||||
|
This has been ported from FreeBSD: https://reviews.freebsd.org/D24122
|
||||||
|
See https://github.com/golang/go/issues/37948 for discussion.
|
||||||
|
|
||||||
|
diff --git a/src/cmd/go/internal/modload/vendor.go b/src/cmd/go/internal/modload/vendor.go
|
||||||
|
index 71f68efbcc..3c566d04dd 100644
|
||||||
|
--- a/src/cmd/go/internal/modload/vendor.go
|
||||||
|
+++ b/src/cmd/go/internal/modload/vendor.go
|
||||||
|
@@ -133,7 +133,7 @@ func checkVendorConsistency() {
|
||||||
|
readVendorList()
|
||||||
|
|
||||||
|
pre114 := false
|
||||||
|
- if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 {
|
||||||
|
+ if modFile.Go == nil || semver.Compare("v"+modFile.Go.Version, "v1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) {
|
||||||
|
// Go versions before 1.14 did not include enough information in
|
||||||
|
// vendor/modules.txt to check for consistency.
|
||||||
|
// If we know that we're on an earlier version, relax the consistency check.
|
Loading…
x
Reference in New Issue
Block a user