After upgrading from Fedora 44 to current Rawhide (F46), I couldn't find fedora.repo, fedora-rawhide.repo, or terra.repo in /etc/yum.repos.d anymore. My /etc/yum.repos.d only had a couple of local repos and some .rpmsave leftovers.
It turns out the default/vendor repo files now live under /usr/share/dnf5/repos.d:
$ ls /usr/share/dnf5/repos.d
fedora.repo
fedora-rawhide.repo
fedora-updates.repo
fedora-cisco-openh264.repo
terra.repo
...
$ rpm -qf /usr/share/dnf5/repos.d/terra.repo
terra-release-46-5.noarch
dnf5 reads repository directories in this order, according to dnf5.conf(5):
/etc/yum.repos.d
/etc/distro.repos.d
/usr/share/dnf5/repos.d
So /etc/yum.repos.d is now for local/admin overrides, while package-provided defaults live under /usr/share. The .repo.rpmsave files in /etc/yum.repos.d are just backups from package upgrades and are not read by dnf.
You don't need to edit the vendor files. To change a repo setting, use:
sudo dnf config-manager setopt <repo-id>.<option>=<value>
For example:
sudo dnf config-manager setopt google-chrome.enabled=0
That writes an override to /etc/dnf/repos.override.d/99-config_manager.repo. A manual drop-in under /etc/dnf/repos.override.d/ works too.
Useful commands to see what is actually active:
dnf repolist --all
dnf repoinfo <repo-id>
rpm -qf /usr/share/dnf5/repos.d/<file>.repo
I'm not sure whether this is specifically a Fedora 46 packaging change or just the new dnf5 vendor layout. It makes sense conceptually: package defaults in /usr/share, administrator config in /etc. But it was surprising after the upgrade, especially for third-party repos like Terra whose release package now installs its .repo file there too.
Did anyone else run into this? Curious whether this is documented anywhere or whether people are still editing /etc/yum.repos.d out of habit.