Bug 1322080

Summary: dnf is not consistent with ignoring lower/upper case in packages names
Product: [Fedora] Fedora Reporter: Marcin Juszkiewicz <mjuszkie>
Component: dnfAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jsilhan, mluscon, packaging-team-maint, pnemade, vmukhame
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-31 13:23:39 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:

Description Marcin Juszkiewicz 2016-03-29 18:31:12 UTC
Description of problem:

I noticed that system update listed "SuperLU" package as being upgraded. So I decided to check what it is.

20:23 root@puchatek:hrw# dnf info superlu
Last metadata expiration check: 0:15:05 ago on Tue Mar 29 20:08:12 2016.
Installed Packages
Name        : SuperLU
Arch        : x86_64
Epoch       : 0
Version     : 5.1.1
Release     : 2.fc25
Size        : 482 k
Repo        : @System
From repo   : rawhide
Summary     : Subroutines to solve sparse linear systems
URL         : http://crd-legacy.lbl.gov/~xiaoye/SuperLU/
License     : BSD and GPLV2+
Description : SuperLU contains a set of subroutines to solve a sparse linear system
            : A*X=B. It uses Gaussian elimination with partial pivoting (GEPP).
            : The columns of A may be preordered before factorization; the
            : preordering for sparsity is completely separate from the factorization.

And then tried to remove it:

20:23 root@puchatek:hrw# dnf remove superlu
No match for argument: superlu
Error: No packages marked for removal.

Had to use PrOPeR case to get it accepted for removal:

20:28 root@puchatek:hrw# dnf remove SuperLU
Dependencies resolved.
================================================================================
 Package        Arch        Version                         Repository     Size
================================================================================
Removing:
 SuperLU        x86_64      5.1.1-2.fc25                    @rawhide      482 k
 armadillo      x86_64      6.600.4-2.fc25                  @rawhide       55 k
 arpack         x86_64      3.3.0-2.b0f7a60git.fc24         @rawhide      311 k

Transaction Summary
================================================================================
Remove  3 Packages

Installed size: 848 k
Is this ok [y/N]: n

IMHO it should accept any case combination in all commands.

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

20:28 root@puchatek:hrw# dnf --version
1.1.7
  Installed: dnf-0:1.1.7-2.fc25.noarch at 2016-03-14 10:00
  Built    : Fedora Project at 2016-03-09 16:48

  Installed: rpm-0:4.13.0-0.rc1.27.fc25.x86_64 at 2016-03-14 09:59
  Built    : Fedora Project at 2016-03-10 14:46


How reproducible:

always

Steps to Reproduce:
1. dnf remove superlu
2. dnf remove SuperLU

Actual results:

Other capitalisation than one in package name is accepted for some commands and not for the others.

Expected results:

Other capitalisation than one in package name is accepted for all commands.

Additional info:

Comment 1 Parag Nemade 2016-03-30 03:44:19 UTC
I think this behaviour is same that yum command provided. The search and info commands are not case sensitive as they can provide more information to user but we may have same named package in the repository more than once. E.g. superlu and SuperLU so while installing or removing dnf need to make sure correct package name is picked.

Comment 2 Marcin Juszkiewicz 2016-03-30 06:59:08 UTC
If dnf has to be 'just new yum' then let it keep original name. 

Allowing mixed case letters in package names are 'feature bug' of Fedora but at least for official packages it will be consistent.

Comment 3 Michal Luscon 2016-03-31 13:23:39 UTC
This behaviour is reasonable as search is used for identifying the right package name.