Bash Completion Team
Proposal: ''New Directory Layout''
General Information
- Proposed by: Santiago M. Mola
Thread: http://lists.alioth.debian.org/pipermail/bash-completion-devel/2009-January/000670.html
- Proposed amendments:
- Ville Skyttä
- Freddy Vulto
Rationale
Bash-Completion is currently installed into different paths for each single GNU/Linux distribution. This way, it's not easy for maintainers to "interface" with other distributions' people, so a proposal has been raised to improve the directory layout of Bash-Completion scripts.
Use cases
- Enable modules system-wide and per-user.
- Disable modules that have been set system-wide, per-user.
- Disable slow parts of completions (globally, and per-command).
- Install "external module" from command's upstream project, enable it by default.
Current status
- Debian / Ubuntu
- /etc/bash_completion
- /etc/bash_completion.d/
- Fedora / Red Hat
- /etc/profile.d/bash_completion.sh (loads /etc/bash_completion)
- /etc/bash_completion
- /etc/bash_completion.d/ (loaded by vanilla /etc/bash_completion)
- ~/.bash_completion (loaded by vanilla /etc/bash_completion)
- Gentoo
- /etc/profile.d/bash-completion.sh
- /etc/bash_completion.d/ (enabled modules symlinked here)
- ~/.bash_completion.d/ (user enabled modules symlinked here)
- /usr/share/bash-completion/ (modules go here)
- /usr/share/bash-completion/base (base module, splited out)
- /usr/share/bash-completion/{.pre,.post} (initializations and cleanups, splited out)
- Mandriva
- /etc/bash_completion
- /etc/bash_completion.d/
- /etc/profile.d/*bash_completion.sh
- /etc/sysconfig/bash-completion
- ~/.bash_completion