RFC: update-alternatives

Igor Pechtchanski pechtcha@cs.nyu.edu
Sat Jun 18 22:39:00 GMT 2005

On Sat, 18 Jun 2005, Charles Wilson wrote:

> It seems there may be a need for a Debian-like update-alternatives
> system on cygwin (see the recent thread on the main list about making
> /bin/sh be bash instead of ash).  Also, such a system would be a better
> approach than my cobbled-together postinstall scripts for the many new
> versions of automake (ditto libpng).
> I figure that something like update-alternatives should probably go into
> the Base category, since it might be used to swap the main system shell.
> So, after a bit of looking around, I found several implementations
> (1) Debian
>   + the original
>   + huge user base, well tested
>   - uses perl
> We really don't want perl in the Base category, do we?  If we use this
> one, then no package in Base may be allowed to "participate" in the
> alternatives system for fear of dragging perl as an unwanted dependence
> of the Base package.  Especially /bin/sh.
> (2) Red Hat (Fedora 4)
>   + complete rewrite in C, no perl dependency
>   + work-a-like to original Debian version
>   - as is, requires libintl and libiconv which are not in Base

FYI, even though libintl and libiconv aren't in Base, sed is, and it
requires both of those.  So they might as well be in Base, since they're
always installed anyway.

>   + fairly well tested, definitely widely installed but I'm not
>     sure how pervasive it is actually USED within Fedora.
>   - packaged inside Fedora's chkconfig
> So, this must be disentangled from chkconfig (or I need to prevail upon
> the current chkconfig maintainer to switch to Fedora's version, and
> include/support update-alternatives: Sergey, you still around?).
> Further, we need to decide either to add gettext/iconv (or at least,
> libintl3 and libiconv2) to Base -- or remove internationalization
> support from alternatives.c.  Further, if instead of ME packaging
> update-alternatives separately, Sergey is convinced to switch his
> chkconfig over to Fedora's version -- Fedora's chkconfig is written in C
> as well and ALSO requires intl (more surgery, or another argument for
> bringing in intl into Base).
> (3) ALT Linux's version
>   + http://alternatives.sourceforge.net/ total rewrite
>     using only sh, awk, and sed
>   + requires no "new" packages to be added to Base
>   - not NEARLY as widely tested as the others
>   - some semantic differences in the implementation mean that
>     its on-disk layout, script structure, AND usage is somewhat
>     different than the other two.  May confuse people with extensive
>     Linux experience other-than-ALTLinux.
> Comments and suggestions requested -- especially from Sergey Okhapkin if
> he's still here.

FWIW, the second alternative (pun unintentional) sounds like a winner,
except for the chkconfig disentanglement issue.  But then, I'm not likely
to contribute any code to it, so it's really up to the volunteer
maintainer to decide.
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"The Sun will pass between the Earth and the Moon tonight for a total
Lunar eclipse..." -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT

More information about the Cygwin-apps mailing list