New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: ARMv6 should be armhf and ARMv5 should be armel #2721
Comments
GoReleaser get those names because of https://github.com/goreleaser/goreleaser/blob/main/.goreleaser.yaml#L170 Shouldn't arm7 be armhf? Those arches come from here: https://github.com/goreleaser/nfpm/blob/main/deb/deb.go#L36-L45 |
yeah, its wrong, arm6 is armhf, arm5 is armel, no idea what arm7 is supposed to be |
seems like also armhf... |
For Debian, armhf is arm7 while for Raspbian, armh is arm6, so better use arm6→armhf and arm5→armel. |
Relates to goreleaser/goreleaser#2721 There's a filename clash because some platforms consider armhf to be ARMv6 and some consider it to be ARMv7. Fallback to build and package only ARMv6 because ARMv6 binaries are going to work on ARMv7 anyway. Note: If we really have to release ARMv7 for other platforms, we can split the builds and packaging and then filter the builds used for packaging but that require extra work/maintenance so we will implement it only if required.
Relates to goreleaser/goreleaser#2721 There's a filename clash because some platforms consider `armhf` to be ARMv6 and some consider it to be ARMv7. Fallback to build and package only ARMv6 because ARMv6 binaries are going to work on ARMv7 anyway. Note: If we really have to release ARMv7 for other platforms, we can split the builds and packaging and then filter the builds used for packaging but that requires extra work/maintenance so we will implement it only if required.
What happened?
Since GoReleaser v1.0.0, armhf is mapped to armv7 while armel is mapped to armv6. However, Raspbian, a derivative of Debian still used today, considers armhf to be armv6. Therefore, the Debian packages generated by GoReleaser does not work and users get "Illegal instruction" errors.
How can we reproduce this?
We are using this configuration file: https://github.com/nextdns/nextdns/blob/master/.goreleaser.yml
I am a bit lost at what exactly GoReleaser does because GoReleaser seems to get
armhf.deb
andarmel.deb
, while we getarmv6.deb
andarmv7.deb
. I don't know if there is an easy way to check the real EABI of the DEB files from GoReleaser asfile
saysARM, EABI5 version 1
whatever it is for ARMv6 or ARMv7.See nextdns/nextdns#626 and nextdns/nextdns#624 (comment).
goreleaser version
GoReleaser Check
Search
Code of Conduct
Additional context
No response
The text was updated successfully, but these errors were encountered: