forgejo/discussions
49
43

replace arm/v6 images and binaries with arm/v7 #364

Open
opened 2025年06月12日 23:24:18 +02:00 by earl-warren · 14 comments

arm/v6 were built originally because they can be used for arm/v7 and arm/v6 and also because arm/v7 builds failed in obscure ways. The build process has been entirely refactored since but the arm/v6 stayed: it is a breaking change.

The following pull request proposes to obsolete arm/v6 because it is likely not used by anyone on a machine that requires it. For people who have an arm/v7 and use arm/v6, resolving the breaking change will mean that they have to manually replace v6 with v7 and nothing more.

forgejo/forgejo#8173

The motivation for this change is both:

  • Less and less packages that Forgejo depends on are actually tested and used on arm/v6. While this does not matter much for those that are not architecture dependent, it will eventually create issues for those that are. And they will be very difficult to track down.
  • While working on resolving an issue with https://github.com/klauspost/compress/, it was noticed that this package has architecture dependent code and only builds for arm/v7, not arm/v6. Although it still works at this time, it is a clue that it may not in the future. And that this is not going to improve over time.

Since there is no urgent motivation for this deprecation, it can be postponed. But it will need to happen eventually.

It only happens starting with v13 and v11 continues to ship with v6 until mid 2026.

arm/v6 were built originally because they can be used for arm/v7 and arm/v6 and also because arm/v7 builds failed in obscure ways. The build process has been entirely refactored since but the arm/v6 stayed: it is a breaking change. The following pull request proposes to obsolete arm/v6 because it is likely not used by anyone on a machine that requires it. For people who have an arm/v7 and use arm/v6, resolving the breaking change will mean that they have to manually replace v6 with v7 and nothing more. https://codeberg.org/forgejo/forgejo/pulls/8173 The motivation for this change is both: - Less and less packages that Forgejo depends on are actually tested and used on arm/v6. While this does not matter much for those that are not architecture dependent, it will eventually create issues for those that are. And they will be very difficult to track down. - While working on resolving an issue with https://github.com/klauspost/compress/, it was noticed that this package has architecture dependent code and only builds for arm/v7, not arm/v6. Although it still works at this time, it is a clue that it may not in the future. And that this is not going to improve over time. Since there is no urgent motivation for this deprecation, it can be postponed. But it will need to happen eventually. It only happens starting with v13 and v11 continues to ship with v6 until mid 2026.
Owner
Copy link

Is this for information only, or for a discussion? I do agree to deprecation of arm/v6. Assuming it only happens starting with v12 and v11 continues to ship with v6 for at least another year, this should be even less of an issue.

Is this for information only, or for a discussion? I do agree to deprecation of arm/v6. Assuming it only happens starting with v12 and v11 continues to ship with v6 for at least another year, this should be even less of an issue.

This is for discussion really. There is no pressure so it is up for debate.

This is for discussion really. There is no pressure so it is up for debate.

@fnetX wrote in #364 (comment):

Assuming it only happens starting with v12 and v11 continues to ship with v6 for at least another year, this should be even less of an issue.

Right, this should not be backported. I added a line to the description, good point.

@fnetX wrote in https://codeberg.org/forgejo/discussions/issues/364#issuecomment-5109909: > Assuming it only happens starting with v12 and v11 continues to ship with v6 for at least another year, this should be even less of an issue. Right, this should not be backported. I added a line to the description, good point.
Member
Copy link

The most popular consumer device I can come up with right now that would be affected by this is the original Raspberry Pi afaik.

The most popular consumer device I can come up with right now that would be affected by this is the original Raspberry Pi afaik.

It won't happen for v12 in any case, the branch is cut.

It won't happen for v12 in any case, the branch is cut.
Owner
Copy link

It might be worth pointing it out in the release notes, just in case. Otherwise, I imagine the following could happen:

  • someone is currently using arm/v6 on the LTS branch (v11)
  • they upgrade to v12
  • they realize they cannot conveniently upgrade to v13 without building for themself

