emacs and /etc/alternatives

John Dennis jdennis at redhat.com
Thu Mar 8 17:27:44 UTC 2007


On Thu, 2007-03-08 at 12:02 -0500, Chip Coldwell wrote:
> Currently, there are two versions of GNU emacs that can be installed:
> emacs and emacs-nox.  The latter runs in a terminal emulator, the
> former uses X windows.  I'm cleaning up the emacs spec file to meet
> the Fedora review requirements, and I think the right thing to do
> would be to have
> 
> /usr/bin/emacs-22.0.95
> /usr/bin/emacs-22.0.95-nox
> /usr/bin/emacs -> /etc/alternatives/emacs
> /etc/alternatives/emacs -> /usr/bin/emacs-22.0.95[-nox]
> 
> In other words, let the /etc/alternatives symlink select which of the
> two versions runs by default.
> 
> Is this the right thing to do?
> If so, should the emacs-nox package have a "Conflicts: emacs" and
> vice-versa?

My first question is why we have both an X capable and non-X capable
version. The X capable version can run in a terminal emulator just fine
with the -nw (no window) option. If DISPLAY is not set it defaults to
using -nw, the user is never aware. The only reason I can think of for
emacs-nox is linkage bloat and pulling in X dependencies during install
(see below)

I'm not a big fan of "alternatives", most users don't know about it,
it's a bit arcane, and if you're savvy enough to use alternatives you
can probably handle invoking emacs with -nw in those instances where
DISPLAY is set. Alternatives is not buying much other than a lot of
complications.

It also seems to me the nox package exists for a very small subset of
installations (those without any GUI, i.e. servers). In that case the
installer should have enough smarts to install the nox version, in all
other cases just install the version of emacs which has the capacity to
run in other mode. Emacs will interrogate the environment when it's
invoked and in 99% of the cases it will just do the right thing, for the
other 1% the command line option exists.
-- 
John Dennis <jdennis at redhat.com>

Learn. Network. Experience open source.
Red Hat Summit San Diego  |  May 9-11, 2007
Learn more: http://www.redhat.com/promo/summit/2007





More information about the Fedora-maintainers mailing list