On 06/05/2015 23:01, »Q« wrote:
> On Wed, 06 May 2015 12:44:16 +0300
> Nikos Chantziaras <rea...@gmail.com> wrote:
> 
>> If that is the case, then in order to completely transition to the
>> new system, you would have to re-emerge everything that installs
>> bashcomp files. Also, delete all your bashcomp eselect files. The new
>> system has everything enabled by default and eselect is used to
>> actually disable bashcomp for all packages and whitelist the only you
>> enable. This can cause problems if you have old and new files lying
>> around.
> 
> Thanks for this.  I'm not the OP, but broken bash completion has
> been bothering me for a while.  Somehow I'd gotten the mistaken
> impression that it was supposed to heal itself over time as the
> programs that install bashcomp files were rebuilt with updates, without
> me having deal with any cruft.
> 
>> I think there was a news item on how to transition from the old to
>> the new setup. No idea where to find it if you don't have it in
>> "eselect news list" anymore :-/
> 
> At the time, I was on the lookout for such a news item and I never saw
> one.  Always possible that was my fault, but I really think there was
> no such item.
> 
> Also, if I've correctly understood what you wrote above,
> <https://wiki.gentoo.org/wiki/Bash#Tab_completion> needs an overhaul.
> (Conversely, if it doesn't need an overhaul, my understanding is still
> faulty and I'll be back for some hand-holding!)
> 
> 


There was a news item, I've pasted the whole thing here for you

2014-11-25-bash-completion-2_1-r90
  Title                     bash-completion-2.1-r90
  Author                    Michał Górny <mgo...@gentoo.org>
  Posted                    2014-11-25
  Revision                  1

Starting with app-shells/bash-completion-2.1-r90, the framework used to
enable and manage completions in Gentoo is finally changing in order to
properly follow upstream design. This has some important implications
for our users.

Firstly, the install location for completions changes to follow upstream
default. The completions enabled before the upgrade will continue to
work but you may no longer be able to enable or disable completions
installed prior to the upgrade. To solve this issue, the packages
installing completions need to rebuilt. The following command can be
used to automatically rebuild all the relevant packages:

$ find /usr/share/bash-completion -maxdepth 1 -type f \
        '!' -name 'bash_completion' -exec emerge -1v {} +

Secondly, the autoloading support introduced upstream removes the
penalties involved with enabling a great number of completions. This
allowed us to switch to an opt-out model where all completions installed
after the upgrade are enabled by default. Specific completions can be
disabled using 'eselect bashcomp disable ...'

The model change implies that all current selections done using 'eselect
bashcomp' can not be properly migrated and will be disregarded when
the relevant completion files are built against the new bash-completion
version. After rebuilding all the packages providing completion files,
you may want to remove the symlinks that were used to configure
the previous framework using the following command:

$ find /etc/bash_completion.d -type l -delete

Thirdly, we have solved the issue causing bash-completion support to be
enabled by default on login shells only. If you needed to explicitly
source 'bash_completion' script in bashrc, you can safely remove that
code now since system-wide bashrc takes care of loading it.

Lastly, we would like to explain that USE=bash-completion is being
removed from packages for the completions will be installed
unconditionally now. However, this will result in some implicit
dependencies being removed. Most specifically, users wishing to use
bash-completion will have to request app-shells/bash-completion
explicitly, e.g.:

$ emerge -n app-shells/bash-completion


-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to