![](https://seccdn.libravatar.org/avatar/3035b38ff33cf86f480bb169b8500b80.jpg?s=120&d=mm&r=g)
https://bugzilla.novell.com/show_bug.cgi?id=811030 https://bugzilla.novell.com/show_bug.cgi?id=811030#c0 Summary: ~/.bash_completion overrides instead of augments system completions Classification: openSUSE Product: openSUSE 12.3 Version: Final Platform: All OS/Version: openSUSE 12.2 Status: NEW Severity: Normal Priority: P5 - None Component: Other AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: psychonaut@nothingisreal.com QAContact: qa-bugs@suse.de Found By: --- Blocker: --- Created an attachment (id=531218) --> (http://bugzilla.novell.com/attachment.cgi?id=531218) Patch to /etc/bash.bashrc which restores custom completions User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 SeaMonkey/2.16.1 According to the documentation for bash-completions at /usr/share/doc/packages/bash-completion/README, the user should put any additional completions (over and above the ones provided by the distribution) in ~/.bash_completion: Q. How can I insert my own local completions without having to reinsert them every time you issue a new release? A. Put them in ~/.bash_completion, which is parsed at the end of the main completion script. And indeed, if you read the source code at /usr/share/bash-completion/bash_completion, you'll see that it first applies its own completions, and then sources the user's ~/.bash_completion. However, openSUSE's /etc/bash.bashrc overrides this behaviour. That script first checks for ~/.bash_completion, and executes it if present. Only if it is *not* present does it run /usr/share/bash-completion/bash_completion (via /etc/profile.d/bash_completion.sh). This makes it impossible for the user to specify additional completions in accordance with the bash-completion manual. If he tries to do so, none of the "official" completions get loaded. Reproducible: Always I attach a patch for /etc/bash.bashrc which puts the test for ~/.bash_completion after the one for /etc/profile.d/bash_completion.sh. This solves the problem in my case. I note, however, that /etc/bash.bashrc checks for a lot of other scripts here (/etc/bash_completion and /etc/profile.d/complete.bash) which on a stock openSUSE 12.3 system should never exist in the first place. I'm not sure why these tests exists -- perhaps for backward compatibility? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.