What is the "editor" virtual package for?
I noticed this rather surprising item in the emacs21 changelog:
> * Provide the `editor' virtual package.
Some investigation shows that there are a few other editor packages now
providing "editor" as well.
As I recall, the concept of an "editor" virtual package has been
discussed on debian-devel several times over the years, and each time
rejected as useless. Remember, the purpose of virtual packages is to
provide a way for other packages to Depend on a specific functionality
*with a specific interface*, without having to know all the packages
that provide that functionality. For example, packages that provide the
virtual package "awk" must include a /usr/bin/awk that implements the
But what is the definition of the "editor"? What functionality is
another package able to depend on, and more importantly, how is that
dependency useful? Under what circumstances can a package reasonably
depend on "editor", and how can it use it? Is the criterion "anything
that uses a text file input?" Does GCC depend on editor? Does TeX? If
not, why not?
Is there any functionality implied by the "editor" virtual package that
is not fulfilled by "cat"? How about "sed"? If the only justification
for not having "sed" provide "editor" is ease of use, then you better
be prepared for people objecting to vim and emacs providing "editor" as
As a practical matter, under any reasonable definition of "provided
functionality", several 10s of packages could provide editor, and
several 100s could "Suggest:" it, but I can't think of any that
legitimately "Depend:" on it.
I suppose the other presumed goal might be to ensure that there is
always an editor on the system. Disregarding the fact that this is NOT
what virtual packages are for, how are our users helped by having a
random editor installed (remember, virtual package requirements are
resolved arbitrarily)? Would just making something like "nano" be
Priority "important" be a better solution for this problem? Oh, wait, it
already is, for precisely this reason.
Is it so that "apt-get install editor" does something useful? That
doesn't work. You get a list of packages that provide "editor", which
will soon be several pages. A meta-package named "editor" with some
basic choices would be a much better solution to this.
In fact, can you think of any time that having the virtual package
"editor" fulfilled by some arbitrary editor is a good thing for our
users? Either the user is a user is a newbie (or at least, a rare user
of text editors), in which case popping up anything except nano or gedit
is a huge mistake, or the user has an established preference and will
have it installed.
I don't pretend this is something that needs to be resolved before the
release of sarge, but we should not be increasing the number of packages
that provide "editor". It serves no purpose, and pretending that it does
is confusing and technically pointless.
The irony is that Bill Gates claims to be making a stable operating
system and Linus Torvalds claims to be trying to take over the
world. -- seen on the net