Bug 709647 - Install bash-completion by default
Summary: Install bash-completion by default
Alias: None
Product: Fedora
Classification: Fedora
Component: bash-completion
Version: 15
Hardware: All
OS: Unspecified
Target Milestone: ---
Assignee: Ville Skyttä
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2011-06-01 09:36 UTC by Milan Bouchet-Valat
Modified: 2011-07-31 12:49 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2011-07-27 20:42:50 UTC
Type: ---

Attachments (Terms of Use)

Description Milan Bouchet-Valat 2011-06-01 09:36:41 UTC
Title says it all. I think it would be good to have the bash-completion package on default installs. It's very lightweight (197kB packaged), incredibly handy, and most users won't figure it out by themselves.

When I switched from Ubuntu, I really missed autocompletion, and I didn't imagine the package existed and I just needed to install it, because that's so logical to me it would be installed by default.

I'm filing the bug in bash-completion because I don't really know where's the right place to request this (anaconda?), and anyway feedback from maintainers is likely to be useful.

Comment 1 Andre Robatino 2011-06-01 17:15:37 UTC
I'm guessing "distribution" is the right Component, since it's not a bug in a specific package, but a question of what packages should be in a default install.

Comment 2 Ville Skyttä 2011-06-01 20:12:19 UTC
Having it filed against bash-completion is fine with me, I know where to make the changes for this to happen, and I do think it's a good idea.

However choosing the appropriate group is not entirely trivial.  For bash-completion to be installed by default it would need to be in a group that is installed by default, and installed by default in it.  The latter part is easy, but the former needs some thought.

IMO this boils down basically to a choice between admin-tools and base.  admin-tools does not sound appropriate because bash-completion is not an admin tool, and the description of base is "This group includes a minimal set of packages.  Useful for creating small router/firewall boxes, for example.".  I don't think bash-completion conflicts with that description, but I'll need to find a forum somewhere to discuss the change or find documentation whether I can just go ahead and do it.

bash-completion is currently in the system-tools group as optional (not installed by default even if the group is installed) and system-tools is not installed by default, but as a first step I've changed bash-completion to be installed by default within that group for F-16.

Comment 3 Ville Skyttä 2011-06-01 20:54:33 UTC
Discussion started on devel list.

Comment 4 Milan Bouchet-Valat 2011-06-02 08:55:28 UTC
Cool, thanks for the quick feedback!

Maybe base isn't as bad a choice as it sounds: when you set up a router, you'll likely login via SSH to it, in which case having completion just like on your full system is nice. Though I admit it might not be a good idea to add a few kB on such systems...

Comment 5 Ville Skyttä 2011-06-02 11:59:07 UTC
I don't personally see base as a bad choice either, but messing with minimal setups is something that people tend to have strong opinions on so I wanted to discuss it a bit first.  There have been no replies to my mail yet, and unless someone yells in a few days or I find that bash-completion has missing dependencies that would pull in more stuff in base, I'll go ahead and add it to base as default for F-16+.  I don't think it's likely to annoy people, but the ones who are annoyed can always just uninstall it.

Comment 6 dann 2011-06-02 15:57:25 UTC
Please do not do this before solving


what bash_completion does is very ugly and slow.

Comment 7 Ville Skyttä 2011-06-02 19:15:29 UTC
It's possible that that code will go away before F-16 is out.  But while I agree that it is ugly, it is undeniably functional and I don't think it's slow enough (no numbers have been posted BTW, and the posted patch introduces at least one regression) to block the package from being installed by default even in its current form.

Comment 8 Roman Rakus 2011-06-30 12:12:39 UTC
How much is bash-completion changing the default bash completion? Is there any list of completions (upstream?)? I don't want to see that this change will break current completions. Anyway, I would to stay in CC, so I can track when this will be (or won't be) in Fedora by default.

Comment 9 Ville Skyttä 2011-06-30 16:48:10 UTC
I don't think a list of completions in bash-completion exists, but you can get a picture of it by looking for "complete" lines in bash_completion, completions/Makefile.am, and completions/* to find out cases where a single snippet installs completions for several commands.


Regarding how much it changes bash's default completions depends on the command.  For some commands it just filters the filenames offered as completions, for others it does much more.  I believe bash by default pretty much blindly offers file and dirname completions for everything which makes no sense for a lot of commands, but users can always force that behavior by hitting Alt+/ instead of tab if they prefer it.

Comment 10 Ville Skyttä 2011-07-27 20:42:50 UTC
The feedback on -devel was about 50-50 positive and negative and those who posted -1's have not followed up on my several requests for more information (no specifics, no bugs filed).  Since it was 50-50 on a devel list and this package is most useful for less experienced users than those following devel, I count that as a positive net result and have now added bash-completion to the "base" group as default for F-16+ in git.

Comment 11 Milan Bouchet-Valat 2011-07-31 12:49:10 UTC
Cool, thanks!

Note You need to log in before you can comment on or make changes to this bug.