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-all
mailing list