From a09cc9fd60bc66f273a1d9f4425fb48e5fd8a289 Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 27 Aug 2026 17:36:44 +0000 Subject: [PATCH] gobetween: renombrar el binario de `main` a `gobetween` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- recipes/gobetween.toml | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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"]