Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: emerge bash-completion
Date: Thu, 07 May 2015 06:47:46
Message-Id: 554B0A86.1010803@gmail.com
In Reply to: [gentoo-user] Re: emerge bash-completion by "»Q«"
1 On 06/05/2015 23:01, »Q« wrote:
2 > On Wed, 06 May 2015 12:44:16 +0300
3 > Nikos Chantziaras <realnc@×××××.com> wrote:
4 >
5 >> If that is the case, then in order to completely transition to the
6 >> new system, you would have to re-emerge everything that installs
7 >> bashcomp files. Also, delete all your bashcomp eselect files. The new
8 >> system has everything enabled by default and eselect is used to
9 >> actually disable bashcomp for all packages and whitelist the only you
10 >> enable. This can cause problems if you have old and new files lying
11 >> around.
12 >
13 > Thanks for this. I'm not the OP, but broken bash completion has
14 > been bothering me for a while. Somehow I'd gotten the mistaken
15 > impression that it was supposed to heal itself over time as the
16 > programs that install bashcomp files were rebuilt with updates, without
17 > me having deal with any cruft.
18 >
19 >> I think there was a news item on how to transition from the old to
20 >> the new setup. No idea where to find it if you don't have it in
21 >> "eselect news list" anymore :-/
22 >
23 > At the time, I was on the lookout for such a news item and I never saw
24 > one. Always possible that was my fault, but I really think there was
25 > no such item.
26 >
27 > Also, if I've correctly understood what you wrote above,
28 > <https://wiki.gentoo.org/wiki/Bash#Tab_completion> needs an overhaul.
29 > (Conversely, if it doesn't need an overhaul, my understanding is still
30 > faulty and I'll be back for some hand-holding!)
31 >
32 >
33
34
35 There was a news item, I've pasted the whole thing here for you
36
37 2014-11-25-bash-completion-2_1-r90
38 Title bash-completion-2.1-r90
39 Author Michał Górny <mgorny@g.o>
40 Posted 2014-11-25
41 Revision 1
42
43 Starting with app-shells/bash-completion-2.1-r90, the framework used to
44 enable and manage completions in Gentoo is finally changing in order to
45 properly follow upstream design. This has some important implications
46 for our users.
47
48 Firstly, the install location for completions changes to follow upstream
49 default. The completions enabled before the upgrade will continue to
50 work but you may no longer be able to enable or disable completions
51 installed prior to the upgrade. To solve this issue, the packages
52 installing completions need to rebuilt. The following command can be
53 used to automatically rebuild all the relevant packages:
54
55 $ find /usr/share/bash-completion -maxdepth 1 -type f \
56 '!' -name 'bash_completion' -exec emerge -1v {} +
57
58 Secondly, the autoloading support introduced upstream removes the
59 penalties involved with enabling a great number of completions. This
60 allowed us to switch to an opt-out model where all completions installed
61 after the upgrade are enabled by default. Specific completions can be
62 disabled using 'eselect bashcomp disable ...'
63
64 The model change implies that all current selections done using 'eselect
65 bashcomp' can not be properly migrated and will be disregarded when
66 the relevant completion files are built against the new bash-completion
67 version. After rebuilding all the packages providing completion files,
68 you may want to remove the symlinks that were used to configure
69 the previous framework using the following command:
70
71 $ find /etc/bash_completion.d -type l -delete
72
73 Thirdly, we have solved the issue causing bash-completion support to be
74 enabled by default on login shells only. If you needed to explicitly
75 source 'bash_completion' script in bashrc, you can safely remove that
76 code now since system-wide bashrc takes care of loading it.
77
78 Lastly, we would like to explain that USE=bash-completion is being
79 removed from packages for the completions will be installed
80 unconditionally now. However, this will result in some implicit
81 dependencies being removed. Most specifically, users wishing to use
82 bash-completion will have to request app-shells/bash-completion
83 explicitly, e.g.:
84
85 $ emerge -n app-shells/bash-completion
86
87
88 --
89 Alan McKinnon
90 alan.mckinnon@×××××.com

Replies

Subject Author
[gentoo-user] Re: emerge bash-completion "»Q«" <boxcars@×××.net>