Reason for reordering /usr/share/misc/termcap.src for /usr/share/misc/termcap ?

Garrett Cooper yaneurabeya at gmail.com
Mon Dec 8 18:24:02 UTC 2014


On Dec 8, 2014, at 8:51, Kirk McKusick <mckusick at mckusick.com> wrote:

>> Date: Mon, 08 Dec 2014 13:13:40 +0100
>> From: Erik Trulsson <Erik.Trulsson.1013 at student.uu.se>
>> To: Garrett Cooper <yaneurabeya at gmail.com>
>> Cc: FreeBSD Hackers <freebsd-hackers at freebsd.org>,
>>        Kirk McKusick <mckusick at mckusick.com>, jkh at freebsd.org,
>>        dickey at his.com
>> Subject: Re: Reason for reordering /usr/share/misc/termcap.src for /usr/share/misc/termcap ?
>> X-ASK-Info: Message Queued (2014/12/08 04:13:49)
>> X-ASK-Info: Confirmed by User (2014/12/08 08:34:35)
>> 
>> Quoting Garrett Cooper <yaneurabeya at gmail.com>:
>> 
>>> Hi all,
>>> 	I'm trying to resolve an issue where usr.bin/vi is needed to  
>>> preprocess share/termcap every time make buildworld is invoked on  
>>> FreeBSD. The termcap file reordering seems to have been done since  
>>> the BSD 4.4 Lite sources were imported into FreeBSD:  
>>> https://svnweb.freebsd.org/base/projects/building-blocks/share/termcap/Makefile?view=markup#l15,
>>> https://svnweb.freebsd.org/base?view=revision&revision=1638.
>>> I don't have history behind why this should be done (it's unfortunate
>>> because it appears to mangle the comment <-> entry mappings, and
>>> ultimately this gets put into termcap.db), and I was hoping that
>>> someone with additional history could fill in why this is being done.
>>> Thank you!
>> 
>> It looks like it is done to put the most common (at the time it was  
>> written) terminal types early in the reordered termcap file.  This  
>> presumably so that programs reading termcap would be more likely to  
>> find the entry they wanted as quickly as possible.
>> 
>> That would have been useful when termcap was just a plain text file,  
>> but if you are using termcap.db to look up terminal capabilities then  
>> there doesn't seem to be much point to doing such reordering beforehand.
> 
> I believe Erik Trulsson's answer is correct. Termcap had grown very
> large and on sub-1-MIP computers took a noticable delay to read on
> every startup of programs using it. So, it was reordered to reduce
> the startup time on common terminals. As Erik points out this optimization
> is no longer necessary as termcap is now placed in a database. Not to
> mention that there are far fewer entries in it today than there were
> at the peak of its existence.

Ok. I’ll do some double-checking to see whether or not something’s accessing the plaintext termcap file directly, but it helps to know the history behind this (especially when the history in the installed file gets muddled when ex is run on the file at build time).
Thanks!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20141208/b953cacf/attachment.sig>


More information about the freebsd-hackers mailing list