removing termcap

Miroslav Lichvar mlichvar at redhat.com
Tue Nov 21 17:49:45 UTC 2006


Hi,

I would like to see termcap and libtermcap removed, and to use ncurses
everywhere. termcap is an obsolete system for describing terminal
capabilities, it has annoying size limitations for the description and
libtermcap is an old, unmaintained code.

The ncurses library has a termcap emulation which is internally using
terminfo database. It isn't 100% accurate (see curs_termcap(3)), but
should be ok for most applications. libtermcap's API and ABI are
compatible with ncurses. So what would be required to replace
completely libtermcap with ncurses?

- Move libncurses.so.* and/or libncursesw.so.* to /lib{,64}.

- Move the most important entries in the terminfo database to
  /etc/terminfo or /lib{,64}/terminfo. Binary files don't fit /etc well,
  but the second option isn't much better as it will duplicate the
  entries on multiarch.

- Rebuild packages currently using libtermcap against ncurses. It
  would be good to choose one of libncurses{,w} and link all binaries
  with it; linking with libncursesw will probably require more patching
  of configure scripts as some of them are prepared for libncurses
  already.

Any thoughts?

List of Core packages depending on libtermcap.so.2:

amanda-0:2.5.0p2-4.i386
amanda-client-0:2.5.0p2-4.i386
amanda-server-0:2.5.0p2-4.i386
bash-0:3.1-16.1.i386
bc-0:1.06-21.i386
festival-0:1.95-5.2.1.i386
gnupg-0:1.4.5-5.i386
gnuplot-0:4.0.0-12.i386
gnutls-utils-0:1.4.1-2.i386
guile-5:1.8.1-1.fc7.i386
libtermcap-0:2.0.8-46.1.i386
libtermcap-devel-0:2.0.8-46.1.i386
lv-0:4.51-8.1.i386
pilot-link-2:0.11.8-16.i386
postgresql-0:8.1.4-1.1.i386
postgresql-contrib-0:8.1.4-1.1.i386
postgresql-devel-0:8.1.4-1.1.i386
postgresql-server-0:8.1.4-1.1.i386
procinfo-0:18-19.i386
python-0:2.4.4-1.fc7.i386
quagga-0:0.98.6-2.1.i386
ruby-libs-0:1.8.5-4.fc7.i386
tcsh-0:6.14-12.i386
util-linux-0:2.13-0.44.fc6.i386
vim-enhanced-2:7.0.162-2.i386
vim-minimal-2:7.0.162-2.i386
vim-X11-2:7.0.162-2.i386
xfsprogs-0:2.8.11-3.fc6.i386
xterm-0:215-3.fc6.i386
zsh-0:4.2.6-1.i386

And Extras packages:

abiword-1:2.4.6-1.fc7.i386
clips-0:6.24-20.fc6.i386
clisp-0:2.41-1.fc6.i386
cyphesis-0:0.5.10-1.fc6.i386
darcs-0:1.0.8-4.fc7.i386
genius-0:0.7.6.1-3.fc6.i386
ghc66-0:6.6-1.fc7.i386
ginac-utils-0:1.3.5-1.fc6.i386
gnome-genius-0:0.7.6.1-3.fc6.i386
gnucap-0:0.34-3.fc6.i386
gnupg2-0:2.0.0-4.fc7.i386
gpsim-0:0.22.0-1.fc7.i386
grads-0:1.9b4-19.fc7.i386
hugs98-0:2006.09-1.fc7.i386
js-0:1.5-6.fc6.i386
koffice-kexi-0:1.6.0-2.fc7.i386
ktechlab-0:0.3-5.fc6.i386
lash-0:0.5.1-10.fc6.i386
maxima-runtime-clisp-0:5.10.0-8.fc7.i386
mono-debugger-0:0.30-7.fc6.i386
ngspice-0:17-7.fc6.i386
nmh-0:1.1-19.fc6.i386
octave-forge-0:2006.07.09-8.fc7.i386
opensc-0:0.11.1-6.fc6.i386
pari-gp-0:2.3.0-4.fc6.i386
php-readline-0:5.1.6-1.fc6.i386
pl-0:5.6.20-1.fc6.i386
q-0:7.5-2.fc7.i386
q-devel-0:7.5-2.fc7.i386
R-0:2.4.0-2.fc7.i386
ucblogo-0:5.5-5.fc6.i386
yafc-0:1.1.1-5.fc6.i386
yap-0:5.1.1-2.fc6.i386
yaz-0:2.1.26-1.1.fc6.i386

-- 
Miroslav Lichvar




More information about the fedora-devel-list mailing list