tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1182Shell 87Rust 63Markdown 541592 Definitions

gobetween: renombrar el binario de `main` a `gobetween`

El módulo es `github.com/yyyar/gobetween/main` y el paquete main está en la
raíz, así que `go install` —que nombra el binario por el último elemento de la
ruta del módulo— lo dejaba como `/usr/bin/main`. Un `/usr/bin/main` en una
distro choca con cualquier cosa y no dice qué es.

La fase `install` que genera hammer para Go es `true` (el binario ya lo puso
`go install` en GOBIN=/out/usr/bin), así que definirla sólo añade el renombrado.

Los `test -x` no son adorno: si `go install` cambiara el nombre, sin ellos el
`mv` fallaría y se sellaría un artefacto SIN binario — regla 3 del repo, que
falle ruidosamente.

Verificado: /usr/bin/gobetween (33 M), arranca e imprime su versión, y no queda
ningún fichero `main` en el artefacto.

a09cc9fd60bc66f273a1d9f4425fb48e5fd8a289 · by Sergio · (1 month ago) · parent 65c157957 · browse the tree at this commit

Semantic delta

No definition changed: this change is text, documentation or data.

1 files · +12 −0

diff --git a/recipes/gobetween.toml b/recipes/gobetween.toml
index b4aa45b2..7a6ad6a6 100644
--- a/recipes/gobetween.toml
+++ b/recipes/gobetween.toml
@@ -38,6 +38,18 @@ target   = "x86_64-linux-musl"
 link     = "static"
 flags    = []
 
+# ── El binario se llama `main` si no se renombra ────────────────────────────────────────────────
+# El módulo es `github.com/yyyar/gobetween/main` y el paquete main está en la raíz, así que
+# `go install` —que nombra el binario por el último elemento de la ruta del módulo— lo deja como
+# **`/usr/bin/main`**. Un `/usr/bin/main` es inservible en una distro: choca con cualquier cosa y no
+# dice qué es. La fase `install` que genera hammer para Go es `true` (el binario ya lo puso
+# `go install` en GOBIN=/out/usr/bin), así que definirla acá sólo añade el renombrado.
+#
+# Los `test -x` no son adorno: si `go install` cambiara el nombre, sin ellos el `mv` fallaría y la
+# receta sellaría un artefacto SIN binario. Regla 3 del repo: que falle ruidosamente.
+[build.phases]
+install = "test -x /out/usr/bin/main && mv /out/usr/bin/main /out/usr/bin/gobetween && test -x /out/usr/bin/gobetween"
+
 # buildInputs de nix (no usados con CGO off): go
 [deps]
 build = ["go"]