[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#543852: ncurses/wide



On 2009-09-19 02:31 +0200, Clint Adams wrote:

> Are there any current plans to drop the wide packages and make the main
> packages wide?

No.  This is the idea for libncurses6, but an ncurses soname change is
not imminent.  One year ago the then-maintainer had announced it¹, but
he did not pursue this goal any further.  In any case, such a step
should probably be coordinated with other distros, since the LSB demands
that 5 be the soname of libncurses².

Making the main packages wide without an soname change is obviously only
possible if the wide library is ABI-compatible with the narrow one.  The
INSTALL file warns

,----
| The wide-character library interfaces are not binary-compatible with the
| non-wide-character version.
`----

and 

,----
| NOTE: applications compiled with this³ configuration are not compatible
| with those built for 8-bit characters.  You cannot simply make a
| symbolic link to equate libncurses.so with libncursesw.so
`----

I'm not sure if this is actually true, however.  When I did

# ln -f /lib/libncursesw.so.5.7 /lib/libncurses.so.5.7

in a chroot, at least bash and emacs22-nox worked apparently fine.  But
even if there's no problem in this regard and we can get away with
overriding upstream's decision of putting a "w" into the wide libraries'
sonames, there is the problem that we would lose binary compatibility
with everyone else in the world: programs built on Debian that use the
wide API and link against our wide libncurses.so.5 would not be able to
run anywhere else.

The other possibility that I see is to deprecate the main packages and
provide compatibility symlinks in the wide development packages so that
we can binNMU the world (well, only a few hundred packages) afterwards.
We would still need to ship a libncurses5 package for LSB compatibility
and for proprietary applications that link against it, but there could
not be a development package for the non-wide library (I would see that
as a blessing).

Sven


¹ http://lists.debian.org/debian-devel/2008/09/msg00435.html
² http://refspecs.linux-foundation.org/LSB_4.0.0/LSB-Core-generic/LSB-Core-generic/libncurses.html
³ i.e. with --enable-widec



Reply to: