Description of problem: I created a package called `dotnet-sdk-2.0`. It includes a `Provides: dotnet`. dnf fails to install it when I ask to install it by the provided name, `dotnet`. Version-Release number of selected component (if applicable): dnf-2.7.5-1.fc27.noarch How reproducible: 100% Steps to Reproduce: 1. dnf copr enable @dotnet-sig/dotnet 2. dnf install dotnet Here is what I see on my machine: $ sudo dnf clean all 37 files removed [omajid@trull ~]$ sudo dnf repolist Copr repo for dotnet owned by @dotnet-sig 23 kB/s | 40 kB 00:01 Fedora 27 - x86_64 - Updates 3.6 MB/s | 11 MB 00:02 Fedora 27 - x86_64 8.2 MB/s | 58 MB 00:07 RPM Fusion for Fedora 27 - Free - Updates 139 kB/s | 66 kB 00:00 RPM Fusion for Fedora 27 - Free 998 kB/s | 717 kB 00:00 Last metadata expiration check: 0:00:00 ago on Thu 30 Nov 2017 10:23:44 AM EST. repo id repo name status *fedora Fedora 27 - x86_64 54,801 group_dotnet-sig-dotnet Copr repo for dotnet owned by @dotnet-sig 17 *rpmfusion-free RPM Fusion for Fedora 27 - Free 574 *rpmfusion-free-updates RPM Fusion for Fedora 27 - Free - Updates 55 *updates Fedora 27 - x86_64 - Updates 6,162 $ sudo dnf repoquery --provides dotnet-sdk-2.0 Last metadata expiration check: 0:00:12 ago on Thu 30 Nov 2017 10:23:44 AM EST. dotnet = 2.0.3-3.fc27 dotnet-sdk-2.0 = 2.0.3-2.fc27 dotnet-sdk-2.0 = 2.0.3-3.fc27 dotnet-sdk-2.0(x86-64) = 2.0.3-2.fc27 dotnet-sdk-2.0(x86-64) = 2.0.3-3.fc27 $ sudo dnf install dotnet Last metadata expiration check: 0:00:21 ago on Thu 30 Nov 2017 10:23:44 AM EST. * Maybe you meant: dotnet No match for argument: dotnet Error: Unable to find a match $ sudo dnf install dotnet-2.0.3-3.fc27 Last metadata expiration check: 0:00:27 ago on Thu 30 Nov 2017 10:23:44 AM EST. * Maybe you meant: dotnet No match for argument: dotnet-2.0.3-3.fc27 Error: Unable to find a match Strangely, for other packages, I can install by provides: $ sudo dnf install java-devel Last metadata expiration check: 0:00:38 ago on Thu 30 Nov 2017 10:23:44 AM EST. Package java-1.8.0-openjdk-devel-1:1.8.0.151-1.b12.fc27.x86_64 is already installed, skipping. Dependencies resolved. Nothing to do. Complete!
If this is PEBKAC, could you please at least fix the confusing messages that I see here: """ * Maybe you meant: dotnet No match for argument: dotnet """
The problem here is that you have dotnet.src package in repository. DNF first search for solution by name, it found one, but src package is not install-able therefore it writes no match for argument.
I created a patch that should solve the issue with hint (https://github.com/rpm-software-management/dnf/pull/993). In future we will enhance reports, but cannot now.
Thanks for the quick response. Am I understanding it correctly that a package shouldn't have a `Provide:` matching the base backage name, then? And dnf will not install the package that `Provides: dotnet` as long as dotnet.src exists?
Normally your problem cannot happen because src packages are placed in separate disabled repository. I would suggest that you can workaround it by: "dnf install dotnet -x dotnet.src" or change name of package "dotnet-sdk" to "dotnet". Or try to install directly "dotnet-sdk", or add "excludepkgs=dotnet" to "/etc/yum.repos.d/<repo_name>.repo" . There are many possibilities how to solve your problem.
The issue is solved by dnf-3.0.1-1 that was released into rawhide.