Release linux/amd64 binary is dynamically linked, contradicting the "single static binary" claim
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 68/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- github-actions, go
- Bereich
- build-system, cli, release
Rechercherichtung
Start with the release build matrix in .github/workflows/go.yml, especially the build step around line 192, and inspect how its Linux legs compile and name their assets. Check the resulting Linux binaries with file and add a CI assertion that verifies they are statically linked. Done means Linux release assets meet the issue's stated static/stripped criteria and CI catches regressions.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Why it matters
The repo description, README and site all promise a "single static Go binary". The v0.8.0 subenum-linux-amd64 release asset is actually dynamically linked against glibc (file reports dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2 ... not stripped). It will not run on Alpine/musl, in scratch/distroless images, or on older glibc hosts, which are common pentest/CI environments. Oddly the cross-compiled linux-arm64 asset is static, so behaviour differs by arch.
Evidence
.github/workflows/go.yml:192— the release matrix builds with
go build -v -buildvcs=false -ldflags "-X main.Version=..."and noCGO_ENABLED=0. The linux/amd64 leg compiles natively onubuntu-latest, so cgo is on andnetlinks the cgo resolver.- No
-trimpathand no-s -w, so binaries embed local paths and debug info (larger, not reproducible). -buildvcs=falsestrips VCS info, sogo version -m subenumshows nothing useful for provenance.
Suggested approach
- Set
CGO_ENABLED: 0in the build step env for all legs. - Build with
-trimpath -ldflags "-s -w -X main.Version=..."; drop-buildvcs=falsein CI (keep it only where.gitis absent, e.g. Docker). - Add a CI assertion on Linux legs:
file subenum-linux-* | grep -q 'statically linked'. - (Covered more broadly by the GoReleaser issue, but this one-line fix should ship as a patch release now.)
Done when
- All Linux release assets report
statically linked, are stripped, and CI fails if that regresses. - A v0.8.1 patch release replaces the dynamic binary.
- Vorherrschende Sprache
- Go
- Sterne
- 1
- Forks
- 1
- Ø Merge
- 5 T. 2 Std.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus TMHSDigital/subenum
-
area: cli enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
TMHSDigital/subenum#136 ·
Maintainer antworten meist innerhalb von 1 Tag
-
community documentation good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
TMHSDigital/subenum#135 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: dns enhancement good first issue
Schwierigkeit 2/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
TMHSDigital/subenum#134 ·
Maintainer antworten meist innerhalb von 1 Tag
-
community marketing priority: low
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
TMHSDigital/subenum#132 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
feature priority: low
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
TMHSDigital/subenum#131 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in TMHSDigital/subenum
Ähnliche Issues
-
status:approved type:bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Gentleman-Programming/gentle-ai#5326 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area/testing kind/cleanup priority/backlog triage/accepted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
lexfrei/cloudflare-tunnel-gateway-controller#999 ·
Maintainer antworten meist innerhalb von 1 Tag
-
automation models
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Can the search results with Year Released be in enclosed in the ( ) like Movie/TV(Year Released)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Dhairya3391/kari#32 ·