|Summary:||make dnf case insensitive for package search and installation|
|Product:||[Fedora] Fedora||Reporter:||Asif Ali Rizvan <fast.rizwaan>|
|Status:||CLOSED WONTFIX||QA Contact:||Fedora Extras Quality Assurance <extras-qa>|
|Version:||rawhide||CC:||jmracek, mjuszkie, mluscon, packaging-team-maint, pnemade, rpm-software-management, vmukhame|
|Target Milestone:||---||Keywords:||FutureFeature, Triaged, UserExperience|
|Fixed In Version:||Doc Type:||If docs needed, set a value|
|Doc Text:||Story Points:||---|
|Last Closed:||2017-06-29 12:35:22 UTC||Type:||Bug|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
Description Asif Ali Rizvan 2016-08-04 19:52:43 UTC
Description of problem: There are many rpm packages which are case sensitive like SDL, VirtualBox, mesa-libGLU, Nestopia, and around 5,500 rpm files have partial UPPERCASE names. $ sudo dnf install sdl Last metadata expiration check: 0:02:23 ago on Fri Aug 5 01:15:08 2016. No package sdl available. Error: Unable to find a match. $ dnf list|grep -i SDL SDL.x86_64 1.2.15-21.fc24 @@commandline SDL-devel.x86_64 1.2.15-21.fc24 @fedora SDL2.x86_64 2.0.4-6.fc24 @updates SDL2_ttf.x86_64 2.0.14-1.fc24 @fedora SDL_image.x86_64 1.2.12-14.fc24 @fedora Yeah right, it is SDL. but who will remember that always? Version-Release number of selected component (if applicable): How reproducible: dnf list|grep [A-Z]|wc -l 5589 Steps to Reproduce: 1. dnf list|grep [A-Z] 2. dnf install sdl-devel 3. dnf install virtualbox Actual results: dnf should make it case insensitive translation. Else we users are force do to dnf list|grep -i <package name> Expected results: dnf should search and install packages case insensitively. Or at least do auto correction or give suggestion to replace sdl with SDL, as we can see for Tab-Completion. Additional info: It is annyoing to remember wHeRe and WhIcH pAckAges have uppercase leTTERS, and it make is it even more time consuming to install some basic packages like SDL and virtualbox.
Comment 1 Michal Luscon 2016-08-08 12:19:13 UTC
Dnf search is already case insensitive: # dnf search networkmanager NetworkManager-tui.x86_64 : NetworkManager curses-based UI NetworkManager-wifi.x86_64 : Wifi plugin for NetworkManager NetworkManager-ssh.x86_64 : NetworkManager VPN plugin for SSH NetworkManager-pptp.x86_64 : NetworkManager VPN plugin for PPTP NetworkManager-vpnc.x86_64 : NetworkManager VPN plugin for vpnc NetworkManager-adsl.x86_64 : ADSL device plugin for NetworkManager NetworkManager-team.x86_64 : Team device plugin for NetworkManager NetworkManager-iodine.x86_64 : NetworkManager VPN plugin for iodine NetworkManager-openvpn.x86_64 : NetworkManager VPN plugin for OpenVPN libproxy-networkmanager.x86_64 : Plugin for libproxy and networkmanager And as for the install, we will consider it with regard to other package managers.
Comment 2 Marcin Juszkiewicz 2016-09-07 09:04:07 UTC
10:59 root@puchatek:hrw# LANGUAGE=C dnf list perl*text*charw* Last metadata expiration check: 0:04:23 ago on Wed Sep 7 10:56:22 2016. Installed Packages perl-Text-CharWidth.x86_64 0.04-27.fc25 @rawhide 11:00 root@puchatek:hrw# LANGUAGE=C dnf install -y perl*text*charw* No package perl*text*charw* available. Error: Unable to find a match. Awesome.
Comment 3 Jaroslav Mracek 2017-06-29 12:35:22 UTC
I implemented hints in cases where case insensitivity provide a result (this will be implemented in next release - current is dnf-2-5.1-1): sudo LANGUAGE=C dnf install -y perl*text*charw* Last metadata expiration check: 0:04:06 ago on Thu 29 Jun 2017 02:06:18 PM CEST. No package perl*text*charw* available. * Maybe you meant: perl-Text-CharWidth Error: Unable to find a match I know that it is not exactly what was requested, but at least something. I know that case insensitivity will improve the user experience, and it is fine for outputs like from 'dnf list' commands, but for install command I would prefer to keep behavior like it is. There is no rule that prevents coexistence of rpms like MyNicePackage and mynicepackage and using case insensitivity will disable users possibility to define, what was the requested package. Also the combination case insensitivity with globs can be problematic, because you can receive more hints that you expected. Like if you will use "dnf install perl-t*" now you install 4 packages, but with case insensitivity dnf will try to install about 387 packages. Hope that you understand that.