From Fedora Project Wiki

acpica-tools: Remove Big Endian Support

Summary

The acpica-tools package has supported big-endian architectures for several years, but it has few uses. For Fedora 41, remove all of the patches for big-endian support and remove s390x from the list of supported architectures.

Owner


Current status

Detailed Description

For many years, the acpica-tools package has supported the big-endian s390x architecture, despite ACPI being a little-endian only standard. This made sense originally, as some s390x packages had to have mechanisms for dealing with ACPI tables, and there were several packages with build dependencies since they created ACPI tables. Neither of these is really true any longer.

What's more, big-endian support has always had a fairly high cost. In the first place, upstream wants nothing to do with big-endian support; it is completely irrelevant, despite several attempts to get them to accept it. Secondly, every release of the upstream source requires significant backporting of the big-endian patches, creating new patches to support new features of, or changes in, the ACPI standard, and then testing and debugging the results. In the last ten years, the least amount of time to do this was two full days; the longest it has taken has been two full weeks. One has to plan for at least a week. And finally, the need for big-endian has diminished considerably. At one point, some virtualization functions required these tools so that there was no virtualization on s390x without them; again, this is no longer true.

The actual changes to the acpica-tools package will actually simplify maintenance significantly. The change itself is fairly straightforward: remove the big-endian patches, and add s390x to ExcludeArch.

Feedback

This proposal was actually prompted by a recent PR on acpica-tools requesting a way to ignore the big-endian patches: [1]. Upstream has never accepted big-endian support. Should this proposal be accepted, it would be one way of meeting the request behind the PR, however. Some discussion has occurred with s390x supporters (both recently, and in the past) that would indicate this would be something that is not ideal (no one likes to lose packages), but doesn't really create problems. Part of the reason for making this proposal is to be sure I'm not missing something.

Benefit to Fedora

The primary benefit to this proposal is that it simplifies maintenance significantly. Of the 69 patches for the package, 49 can simply be removed. The longest and most difficult builds will not be needed; the s390x testing that always takes most of the package update time will no longer be needed either. This will make it easier to ensure that acpica-tools more closely matches upstream than has been possible recently, producing a higher quality package quicker.

Scope

  • Proposal owners: The actual changes to the acpica-tools package will be to remove the big-endian patches, and add s390x to ExcludeArch. This is quite straightforward.
  • Other developers: Based on an initial investigation, it appears that most changes will be to simply exclude s390x. So far, the only packages that seem to be affected are hw-probe, vim-syntastic-asl, and edk2. There appears to be some use outside of Fedora (xorg-x11-drv-nvidia, their proprietary drivers, for some reason).
  • Release engineering: This change only affects the specific packages mentioned so far.
  • Policies and guidelines: N/A
  • Trademark approval: N/A

Upgrade/compatibility impact

Only s390x systems would notice a change in that this package would no longer be available.

How To Test

There is a test suite included in the acpica-tools package that is always run as part of the %check step in the spec file. No new testing should be required.

User Experience

Only s390x systems would notice a change in that this package would no longer be available.

Dependencies

The packages hw-probe, vim-syntastic-asl, and edk2 depend on acpica-tools. However, to make the changes to acpica-tools, there are no other dependencies.

Contingency Plan

  • Contingency mechanism: do nothing; the existing f40 package can continue to be used.
  • Contingency deadline: beta freeze
  • Blocks release? No


Documentation

These changes actually put the Fedora version of the package back into a state where it matches upstream more closely.

Release Notes