Wiki: https://fedoraproject.org/wiki/Changes/Build_x86-64-v3_Packages
Discussion Thread: https://discussion.fedoraproject.org/t/187943
**This is a proposed Change for Fedora Linux.**
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 ==
Build x86_64_v3 packages in addition to the current x86_64_v1 builds.
== Owner ==
* Name: [[User:lleyton| Lleyton Gray]], [[User:KyleGospo| Kyle Gospodnetich]], [[User:owensz| Owen Zimmerman]]
* Email: lleyton@fyralabs.com, me@kylegospodneti.ch, owen@fyralabs.com
== Detailed Description ==
This change would introduce a new primary architecture, x86_64_v3. Existing packages built for x86_64 would start being built for v3. The support for installing x86_64 microarch packages are already in libsolv and RPM, but will require changes in DNF and Koji.
== Feedback ==
No feedback at this moment.
== Benefit to Fedora ==
This change allows installing packages compiled against a more recent x86_64 baseline, which can improve system performance for modern machines.
== Scope ==
* Proposal owners:
** Extend Koji to support x86_64 architecture levels
** Add compiler flag definitions for x86_64_v2/v3/v4 to `redhat-rpm-config`
** Add support to DNF5 to transparently use packages for higher levels as appropriate
** Add support to Pungi for x86_64 architecture levels to x86_64 composes
* Other developers:
** Release Engineering: Enable and deliver x86_64_v3 repositories and images for x86_64
* Release engineering: [https://forge.fedoraproject.org/releng/tickets/issues/13310 #13310]
* Policies and guidelines: Packaging guidelines need to be updated to note `%{x86_64}` should be used for architecture conditionals for x86_64 instead of just the plain `x86_64`.
* Trademark approval: N/A (not needed for this Change)
* Alignment with the Fedora Strategy: Building microarchitecture packages for modern systems helps Fedora lead in distribution development. However, this change does not align with any specific objective.
== Upgrade/compatibility impact ==
On upgrade, systems that have support for the x86_64_v3 baseline will automatically install x86_64_v3 packages when available.
== Early Testing (Optional) ==
Do you require 'QA Blueprint' support? N
== How To Test ==
To test, a x86_64 system supporting the v3 baseline is required. When available, DNF will select packages with the highest compatible baseline. Testing involves upgrading or installing 45 on a supported system, ensuring that packages installed are compiled for the x86_64_v3 baseline, and validating that packages built for v3 work as expected.
== User Experience ==
Packages compiled against a higher baseline may perform better on systems which support it.
== Dependencies ==
koji, redhat-rpm-config, pungi, dnf5.
== Contingency Plan ==
* Contingency mechanism: Revert and unpublish x86_64_v3 packages and defer to the next release.
* Contingency deadline: Beta Freeze
* Blocks release? No
== Documentation ==
There's no current upstream documentation for microarch handling in DNF, but for reference, these PRs may be useful:
* https://github.com/rpm-software-management/rpm/pull/2315
* https://github.com/rpm-software-management/dnf5/pull/2591
* https://github.com/rpm-software-management/mock/pull/1733
== Release Notes ==
\n\n\nFedora now provides packages for the x86_64 v3 baseline. When upgrading the system to Fedora 45, DNF will pull packages for x86_64 v3 if the host system is detected as supporting a x86_64 v3 or higher baseline. This may improve system performance on modern machines.
Discussion Thread: https://discussion.fedoraproject.org/t/187943
**This is a proposed Change for Fedora Linux.**
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 ==
Build x86_64_v3 packages in addition to the current x86_64_v1 builds.
== Owner ==
* Name: [[User:lleyton| Lleyton Gray]], [[User:KyleGospo| Kyle Gospodnetich]], [[User:owensz| Owen Zimmerman]]
* Email: lleyton@fyralabs.com, me@kylegospodneti.ch, owen@fyralabs.com
== Detailed Description ==
This change would introduce a new primary architecture, x86_64_v3. Existing packages built for x86_64 would start being built for v3. The support for installing x86_64 microarch packages are already in libsolv and RPM, but will require changes in DNF and Koji.
== Feedback ==
No feedback at this moment.
== Benefit to Fedora ==
This change allows installing packages compiled against a more recent x86_64 baseline, which can improve system performance for modern machines.
== Scope ==
* Proposal owners:
** Extend Koji to support x86_64 architecture levels
** Add compiler flag definitions for x86_64_v2/v3/v4 to `redhat-rpm-config`
** Add support to DNF5 to transparently use packages for higher levels as appropriate
** Add support to Pungi for x86_64 architecture levels to x86_64 composes
* Other developers:
** Release Engineering: Enable and deliver x86_64_v3 repositories and images for x86_64
* Release engineering: [https://forge.fedoraproject.org/releng/tickets/issues/13310 #13310]
* Policies and guidelines: Packaging guidelines need to be updated to note `%{x86_64}` should be used for architecture conditionals for x86_64 instead of just the plain `x86_64`.
* Trademark approval: N/A (not needed for this Change)
* Alignment with the Fedora Strategy: Building microarchitecture packages for modern systems helps Fedora lead in distribution development. However, this change does not align with any specific objective.
== Upgrade/compatibility impact ==
On upgrade, systems that have support for the x86_64_v3 baseline will automatically install x86_64_v3 packages when available.
== Early Testing (Optional) ==
Do you require 'QA Blueprint' support? N
== How To Test ==
To test, a x86_64 system supporting the v3 baseline is required. When available, DNF will select packages with the highest compatible baseline. Testing involves upgrading or installing 45 on a supported system, ensuring that packages installed are compiled for the x86_64_v3 baseline, and validating that packages built for v3 work as expected.
== User Experience ==
Packages compiled against a higher baseline may perform better on systems which support it.
== Dependencies ==
koji, redhat-rpm-config, pungi, dnf5.
== Contingency Plan ==
* Contingency mechanism: Revert and unpublish x86_64_v3 packages and defer to the next release.
* Contingency deadline: Beta Freeze
* Blocks release? No
== Documentation ==
There's no current upstream documentation for microarch handling in DNF, but for reference, these PRs may be useful:
* https://github.com/rpm-software-management/rpm/pull/2315
* https://github.com/rpm-software-management/dnf5/pull/2591
* https://github.com/rpm-software-management/mock/pull/1733
== Release Notes ==
\n\n\nFedora now provides packages for the x86_64 v3 baseline. When upgrading the system to Fedora 45, DNF will pull packages for x86_64 v3 if the host system is detected as supporting a x86_64 v3 or higher baseline. This may improve system performance on modern machines.
-- _______________________________________________ devel-announce mailing list -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org Do not reply to spam, report it: https://forge.fedoraproject.org/infra/tickets/issues/new
No comments:
Post a Comment