Skip to content
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

Closed
3 tasks done
vincentbernat opened this issue Dec 2, 2021 · 5 comments
Closed
3 tasks done

[Bug]: ARMv6 should be armhf and ARMv5 should be armel #2721

vincentbernat opened this issue Dec 2, 2021 · 5 comments
Assignees
Labels
bug Something isn't working

Comments

@vincentbernat
Copy link
Contributor

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 and armel.deb, while we get armv6.deb and armv7.deb. I don't know if there is an easy way to check the real EABI of the DEB files from GoReleaser as file says ARM, EABI5 version 1 whatever it is for ARMv6 or ARMv7.

See nextdns/nextdns#626 and nextdns/nextdns#624 (comment).

goreleaser version

1.1.0 fails: https://github.com/nextdns/nextdns/runs/4396570024?check_suite_focus=true
1.0.0 fails too: https://github.com/nextdns/nextdns/runs/4258994552?check_suite_focus=true
0.182.0 is OK: https://github.com/nextdns/nextdns/runs/4400025574?check_suite_focus=true

GoReleaser Check

  • goreleaser check shows no errors

Search

  • I did search for other open and closed issues before opening this.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Additional context

No response

@vincentbernat vincentbernat added the bug Something isn't working label Dec 2, 2021
@caarlos0
Copy link
Member

caarlos0 commented Dec 3, 2021

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

@caarlos0
Copy link
Member

caarlos0 commented Dec 3, 2021

Shouldn't arm7 be armhf?

yeah, its wrong, arm6 is armhf, arm5 is armel, no idea what arm7 is supposed to be

@caarlos0
Copy link
Member

caarlos0 commented Dec 3, 2021

what arm7 is supposed to be

seems like also armhf...

@vincentbernat
Copy link
Contributor Author

For Debian, armhf is arm7 while for Raspbian, armh is arm6, so better use arm6→armhf and arm5→armel.

@caarlos0
Copy link
Member

caarlos0 commented Dec 3, 2021

see goreleaser/nfpm#412

tucksaun added a commit to tucksaun/symfonycli that referenced this issue Feb 24, 2023
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.
tucksaun added a commit to tucksaun/symfonycli that referenced this issue Feb 24, 2023
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants