Bug 1575157

Summary: dnf install no packages even if some matches found
Product: [Fedora] Fedora Reporter: joshua
Component: dnfAssignee: rpm-software-management
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: dmach, joshua, mhatina, packaging-team-maint, rdossant, rpm-software-management, vmukhame
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-05-09 10:00:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description joshua 2018-05-04 22:55:01 UTC
Description of problem:

dnf refuses to find matches even when they clearly exist... just give it enough things to find that don't, and it won't even install the ones that do:

$ sudo dnf install streamripper dropbox keychain pv strace ltrace xv powertop iotop htop mtr openssh-askpass kdump links tmux
Last metadata expiration check: 1:39:15 ago on Fri 04 May 2018 05:09:39 PM EDT.
No match for argument: streamripper
No match for argument: dropbox
No match for argument: xv
Package mtr-2:0.92-1.fc28.x86_64 is already installed, skipping.
No match for argument: kdump
Package tmux-2.7-1.fc28.x86_64 is already installed, skipping.
Error: Unable to find a match
$ 
$ # Even though htop is a match and can be installed:
$ 
$ sudo dnf install htop
Last metadata expiration check: 1:39:31 ago on Fri 04 May 2018 05:09:39 PM EDT.
Dependencies resolved.
================================================================================
 Package        Arch             Version                 Repository        Size
================================================================================
Installing:
 htop           x86_64           2.1.0-1.fc28            fedora           108 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 108 k
Installed size: 233 k
...



Version-Release number of selected component (if applicable):

dnf-2.7.5-12.fc28.noarch

Comment 1 Martin Hatina 2018-05-07 11:23:56 UTC
Do you have any modules on your system? If so are there any default streams (look for [d] in stream column in 'dnf module list') or enabled streams?

Comment 2 Rafael Fonseca 2018-05-07 11:25:00 UTC
Also please paste the output of

$ dnf repolist

Comment 3 joshua 2018-05-07 13:23:38 UTC
$ sudo dnf module list
Last metadata expiration check: 1:27:36 ago on Mon 07 May 2018 07:54:04 AM EDT.
Nothing to show.


$ sudo dnf repolist
Last metadata expiration check: 1:28:00 ago on Mon 07 May 2018 07:54:04 AM EDT.
repo id                     repo name                                     status
*fedora                     Fedora 28 - x86_64                            57,317
google-chrome               google-chrome                                      3
google-chrome-beta          google-chrome-beta                                 3
*rpmfusion-free             RPM Fusion for Fedora 28 - Free                  559
*rpmfusion-free-updates     RPM Fusion for Fedora 28 - Free - Updates         46
*rpmfusion-nonfree          RPM Fusion for Fedora 28 - Nonfree               203
*rpmfusion-nonfree-updates  RPM Fusion for Fedora 28 - Nonfree - Updates       5
*updates                    Fedora 28 - x86_64 - Updates                   2,594

Comment 4 Rafael Fonseca 2018-05-07 16:44:28 UTC
I configured the same repos as you. This is the result when I run the install command:

$: sudo dnf install streamripper dropbox keychain pv strace ltrace xv powertop iotop htop mtr openssh-askpass kdump links tmux
Last metadata expiration check: 0:06:07 ago on Mon 07 May 2018 18:27:35 CEST.
Package strace-4.22-1.fc28.x86_64 is already installed, skipping.
Package ltrace-0.7.91-24.fc27.x86_64 is already installed, skipping.
Package htop-2.1.0-1.fc28.x86_64 is already installed, skipping.
Package mtr-2:0.92-1.fc28.x86_64 is already installed, skipping.
No match for argument: kdump
Error: Unable to find a match

So the only package missing is kdump which can be installed as per these instructions: https://fedoraproject.org/wiki/How_to_use_kdump_to_debug_kernel_crashes

Comment 5 joshua 2018-05-07 20:22:59 UTC
That misses the point of the bug.  The issue isn't missing packages.  The issue is that some of what is specified is *not* missing, but dnf acts as if it is, and doesn't install it.

Here is another test I just ran:

$ sudo dnf remove -y htop
...

$ rpm -q htop
package htop is not installed

$ sudo dnf install missing1 missing2 missing3 htop missing4 missing5 missing6
Last metadata expiration check: 2:22:10 ago on Mon 07 May 2018 01:54:20 PM EDT.
No match for argument: missing1
No match for argument: missing2
No match for argument: missing3
No match for argument: missing4
No match for argument: missing5
No match for argument: missing6
Error: Unable to find a match

$ # Note that htop *is* available, but dnf acts like it isn't.
$ # This doesn't work either:

$ sudo dnf install mispeled_package htop
Last metadata expiration check: 2:25:39 ago on Mon 07 May 2018 01:54:20 PM EDT.
No match for argument: mispeled_package
Error: Unable to find a match

Is this expected behavior?   If I ask for multiple installs, or even just two installs, and even just one of them isn't available, should they all fail?

Comment 6 Martin Hatina 2018-05-09 07:37:45 UTC
Behaviour from comment#5 is expected. Opposed to yum, dnf will not silently skip broken/missing packages. If you want it to skip, please, use --skip-broken argument.