Files
takana/recipes/gobetween-udpfacade-replace.patch
T
Sergio 23bb79f2ea gobetween: replace a illarion/udpfacade — la dep transitiva desapareció de internet
`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.
2026-08-27 16:30:56 +00:00

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