[Bash-completion-devel] using external helpers for completion

Guillaume Rousse Guillaume.Rousse at inria.fr
Sat Aug 28 16:32:25 UTC 2010


Le 27/08/2010 09:08, Freddy Vulto a écrit :
> On 100825 22:58, Guillaume Rousse wrote:
>> That's a good idea, that would avoid install-time substitution.
>> However, $BASH_COMPLETION_DIR point to the directory where completions
>> are sourced, whereas many of us (fedora and mandriva maintainers) only
>> put symlinks there, and use a distinct directory for installing the
>> whole set of available completions.
> 
> Then you can also create a `helpers' symlink there?
Sure, and it seems the easiest option currently.

However, I'd like us to decide on a final setup, that would be:
1) FHS-compliant
2) efficient in term of time spent to source files at each new bash
process start (that's the initial goal of distinguishing between
installation and activation directory)
3) enforced by our installation process (we currently hardcode
/etc/bash_completion.d in bash_completion file, instead of relying on
installation process to set it according to --sysconfdir variable)
4) avoid conveniancy symlinks, as the one we're just discussing here

That is supposed to be a 2.0 release objective, after all.

>> So, I'd rather use a distinct BASH_COMPLETION_DIR_HELPER for this, and
>> provide it a default value (/usr/share/bash-completion/helper) in main
>> bash_completion file.
> 
> I'm hesitating to add yet another configuration variable, especially
> since contrib & helpers are so tied together (we would also need a
> BASH_COMPLETION_COMPAT_DIR_HELPER, ugh).
I still don't know what's this variable is for, BTW.

>>>     complete -C ${BASH_SOURCE[0]%/*}/helpers/perldoc perldoc
>> Installation setup doesn't mandatorily match archive setup.
> 
> But we could make it mandatory for BASH_COMPLETION_DIR to have a
> (symlinked) `helpers' subdir?  More enforcements are coming if we're
> going to merge bash-completion-lib...
Yes, we can. But if the goal is just to be able to run the test suite
without running the 'build' stage, I think we'll run into the same
conflict the day where we'll be converting the main bash_completion
script to a bash_completion.in template file with a @sysconfdir@
substitution target inside to achieve point 3 in my previous list.

So, I'm absolutly OK for another symlink as a temporary solution, but
I'd prefer to achieve our long-time objective as well. And if testing
has specific issues, I'd prefer them to be solved by test-time only
solutions/hacks/whatever than permanent setup ones.
-- 
BOFH excuse #209:

Only people with names beginning with 'A' are getting mail this week (a
la Microsoft)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4251 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.alioth.debian.org/pipermail/bash-completion-devel/attachments/20100828/7fb624fb/attachment.bin>


More information about the Bash-completion-devel mailing list