`github.com/eric-lindau/udpfacade` (que importa src/server/udp) ya no existe: GitHub da «Repository not found» y proxy.golang.org 404 para esa versión, así que `go mod vendor` moría y la receta era INCONSTRUIBLE. No se arregla subiendo de versión: master de gobetween pinea el mismo módulo. Se redirige con `replace` al único superviviente, illarion/udpfacade. ⚠ Apunta a MASTER (031998cc71fa), no al commit pineado. El original (d8c1c27add169599654f71a6c62d13cde1c51e50) SÍ existe como objeto en illarion —los forks comparten almacén y la API de GitHub lo muestra— pero NO es alcanzable desde ninguna ref, y `go` sólo resuelve pseudo-versiones alcanzables desde una ref. Comprobado: `unknown revision d8c1c27add16`. (`git fetch <sha>` sí lo trae; `go` no usa esa vía.) ⚠ SEGURO y comprobado, no supuesto: entre master y el commit pineado hay TRES commits y el diff entero es `udp.go` +2 y `udp_test.go` +2 —sólo la línea `// +build !windows`— más `udp_windows.go` nuevo con `// +build windows`. Para GOOS=linux el código compilado es IDÉNTICO, y esto construye x86_64-linux-musl. Va como PATCH y no como fase porque `vendor_go_deps` corre en el fetch (lib.rs:277), antes de las fases; los patches se aplican antes (lib.rs:224). Verificado: el patch aplica limpio sobre un checkout pristino, hammer sella, y el binario arranca e imprime su versión.
51 lines
2.4 KiB
Diff
51 lines
2.4 KiB
Diff
gobetween pinea github.com/eric-lindau/udpfacade, cuyo repo YA NO EXISTE:
|
|
GitHub responde "Repository not found" y proxy.golang.org da 404 para esa
|
|
version, asi que `go mod vendor` no puede resolverlo y la receta era
|
|
inconstruible.
|
|
|
|
Se redirige con `replace` al unico superviviente del modulo,
|
|
github.com/illarion/udpfacade.
|
|
|
|
OJO CON LA VERSION: el commit pineado (d8c1c27add169599654f71a6c62d13cde1c51e50,
|
|
"Hotfix: Windows imports") EXISTE como objeto en illarion pero NO es alcanzable
|
|
desde ninguna ref, y `go` solo resuelve pseudo-versiones alcanzables desde una
|
|
ref => hay que apuntar a master (031998cc71fa, 2019-04-25).
|
|
|
|
Eso es SEGURO para este build y se comprobo, no se supuso. Entre master y el
|
|
commit pineado hay exactamente tres commits y el diff completo es:
|
|
|
|
udp.go | 2 ++ <- solo anade "// +build !windows"
|
|
udp_test.go | 2 ++ <- solo anade "// +build !windows"
|
|
udp_windows.go | 58 +++++ <- fichero nuevo, "// +build windows"
|
|
|
|
Es decir: para GOOS=linux el codigo compilado es IDENTICO. La receta construye
|
|
x86_64-linux-musl, asi que udp_windows.go nunca entra.
|
|
|
|
--- a/go.mod
|
|
+++ b/go.mod
|
|
@@ -112,3 +112,5 @@
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
)
|
|
+
|
|
+replace github.com/eric-lindau/udpfacade => github.com/illarion/udpfacade v0.0.0-20190425230512-031998cc71fa
|
|
--- a/go.sum
|
|
+++ b/go.sum
|
|
@@ -176,6 +176,8 @@
|
|
github.com/hashicorp/memberlist v0.5.2/go.mod h1:Ri9p/tRShbjYnpNf4FFPXG7wxEGY4Nrcn6E7jrVa//4=
|
|
github.com/hashicorp/serf v0.10.2 h1:m5IORhuNSjaxeljg5DeQVDlQyVkhRIjJDimbkCa8aAc=
|
|
github.com/hashicorp/serf v0.10.2/go.mod h1:T1CmSGfSeGfnfNy/w0odXQUR1rfECGd2Qdsp84DjOiY=
|
|
+github.com/illarion/udpfacade v0.0.0-20190425230512-031998cc71fa h1:2d+tvJ1U5kiS0xFTPmftxJjk8YnYO9qojma59H29jCM=
|
|
+github.com/illarion/udpfacade v0.0.0-20190425230512-031998cc71fa/go.mod h1:FgXLvXZ5hgyfdG0KcbEt7dihoivzIk9puoGiP+2isNE=
|
|
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
|
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
|
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
|
|
--- a/src/go.mod
|
|
+++ b/src/go.mod
|
|
@@ -111,3 +111,5 @@
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
)
|
|
+
|
|
+replace github.com/eric-lindau/udpfacade => github.com/illarion/udpfacade v0.0.0-20190425230512-031998cc71fa
|