What would be better:

  • someone is using arm/v6 on v11
  • they read the release notes that mention that v12 will be the last version that supports arm/v6 and suggests staying on v11 for another year of security support
  • they continue using v11 while their arm/v6 device can get another year of good use
It might be worth pointing it out in the release notes, just in case. Otherwise, I imagine the following could happen: * someone is currently using arm/v6 on the LTS branch (v11) * they upgrade to v12 * they realize they cannot conveniently upgrade to v13 without building for themself What would be better: * someone is using arm/v6 on v11 * they read the release notes that mention that v12 will be the last version that supports arm/v6 and suggests staying on v11 for another year of security support * they continue using v11 while their arm/v6 device can get another year of good use
Member
Copy link

@n0toose wrote in #364 (comment):

The most popular consumer device I can come up with right now that would be affected by this is the original Raspberry Pi afaik.

I think it would be pretty bad if we drop support for Pis.

  1. It is advertised on every dashboard https://v13.next.forgejo.org
  2. It is also often used in other adverts: Forgejo is lightweight and even runs on a Pi
  3. I see a lot of people writing (in the fediverse) that they host Forgejo on a Pi

I think at this point we shouldn't drop arm/v6 builds... 🤔

@n0toose wrote in https://codeberg.org/forgejo/discussions/issues/364#issuecomment-5677100: > The most popular consumer device I can come up with right now that would be affected by this is the original Raspberry Pi afaik. I think it would be pretty bad if we drop support for Pis. 1. It is advertised on every dashboard https://v13.next.forgejo.org 2. It is also often used in other adverts: Forgejo is lightweight and even runs on a Pi 3. I see a lot of people writing (in the fediverse) that they host Forgejo on a Pi I think at this point we shouldn't drop arm/v6 builds... 🤔

I think @n0toose meant RPI 1 which has a ARMv6 processor, the newer ones have ARMv7 or ARMv8.

I think @n0toose meant RPI 1 which has a ARMv6 processor, the newer ones have ARMv7 or ARMv8.
Member
Copy link

@Gusted wrote in #364 (comment):

meant RPI 1 which has a ARMv6 processor

Ah, right. Got an incorrect list which displayed wrong infos. I think dropping RP1 and theoretically RP Zero, is fine

@Gusted wrote in https://codeberg.org/forgejo/discussions/issues/364#issuecomment-5686445: > meant RPI 1 which has a ARMv6 processor Ah, right. Got an incorrect list which displayed wrong infos. I think dropping RP1 and theoretically RP Zero, is fine
Member
Copy link

It is also often used in other adverts: Forgejo is lightweight and even runs on a Pi

We should modify the advert though in that case :P

> It is also often used in other adverts: Forgejo is lightweight and even runs on a Pi We should modify the advert though in that case :P

A pull request was proposed to add arm/v7 which can happen even if the decision to deprecate arm/v6 is not concluded yet.

forgejo/forgejo#8409

A pull request was proposed to add arm/v7 which can happen even if the decision to deprecate arm/v6 is not concluded yet. https://codeberg.org/forgejo/forgejo/pulls/8409

The deprecation missed the v12 deadline and the description was updated to suggest v13 instead.

The deprecation missed the v12 deadline and the description was updated to suggest v13 instead.

@Beowulf wrote in #364 (comment):

@Gusted wrote in #364 (comment):

meant RPI 1 which has a ARMv6 processor

Ah, right. Got an incorrect list which displayed wrong infos. I think dropping RP1 and theoretically RP Zero, is fine

The RPi 1 is long obsolete and difficult to obtain unless you already had one back in the day, so I don't really oppose dropping support for that. I do think we should give more consideration to dropping support for the RPi Zero because the Zero W is still produced and sold in large quantities. The Zero 2 W (削除) does only cost 5ドル more (削除ここまで) and has a 64-bit quad-core CPU, but Forgejo worked well on the original Pi Zero W last time I checked, and I do think there is some benefit to retaining compatibility with all current Pi models.

