Gentoo Archives: gentoo-dev

From: "Tomáš Chvátal" <scarabeus@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Rewriting bash-completion.eclass
Date: Thu, 01 Sep 2011 13:21:31
Message-Id: 4E5F86B5.1010309@gentoo.org
In Reply to: Re: [gentoo-dev] Rewriting bash-completion.eclass by "Michał Górny"
1 Dne 1.9.2011 15:15, Michał Górny napsal(a):
2 > On Thu, 01 Sep 2011 14:56:42 +0200
3 > Tomáš Chvátal<scarabeus@g.o> wrote:
4 >
5 >>> That function doesn't follow do*() argument scheme; it matches
6 >>> rather one used by new*() funcs. Sadly, a number of ebuilds is
7 >>> using that scheme to rename installed file.
8 >>>
9 >>> Furthermore, it uses two eclass variables to switch the behavior.
10 >>>
11 >>> BASHCOMPFILES allows it to install multiple files (but works only
12 >>> if no arguments are passed).
13 >>>
14 >>> BASHCOMPLETION_NAME renames the installed file (if BASHCOMPFILES is
15 >>> not used) and makes it ignore the second argument.
16 >>>
17 >>> I think the way to go would be to reimplement it completely. Maybe
18 >>> just put dobashcomp() and newbashcomp() functions in eutils (to not
19 >>> collide) and deprecate bash-completion.eclass?
20 >>>
21 >> I would go with the eutils.eclass update, but remember that you have
22 >> to keep backcompat for the old call :(
23 >
24 > Ah, forgot about stats.
25 >
26 > dobashcompletion() with two args is used a lot of times.
27 >
28 > BASHCOMPFILES is used in ONE ebuild in gx86.
29 > BASHCOMPLETION_NAME is used in 4-5 ebuilds.
30 >
31 > We can either go with a new func and retroactively replace the eclass,
32 > or retroactively fix all uses and fix the old funcs.
33 >
34 how about new calls completely?
35 dobashcomp
36 newbashcomp
37
38 As even if you fix main tree you can't ensure that you won't mess with
39 some overlay (silently as it would not be seen by default).
40
41 I would then go proactively and fix the packages inheriting the bashcomp
42 eclass and when done just mark the eclass as dead.
43
44 Tom

Replies

Subject Author
Re: [gentoo-dev] Rewriting bash-completion.eclass Donnie Berkholz <dberkholz@g.o>