git: 2a50a9de8340 - main - terminfo: add terminfo database

Jessica Clarke jrtc27 at freebsd.org
Fri Feb 26 17:35:07 UTC 2021


> On 26 Feb 2021, at 17:30, Rodney W. Grimes <freebsd at gndrsh.dnsmgr.net> wrote:
> 
>> In message <202102251327.11PDR4eC083842 at gitrepo.freebsd.org>, Baptiste 
>> Daroussi
>> n writes:
>>> The branch main has been updated by bapt:
>>> 
>>> URL: https://cgit.FreeBSD.org/src/commit/?id=2a50a9de8340f08bd876e9e5993332ae
>>> 14376f80
>>> 
>>> commit 2a50a9de8340f08bd876e9e5993332ae14376f80
>>> Author:     Baptiste Daroussin <bapt at FreeBSD.org>
>>> AuthorDate: 2021-02-23 16:17:32 +0000
>>> Commit:     Baptiste Daroussin <bapt at FreeBSD.org>
>>> CommitDate: 2021-02-25 13:25:32 +0000
>>> 
>>>    terminfo: add terminfo database
>>> 
>>>    Tested by:      manu, jbeich
>>> ---
>>> share/Makefile          |  1 +
>>> share/terminfo/Makefile | 34 ++++++++++++++++++++++++++++++++++
>>> 2 files changed, 35 insertions(+)
>>> 
>>> diff --git a/share/Makefile b/share/Makefile
>>> index c4e12b05f7db..d6854b230ae5 100644
>>> --- a/share/Makefile
>>> +++ b/share/Makefile
>>> @@ -26,6 +26,7 @@ SUBDIR=	${_colldef} \
>>> 	${_syscons} \
>>> 	tabset \
>>> 	termcap \
>>> +	terminfo \
>>> 	${_timedef} \
>>> 	${_vt} \
>>> 	${_zoneinfo}
>>> diff --git a/share/terminfo/Makefile b/share/terminfo/Makefile
>>> new file mode 100644
>>> index 000000000000..7bb11f3fdf24
>>> --- /dev/null
>>> +++ b/share/terminfo/Makefile
>>> @@ -0,0 +1,34 @@
>>> +PACKAGE=	runtime
>>> +
>>> +.PATH: ${SRCTOP}/contrib/ncurses/misc
>>> +TINFOBUILDDIR=	${.OBJDIR}/builddir
>>> +CLEANDIRS+=	builddir
>>> +
>>> +.include <src.tools.mk>
>>> +
>>> +.if !defined(_SKIP_BUILD)
>>> +all: terminfo
>>> +.endif
>>> +META_TARGETS+=	terminfo install-terminfo
>>> +
>>> +terminfo: terminfo.src
>>> +	mkdir -p ${TINFOBUILDDIR}
>>> +	${TIC_CMD} -x -o ${TINFOBUILDDIR} ${.ALLSRC}
>>> +
>>> +.if make(*install*)
>>> +TINFOS!=	 cd ${TINFOBUILDDIR} && find * -type f | LC_ALL=C sort
>>> +TINFOSDIRS=	${TINFOS:C/(.).*/\1/g:O:u}
>>> +.endif
>>> +
>>> +beforeinstall: install-terminfo
>>> +install-terminfo:
>>> +	mkdir -p ${DESTDIR}/usr/share/terminfo
>>> +	cd ${DESTDIR}/usr/share/terminfo; mkdir -p ${TINFOSDIRS}
>>> +.for f in ${TINFOS}
>>> +	${INSTALL} ${TAG_ARGS} \
>>> +	    -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
>>> +	    ${TINFOBUILDDIR}/${f} ${DESTDIR}/usr/share/terminfo/${f}
>>> +.endfor
>>> +
>>> +.include <bsd.prog.mk>
>>> +
>>> 
>> 
>> I think this had some unintended consequences, a POLA violation that should 
>> be documented. Our termcap didn't support alternate screen buffers while 
>> terminfo does. Termcap did through t_te and t_ti but we didn't use them. 
>> Terminfo as delivered from the ncurses factory does supply rmcup and smcup; 
>> our fullscreen apps such as nvi and top see them and use the alternate 
>> screen buffer.
>> 
>> The use of the alternate screen buffer is one of the things I hate about 
>> Linux. After running vi or top I expect the output to remain on the screen 
>> so I can use some bit of information in my next command. We now have this 
>> behaviour too.
> 
> Oh, I so hate that mis-feature of Linux, please please tell me there is
> a simple knob to turn this off?  I believe LESS also does this kind
> of stuff, or atleast "man" on linux does, and that pees me off to no
> end when I quit the man page and what I wanted is no longer on the screen.

less -X may be what you want (or LESS="-X").

Jess



More information about the dev-commits-src-main mailing list