F41 Change Proposal: acpica-tools: Deprecate Big Endian Support (System-Wide)

2024-06-24 Thread Aoife Moloney
Wiki - 
https://fedoraproject.org/wiki/Changes/Acpica-tools_Deprecate-Big_Endian_Support
Discussion Thread -
https://discussion.fedoraproject.org/t/f41-change-proposal-acpica-tools-deprecate-big-endian-support-system-wide/123164

This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.


== 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 ==
* Name: [[User:ahs3| Al Stone]]
* Email: a...@fedoraproject.org


== 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:
[https://src.fedoraproject.org/rpms/acpica-tools/pull-request/5].
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

F41 Change Proposal: acpica-tools: Deprecate Big Endian Support (System-Wide)

2024-06-24 Thread Aoife Moloney
Wiki - 
https://fedoraproject.org/wiki/Changes/Acpica-tools_Deprecate-Big_Endian_Support
Discussion Thread -
https://discussion.fedoraproject.org/t/f41-change-proposal-acpica-tools-deprecate-big-endian-support-system-wide/123164

This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.


== 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 ==
* Name: [[User:ahs3| Al Stone]]
* Email: a...@fedoraproject.org


== 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:
[https://src.fedoraproject.org/rpms/acpica-tools/pull-request/5].
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