From Fedora Project Wiki
(Initial draft)
 
(The Change proposal has been canceled by Change owner: https://fedorahosted.org/fesco/ticket/1578#comment:7)
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{admon/important | Comments and Explanations | The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choose the "view source" link.<br/> '''Copy the source to a ''new page'' before making changes!  DO NOT EDIT THIS TEMPLATE FOR YOUR CHANGE PROPOSAL.'''}}
<!-- Self Contained or System Wide Change Proposal?
<!-- Self Contained or System Wide Change Proposal?
Use this guide to determine to which category your proposed change belongs to.
Use this guide to determine to which category your proposed change belongs to.
Line 23: Line 21:


<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
= Use /etc/distro.repos.d as default reposdir <!-- The name of your change proposal --> =
= Use <tt>/etc/repos.d</tt> as default reposdir <!-- The name of your change proposal --> =


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
Change the default repository configuration directory to use /etc/distro.repos.d.  
Change the default repository configuration directory to use <tt>/etc/repos.d</tt>.  


== Owner ==
== Owner ==
Line 36: Line 34:
* Name: [[User:Ngompa| Neal Gompa]]
* Name: [[User:Ngompa| Neal Gompa]]
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: ngompa13@gmail.com
* Email: ngompa13 at gmail dot com
 
* Name: [[User:jsilhan| Jan Silhan]]
 
* Email: jsilhan at fedoraproject dot org
 
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
Line 61: Line 64:
== Detailed Description ==
== Detailed Description ==


For DNF 2.0 in Fedora 25, the DNF team would like to move the default repository configuration directory from <tt>/etc/yum.repos.d</tt> to <tt>/etc/distro.repos.d</tt>.
For DNF 2.0 in Fedora 25, the DNF team would like to make the default repository configuration directory <tt>/etc/repos.d</tt>. In contrast to <tt>/etc/yum.repos.d</tt> (current default path), <tt>/etc/repos.d</tt> path is a package manager agnostic name and less misleading. The configuration files are currently used by DNF, PackageKit, and Yum. The proposed location more accurately reflects the nature of the repositories, and also implies that other tools can look there for repository information. Note: current default repository configuration directory <tt>/etc/yum.repos.d</tt> will still be supported by package managers but <tt>/etc/repos.d</tt> would be preferred default path. The repo config options are compatible between yum, DNF-2.0 and PackageKit, just some options are not interpreted by DNF and PackageKit so far. The goal is to make repo configuration path names general. We don't insist on concrete default path name that could be misleading. The other name alternatives are <tt>/etc/software.repos.d</tt>, <tt>/etc/vendors.repos.d</tt>, <tt>/etc/rpm.repos.d</tt>, <tt>/etc/rpm-md.repos.d</tt>, <tt>/etc/system.repos.d</tt>, <tt>/etc/sys.repos.d</tt>, and <tt>/etc/distro.repos.d</tt>.
 
The location more accurately reflects the nature of the repositories, and also implies that other tools can look here for repository information.


== Benefit to Fedora ==
== Benefit to Fedora ==
    
    
This directory path implies that the repositories are consumable by more than Yum, and other tools that can consume repo files can use it.
The former default directory path implies that the repositories are consumable by Yum only, which is not true. This general path name would help us define repository configuration path that would not be bound to a specific package manager name and so be more portable among package managers.
Other package managers that can read this data (such as PackageKit) would also obviously use this location.


== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners:
** DNF already supports <tt>/etc/distro.repos.d</tt>, so nothing needs to be done here.
** DNF already supports <tt>/etc/repos.d</tt>, but it should be set as default.
** Yum will need to use the new path by default while supporting the current one.


* Other developers:  
* Other developers:  
** PackageKit's Hif backend will need to change to use the new path.
** PackageKit's Hif backend will need to use the new path by default while supporting the current one.
** fedora-repos needs to change to the new path.
** fedora-repos and fedora-workstation-repositories will need to change to the new path.




Line 83: Line 84:


* Policies and guidelines:  
* Policies and guidelines:  
** Packages containing repository configuration will need to change to store repo files in <tt>/etc/distro.repos.d</tt>.
** Packages containing repository configuration will need to change to store repo files in <tt>/etc/repos.d</tt>.


* Trademark approval: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
Line 89: Line 90:
== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
<!-- What happens to systems that have had a previous versions of Fedora installed and are updated to the version containing this change? Will anything require manual configuration or data migration? Will any existing functionality be no longer supported? -->
* While DNF will still read <tt>/etc/distro.repos.d</tt>, PackageKit will not, so repository packages that install to <tt>/etc/yum.repos.d</tt> need to move to the new path for F25 updates.
 
