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

Ville Skyttä ville.skytta at iki.fi
Mon Nov 1 07:10:20 UTC 2010


On Monday 01 November 2010, Freddy Vulto wrote:
> On 100828 18:32, Guillaume Rousse wrote:
> > 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.
> 
> Hello Guillaume,
> 
> I've moved ./helpers to ./completions/helpers so that bash_completion
> can be run directly from a git clone and the test suite runs without
> errors, closing Alioth #312729, awaiting a final setup.
> 
> I'm not sure if the configure/make process is still running fine...
> you'll probably have to test/fix it.

It doesn't, the perldoc helper no longer ends up in the distribution tarball.  
Whenever making changes to autotools related things, be sure to run "make 
maintainer-clean ; autoreconf -i ; ./configure ; make distcheck" as a minimal 
sanity check (it may fail if the test suite fails, and it currently does 
because something doesn't apparently be properly set up for running it from a 
dist tarball/distcheck).

I suppose something like "SUBDIRS = helpers" in completions/Makefile.am would 
fix installing the helper (untested).

> The remaining error reported by the test suite however, was that perldoc
> option-completion is now missing; it's not in the pure perl perldoc
> completion helper, whereas the code underneath was in the bash perldoc
> completion:
> 
> -    if [[ "$cur" == -* ]]; then
> -        COMPREPLY=( $( compgen -W '-C -s -T -u -U -W -X -h -v -V -c -w -d
> \ -            -D -p -n -a -F -l -0 -I -m -M -P -S -x -i -e ' -- "$cur" )
> )
> 
> Are you aware of that?  Anyway, I removed the test case from the test suite
> for now.

I'd prefer if the test case was just commented out for now so it won't be 
forgotten and a separate bug report filed about this.

> I'm reading up on autotools and I see how it can be useful.  Point is
> that currently users aren't aware they should use configure/make to
> install bash-completion.  Shall we put "supporting autotools for
> installing bash-completion" on the roadmap so that we can focus on
> documenting and autotest this when it's due, before or after the 2.0
> release?

Definitely, before 2.0.  It needs to be documented in README.

> To indicate some intricacies: I had to run `autogen.sh', otherwise I
> received:
> 
>     $ autoreconf
>     configure.ac:3: required file `./install-sh' not found
>     configure.ac:3:   `automake --add-missing' can install `install-sh'
>     configure.ac:3: required file `./missing' not found
>     configure.ac:3:   `automake --add-missing' can install `missing'
>     autoreconf: automake failed with exit status: 1

Yes, a "bootstrap" phase is always needed for autotools projects (only when 
running from a git clone though), I kind of assumed that all developers here 
were aware of that.

I don't understand why we have a autogen.sh script BTW, plain "autoreconf -i" 
or "autoreconf -i -s" works just fine.



More information about the Bash-completion-devel mailing list