Subject: Re: ncurses and terminfo are broken on Solaris/SunOS (Re: pkg/20881)
To: NetBSD Packages Technical Discussion List <tech-pkg@NetBSD.ORG>
From: Juergen Weigert <jw@cs.fau.de>
List: tech-pkg
Date: 04/03/2003 14:23:43
On Apr 02, 03 12:12:22 -0500, Greg A. Woods wrote:
> [ On Wednesday, April 2, 2003 at 08:04:18 (+0200), Matthias Scheler wrote: ]
> > Subject: Re: ncurses on broken on Solaris (Re: pkg/20881)
> > On Wed, Apr 02, 2003 at 12:01:46AM +0200, Klaus Heinz wrote:

> > > > Do you know why the screen entry was removed ?
> > > No. Further digging in the CVS log reveals, that Matthias Scheler
> > > committed this workaround last year. Maybe he can remember why he did it
> > > this way.
> > Because it conflicted with the "screen" package.
> The "screen" package must not install any terminfo or termcap entries on
> the host where the package is installed!

Sorry, I missed the start of this thread, but what I read here makes me
frown. Looks like a problem of understanding.

Every terminal type that the system provides to client applications, 
should be described by a terminfo or termcap entry.

As screen is neiter a transparent multiplexer nor does implement and
restrict itself to any already well known standard, we have to have a
machine readable way to document what it is. It is very close 
to ECMA-48 though.

> Terminal emulation is sort of like the very first kind of client/server
> systems -- i.e. you have to think about who's providing the service and
> who's making use of it.  Screen just splits this relationship into a
> pair of mirrored relationships, but it also allows the mirror to be bent.

I don't get the mirror methapher here. 
It does not mirror, it does translation.

Screen reads the termcap entry of the Terminal it uses, and screen
provides (in that case installs) the termcap entry of the terminal type it
provides. These two may or may not be identical. Not even similar.

As far as remote logins are concerend, you are right. The client side needs
to have the termcap entry, so that applications see it. But that is a
different topic. First of all, we must come to an agreement, weather screen
is allowed to describe its own capabilities or not.

> Since "ncurses" provides the emulation drivers for applications on the
> target hosts that screen users login to, "ncurses" _must_ be responsible
> for installing the "screen" terminfo entries, if there are to be such
> things.

No. Ncurses reads termcap entries. If it would bring its own set, one could
never know that they really match the terminal tyes that are implemented in
the system.

        cheers,
                Jw.

-- 
 o \  Juergen Weigert      unix-software __/ _=======.=======_     
<V> | jw@cs.fau.de         creator    __/        _---|____________\/    
 \  |            0179/2069677      __/          (____/            /\
(/) | ____________________________/              _/ \_ vim:set sw=2 wm=8