The current default repository configuration directory (<tt>/etc/yum.repos.d</tt>) will still be supported by DNF, PackageKit, and Yum, so the configuration files should be always seen by them even after upgrading to Fedora 25. For example, the packages containing the configuration files to the third party repositories like RPM Fusion will still work as expected even though they install configuration to the original path.


== How To Test ==
== How To Test ==
Line 108: Line 110:
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
1. Install or upgrade to Fedora 25
1. Install or upgrade to Fedora 25
2. Ensure repo configs are in <tt>/etc/distro.repos.d</tt>
 
2. Ensure repo configs are in <tt>/etc/repos.d</tt>
 
3. Add a repo in that directory and see if it is recognized and used.
3. Add a repo in that directory and see if it is recognized and used.
4. Add a repo to <tt>/etc/yum.repos.d</tt> and see if it is recognized and used.


== User Experience ==
== User Experience ==
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Users may notice that system and COPR repository configuration have moved to <tt>/etc/distro.repos.d</tt>.
Users may notice that system and COPR repository configuration have moved to <tt>/etc/repos.d</tt>.


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
* fedora-repos
* fedora-repos
* fedora-workstation-repositories
* PackageKit
* PackageKit
* dnf
* dnf
* yum


== Contingency Plan ==
== Contingency Plan ==
Line 135: Line 143:
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->


With Fedora 25, repositories are now written to <tt>/etc/distro.repos.d</tt> instead of the older <tt>/etc/yum.repos.d</tt>.
With Fedora 25, repositories are now written to <tt>/etc/repos.d</tt> instead of the older <tt>/etc/yum.repos.d</tt>.


== Release Notes ==
== Release Notes ==

Latest revision as of 10:45, 30 May 2016


Use /etc/repos.d as default reposdir

Summary

Change the default repository configuration directory to use /etc/repos.d.

Owner

  • Email: jsilhan at fedoraproject dot org
  • Release notes owner:

Current status

  • Last updated: 2016-05-30
  • Targeted release: Fedora 25
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

For DNF 2.0 in Fedora 25, the DNF team would like to make the default repository configuration directory /etc/repos.d. In contrast to /etc/yum.repos.d (current default path), /etc/repos.d path is a package manager agnostic name and less misleading. The configuration files are currently used by DNF, PackageKit, and Yum. The proposed location more accurately reflects the nature of the repositories, and also implies that other tools can look there for repository information. Note: current default repository configuration directory /etc/yum.repos.d will still be supported by package managers but /etc/repos.d would be preferred default path. The repo config options are compatible between yum, DNF-2.0 and PackageKit, just some options are not interpreted by DNF and PackageKit so far. The goal is to make repo configuration path names general. We don't insist on concrete default path name that could be misleading. The other name alternatives are /etc/software.repos.d, /etc/vendors.repos.d, /etc/rpm.repos.d, /etc/rpm-md.repos.d, /etc/system.repos.d, /etc/sys.repos.d, and /etc/distro.repos.d.

Benefit to Fedora

The former default directory path implies that the repositories are consumable by Yum only, which is not true. This general path name would help us define repository configuration path that would not be bound to a specific package manager name and so be more portable among package managers.

Scope

  • Proposal owners:
    • DNF already supports /etc/repos.d, but it should be set as default.
    • Yum will need to use the new path by default while supporting the current one.
  • Other developers:
    • PackageKit's Hif backend will need to use the new path by default while supporting the current one.
    • fedora-repos and fedora-workstation-repositories will need to change to the new path.


  • Policies and guidelines:
    • Packages containing repository configuration will need to change to store repo files in /etc/repos.d.
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

The current default repository configuration directory (/etc/yum.repos.d) will still be supported by DNF, PackageKit, and Yum, so the configuration files should be always seen by them even after upgrading to Fedora 25. For example, the packages containing the configuration files to the third party repositories like RPM Fusion will still work as expected even though they install configuration to the original path.

How To Test

1. Install or upgrade to Fedora 25

2. Ensure repo configs are in /etc/repos.d

3. Add a repo in that directory and see if it is recognized and used.

4. Add a repo to /etc/yum.repos.d and see if it is recognized and used.

User Experience

Users may notice that system and COPR repository configuration have moved to /etc/repos.d.

Dependencies

  • fedora-repos
  • fedora-workstation-repositories
  • PackageKit
  • dnf
  • yum

Contingency Plan

  • Contingency mechanism: Revert to using /etc/yum.repos.d
  • Contingency deadline: Beta freeze
  • Blocks release? No
  • Blocks product? N/A

Documentation

With Fedora 25, repositories are now written to /etc/repos.d instead of the older /etc/yum.repos.d.

Release Notes