Wiki: https://fedoraproject.org/wiki/Changes/RelocateRpmRepoConfigsToUsr
Discussion Thread: https://discussion.fedoraproject.org/t/188916
**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 ==
Relocate all packaged RPM repository configuration data from <code>/etc</code> to <code>/usr</code>.
== Owner ==
* Name: [[User:Ngompa| Neal Gompa]]
* Email: ngompa13@gmail.com
== Detailed Description ==
This Change aims relocate all packaged RPM repository configuration data from <code>/etc/yum.repos.d</code> to <code>/usr/share/dnf5/repos.d</code>. All Fedora packaging PGP/GPG keys in <code>fedora-gpg-keys</code> will also be relocated to <code>/usr/share/pki/rpm-gpg</code>.
This is now possible because all major read+write frontends for DNF configuration now go through DNF5. Fedora has now switched to DNF version 5 in the build system ([[Changes/BuildWithDNF5|Fedora Linux 40]]), the user-facing CLI tools ([[Changes/SwitchToDnf5|Fedora Linux 41]]), the installer ([[Changes/Switch_Anaconda_installer_to_DNF5|Fedora Linux 43]]), and PackageKit ([[Changes/PackageKit-DNF5|Fedora Linux 44]]). This means all the major supported entry points implicitly support DNF5's layered configuration system.
The <code>fedora-third-party</code> tool used by Fedora KDE Plasma variants and Fedora Workstation will also be adjusted for this new world.
== Feedback ==
== Benefit to Fedora ==
The key benefit for Fedora is it establishes a clean separation of packaged repository definitions and allows for users to trivially identify local changes and undo them if desired. This is also necessary to simplify how derivatives handle repository definitions, since moving it to <code>/usr</code> allows the middle layer for packaged repository configuration overrides to function properly.
== Scope ==
* Proposal owners:
** {{package|fedora-repos}}: Relocate yum.repos.d and rpm-gpg data to new locations in <code>/usr</code>
** {{package|fedora-workstation-repositories}}: Relocate yum.repos.d and rpm-gpg data to new locations in <code>/usr</code>
** {{package|fedora-third-party}}: Update configuration editor code to generate drop-in files in <code>/etc/dnf/repos.override.d</code>
* Other developers: N/A (not needed for this Change)
* Release engineering: [https://forge.fedoraproject.org/releng/tickets/issues/13321 #13321]
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with the Fedora Strategy: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
Distribution provided RPM repository configuration files, if unmodified, will cleanly move from <code>/etc</code> to <code>/usr</code>. If modified, they will stay in place and override the configuration files shipped in <code>/usr</code> entirely.
Going forward, packaged repository configuration will no longer be present in <code>/etc</code>.
== Early Testing (Optional) ==
N/A
== How To Test ==
Once the changes are made in Rawhide, simply upgrade into them and interact with the package manager normally.
== User Experience ==
There should be no substantially visible changes to the user experience.
== Dependencies ==
* {{package|fedora-repos}}
* {{package|fedora-workstation-repositories}}
* {{package|fedora-third-party}}
== Contingency Plan ==
* Contingency mechanism: Rollback and defer to the next release
* Contingency deadline: Final Freeze
* Blocks release? Yes
== Documentation ==
DNF5 documentation on the configuration system: https://dnf5.readthedocs.io/en/latest/dnf5.conf.5.html
== Release Notes ==
Fedora Linux 45 now ships all distribution-provided configuration for the DNF package manager in <code>/usr</code>, which makes it easier to identify user-local changes in <code>/etc</code> separately from distribution-provided configuration.
Discussion Thread: https://discussion.fedoraproject.org/t/188916
**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 ==
Relocate all packaged RPM repository configuration data from <code>/etc</code> to <code>/usr</code>.
== Owner ==
* Name: [[User:Ngompa| Neal Gompa]]
* Email: ngompa13@gmail.com
== Detailed Description ==
This Change aims relocate all packaged RPM repository configuration data from <code>/etc/yum.repos.d</code> to <code>/usr/share/dnf5/repos.d</code>. All Fedora packaging PGP/GPG keys in <code>fedora-gpg-keys</code> will also be relocated to <code>/usr/share/pki/rpm-gpg</code>.
This is now possible because all major read+write frontends for DNF configuration now go through DNF5. Fedora has now switched to DNF version 5 in the build system ([[Changes/BuildWithDNF5|Fedora Linux 40]]), the user-facing CLI tools ([[Changes/SwitchToDnf5|Fedora Linux 41]]), the installer ([[Changes/Switch_Anaconda_installer_to_DNF5|Fedora Linux 43]]), and PackageKit ([[Changes/PackageKit-DNF5|Fedora Linux 44]]). This means all the major supported entry points implicitly support DNF5's layered configuration system.
The <code>fedora-third-party</code> tool used by Fedora KDE Plasma variants and Fedora Workstation will also be adjusted for this new world.
== Feedback ==
== Benefit to Fedora ==
The key benefit for Fedora is it establishes a clean separation of packaged repository definitions and allows for users to trivially identify local changes and undo them if desired. This is also necessary to simplify how derivatives handle repository definitions, since moving it to <code>/usr</code> allows the middle layer for packaged repository configuration overrides to function properly.
== Scope ==
* Proposal owners:
** {{package|fedora-repos}}: Relocate yum.repos.d and rpm-gpg data to new locations in <code>/usr</code>
** {{package|fedora-workstation-repositories}}: Relocate yum.repos.d and rpm-gpg data to new locations in <code>/usr</code>
** {{package|fedora-third-party}}: Update configuration editor code to generate drop-in files in <code>/etc/dnf/repos.override.d</code>
* Other developers: N/A (not needed for this Change)
* Release engineering: [https://forge.fedoraproject.org/releng/tickets/issues/13321 #13321]
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with the Fedora Strategy: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
Distribution provided RPM repository configuration files, if unmodified, will cleanly move from <code>/etc</code> to <code>/usr</code>. If modified, they will stay in place and override the configuration files shipped in <code>/usr</code> entirely.
Going forward, packaged repository configuration will no longer be present in <code>/etc</code>.
== Early Testing (Optional) ==
N/A
== How To Test ==
Once the changes are made in Rawhide, simply upgrade into them and interact with the package manager normally.
== User Experience ==
There should be no substantially visible changes to the user experience.
== Dependencies ==
* {{package|fedora-repos}}
* {{package|fedora-workstation-repositories}}
* {{package|fedora-third-party}}
== Contingency Plan ==
* Contingency mechanism: Rollback and defer to the next release
* Contingency deadline: Final Freeze
* Blocks release? Yes
== Documentation ==
DNF5 documentation on the configuration system: https://dnf5.readthedocs.io/en/latest/dnf5.conf.5.html
== Release Notes ==
Fedora Linux 45 now ships all distribution-provided configuration for the DNF package manager in <code>/usr</code>, which makes it easier to identify user-local changes in <code>/etc</code> separately from distribution-provided configuration.
-- _______________________________________________ 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