Dne 1.9.2011 15:15, Michał Górny napsal(a):
On Thu, 01 Sep 2011 14:56:42 +0200
Tomáš Chvátal<scarab...@gentoo.org>  wrote:

That function doesn't follow do*() argument scheme; it matches
rather one used by new*() funcs. Sadly, a number of ebuilds is
using that scheme to rename installed file.

Furthermore, it uses two eclass variables to switch the behavior.

BASHCOMPFILES allows it to install multiple files (but works only
if no arguments are passed).

BASHCOMPLETION_NAME renames the installed file (if BASHCOMPFILES is
not used) and makes it ignore the second argument.

I think the way to go would be to reimplement it completely. Maybe
just put dobashcomp() and newbashcomp() functions in eutils (to not
collide) and deprecate bash-completion.eclass?

I would go with the eutils.eclass update, but remember that you have
to keep backcompat for the old call :(

Ah, forgot about stats.

dobashcompletion() with two args is used a lot of times.

BASHCOMPFILES is used in ONE ebuild in gx86.
BASHCOMPLETION_NAME is used in 4-5 ebuilds.

We can either go with a new func and retroactively replace the eclass,
or retroactively fix all uses and fix the old funcs.

how about new calls completely?
dobashcomp
newbashcomp

As even if you fix main tree you can't ensure that you won't mess with some overlay (silently as it would not be seen by default).

I would then go proactively and fix the packages inheriting the bashcomp eclass and when done just mark the eclass as dead.

Tom

Reply via email to