Red Hat Bugzilla – Bug 1151231
Broken bash completion (does not occur when dnf-plugins-core installed)
Last modified: 2014-12-13 04:53:47 EST
Description of problem:
'dnf install <TAB>' does not work, one gets:
# dnf install cut: you must specify a list of bytes, characters, or fields
Try 'cut --help' for more information.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. $ dnf install
2. press TAB
List of packages available for installation
For me this is working fine on Fedora 21. I just did
"sudo dnf install <TAB><TAB>"
and this gave me
Display all 36406 possibilities? (y or n)
also work for me
sudo dnf install <TAB><TABZ
Display all 43380 possibilities? (y or n)
it just take some time because the large amount of available packages
(In reply to Tim Lauridsen from comment #2)
> also work for me
> sudo dnf install <TAB><TABZ
> Display all 43380 possibilities? (y or n)
> it just take some time because the large amount of available packages
Are you both using the same dnf-0.6.2-1.fc21.noarch version? I think the issue is present only in this most recent version; did you reboot since then? Or try starting a new bash with 'bash' to reload the bash completion, and then dnf install <TAB><TAB> again.
Yes. Before commenting here I already reboot and using
$ rpm -qa dnf*
Also, now I tested bash completion with success in my fedora 21 alpha VM also.
(In reply to Parag from comment #4)
> Yes. Before commenting here I already reboot and using
> $ rpm -qa dnf*
> Also, now I tested bash completion with success in my fedora 21 alpha VM
Do you have the file /var/cache/dnf/available.cache? I don't have it on my machine, and thus part of the command used for completion is
COMPREPLY=( $( compgen -W '$( dnf --cacheonly list $cur* 2>/dev/null | cut -d' ' -f1 )' -- "$cur" ) )
from the line https://github.com/rpm-software-management/dnf/blob/6eceb2b4b7d37df72367e37ca5b49c4cc8061e8a/etc/bash_completion.d/dnf-completion.bash#L77
I can't run this line in bash without error, apparently due to the use of ' quoting inside ' quotes.
/var/cache/dnf/available.cache is generated by the generate_completion_cache plugin from dnf-plugins-core, so you don't get this error when you have dnf-plugins-core installed.
Igor, can you take a look, please?
Yes. Igor re-wrote the bash completion so he is the contact person to look into this issue.
I have not further tested but looks like as dnf-plugins-core package being avoided to be pulled by default or in other words dnf don't need dnf-plugins-core when installed, bash completion code need to consider this issue. But I am not sure if we can have dnf bash completion working without dnf-plugins-core package.
just removed dnf-plugins-core and cache files and yes I can reproduce this successfully. This really need to be fixed.
I will take a look at this weekend. Thanks for reporting
*** Bug 1154094 has been marked as a duplicate of this bug. ***
*** Bug 1160744 has been marked as a duplicate of this bug. ***
*** Bug 1160967 has been marked as a duplicate of this bug. ***
Hi, I'm again have time.
I've implemented more better caching and one of commits fixing completion without dnf-plugins-core. you can clone my sqlite branch, execute `source etc/bash_completion.d/dnf-completion.bash` and try dnf install <TAB><TAB>.
It works for me now.
*** Bug 1167125 has been marked as a duplicate of this bug. ***
dnf-0.6.3-2.fc21,dnf-plugins-core-0.1.4-1.fc21,hawkey-0.5.2-1.fc21 has been submitted as an update for Fedora 21.
Package dnf-0.6.3-2.fc21, hawkey-0.5.2-1.fc21, dnf-plugins-core-0.1.4-1.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing dnf-0.6.3-2.fc21 hawkey-0.5.2-1.fc21 dnf-plugins-core-0.1.4-1.fc21'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
dnf-0.6.3-2.fc21, hawkey-0.5.2-1.fc21, dnf-plugins-core-0.1.4-1.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.