Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 521164

Summary: app-shells/gentoo-bashcomp: bash-completion files are not (fully) compatible with autoloading
Product: Gentoo Linux Reporter: Michał Górny <mgorny>
Component: Current packagesAssignee: Gentoo Shell Tools project <shell-tools>
Status: RESOLVED FIXED    
Severity: normal CC: alexander
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 521146    
Attachments: Batch of patches to fix the issues

Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-08-26 18:33:54 UTC
distcc-config: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
ebuild: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
ekeyword: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
emerge: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
epkginfo: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
equery: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
euse: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
gcc-config: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
gentoo: does not declare completion for gentoo
glsa-check: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
java-config: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
metagen: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
portageq: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
rc-service: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
rc-status: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
rc-update: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
rc: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)
revdep-rebuild: missing completion symlink for command (declared in /usr/share/bash-completion/gentoo)

For autoloading to work, there needs to be a file (or symlink) for each command involved. In other words, you'd have something like this in $completionsdir:

  emerge
  ebuild -> emerge
  ...

and preferably no files with names not matching commands (like 'gentoo') :).
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-08-26 18:34:30 UTC
*** Bug 483126 has been marked as a duplicate of this bug. ***
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-09-09 13:32:26 UTC
Created attachment 384458 [details]
Batch of patches to fix the issues

I've already sent those patches to the maintainer by mail but since I didn't get any reply, I'm re-attaching them here.

The patches:

1. move out the common code into $helpersdir/gentoo-common.sh, so that
it can be sourced from multiple completion files,

2. split completions into separate $completionsdir/$command files,

3. add a new 'install' target to the Makefile that defaults to getting
directories from pkg-config, allows override via make arguments
and does substitutions of paths.

Please let me know if they're ok to commit. If I don't get any reply this week, I'm going to assume nobody cares about gentoo-bashcomp anymore, commit the patches and do a new release with them.
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-09-11 14:25:36 UTC
*** Bug 521160 has been marked as a duplicate of this bug. ***
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-09-11 14:25:43 UTC
*** Bug 521156 has been marked as a duplicate of this bug. ***
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-09-11 14:26:42 UTC
Since Ryan is on indefinite devaway, I've pushed the changes into 'bashcomp2' branch and did a new release. However, the ebuild will be masked along with new bash-completion since it doesn't really benefit old bash-completion users, and it would require them to re-enable the completions.