We might also want to consider verifying that the armv7 binary will work on 32-bit Raspberry Pi OS for the Pi 2/3/4. It should work fine, but the Raspberry Pi OS libraries are compiled specifically for the Raspberry Pi 1's architecture, which is essentially armv6 with some extensions to make things faster. The Raspberry Pi 2 is just as obsolete and unobtainable as the Pi 1, but the Raspberry Pi Foundation was still suggesting running the 32-bit version of the OS no matter which model you have until well after the Pi 4 came out.

EDIT: Apparently they've increased of the price of the Pi Zero W since the last time I checked, so now the Zero W and Zero 2 W are the same, and yet, it is still being produced and sold to consumers.

@Beowulf wrote in https://codeberg.org/forgejo/discussions/issues/364#issuecomment-5686505: > @Gusted wrote in #364 (comment): > > > meant RPI 1 which has a ARMv6 processor > > Ah, right. Got an incorrect list which displayed wrong infos. I think dropping RP1 and theoretically RP Zero, is fine The RPi 1 is long obsolete and difficult to obtain unless you already had one back in the day, so I don't really oppose dropping support for that. I do think we should give more consideration to dropping support for the RPi Zero because the Zero W is still produced and sold in large quantities. The Zero 2 W ~~does only cost 5ドル more~~ and has a 64-bit quad-core CPU, but Forgejo worked well on the original Pi Zero W last time I checked, and I do think there is some benefit to retaining compatibility with all current Pi models. We might also want to consider verifying that the armv7 binary will work on 32-bit Raspberry Pi OS for the Pi 2/3/4. It should work fine, but the Raspberry Pi OS libraries are compiled specifically for the Raspberry Pi 1's architecture, which is essentially armv6 with some extensions to make things faster. The Raspberry Pi 2 is just as obsolete and unobtainable as the Pi 1, but the Raspberry Pi Foundation was still suggesting running the 32-bit version of the OS no matter which model you have until well after the Pi 4 came out. EDIT: Apparently they've increased of the price of the Pi Zero W since the last time I checked, so now the Zero W and Zero 2 W are the same, and yet, it is still being produced and sold to consumers.

@earl-warren wrote in #364 (comment):

A pull request was proposed to add arm/v7 which can happen even if the decision to deprecate arm/v6 is not concluded yet.

forgejo/forgejo#8409

Blocked until https://code.forgejo.org/forgejo/forgejo-build-publish/issues/41 is implemented.

@earl-warren wrote in https://codeberg.org/forgejo/discussions/issues/364#issuecomment-5707832: > A pull request was proposed to add arm/v7 which can happen even if the decision to deprecate arm/v6 is not concluded yet. > > forgejo/forgejo#8409 Blocked until https://code.forgejo.org/forgejo/forgejo-build-publish/issues/41 is implemented.
Sign in to join this conversation.
No Branch/Tag specified
No results found.
No results found.
Labels
Clear labels
User research - Accessibility
Requires input about accessibility features, likely involves user testing.
User research - Blocked
Do not pick as-is! We are happy if you can help, but please coordinate with ongoing redesign in this area.
User research - Community
Community features, such as discovering other people's work or otherwise feeling welcome on a Forgejo instance.
User research - Config (instance)
Instance-wide configuration, authentication and other admin-only needs.
User research - Errors
How to deal with errors in the application and write helpful error messages.
User research - Filters
How filter and search is being worked with.
User research - Future backlog
The issue might be inspiring for future design work.
User research - Git workflow
AGit, fork-based and new Git workflow, PR creation etc
User research - Labels
Active research about Labels
User research - Moderation
Moderation Featuers for Admins are undergoing active User Research
User research - Needs input
Use this label to let the User Research team know their input is requested.
User research - Notifications/Dashboard
Research on how users should know what to do next.
User research - Rendering
Text rendering, markup languages etc
User research - Repo creation
Active research about the New Repo dialog.
User research - Repo units
The repo sections, disabling them and the "Add more" button.
User research - Security
User research - Settings (in-app)
How to structure in-app settings in the future?
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
6 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
forgejo/discussions#364
Reference in a new issue
forgejo/discussions
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?