Re: git: 6ad780caa262 - main - Generate termcap.small automatically. This eliminates the need to do synchronization by hand when termcap is updated.

From: Gordon Bergling <gbe_at_freebsd.org>
Date: Mon, 12 Sep 2022 06:41:22 UTC
Hi Maxim,

On Thu, Sep 08, 2022 at 11:26:58AM +0000, Maxim Sobolev wrote:
> The branch main has been updated by sobomax:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=6ad780caa2622954bc0195039efd64cc1eef8174
> 
> commit 6ad780caa2622954bc0195039efd64cc1eef8174
> Author:     Maxim Sobolev <sobomax@FreeBSD.org>
> AuthorDate: 2022-08-19 07:00:27 +0000
> Commit:     Maxim Sobolev <sobomax@FreeBSD.org>
> CommitDate: 2022-09-08 11:22:37 +0000
> 
>     Generate termcap.small automatically. This eliminates the
>     need to do synchronization by hand when termcap is updated.
>     
>     Reviewed by:    uqs, bapt, imp
>     MFC after:      2 weeks
>     Differential Revision:  https://reviews.freebsd.org/D36333

this sadly breaks mergemaster and etcupdate over NFS mounted read-only shares.
Took me a while to debug this, because the error messages of both commands 
are bit misleading in such an error case.

Could you make an entry about this in UPDATING?

===> share/termcap (installconfig)
installing DIRS CONFSDIR
install -N /boiler/nfs/src/etc  -d -m 0755 -o root  -g wheel  /var/db/etcupdate/etcupdate-KfDzboi/etc
set -e; set -o pipefail;  (echo "# AUTOMATICALLY GENERATED FROM `basename termcap`";  for tcname in SC cons25 cons25-m cons25-w cons25l1 cons25l1-m  cons25l1-w cons25l2 cons25l2-m cons25l7 cons25l7-m cons25r cons25r-m  cons25r-mv cons25r-v cons25w cons30 cons30-m cons30-w cons30l1 cons30l1-m  cons30l1-w cons30l2 cons30l2-m cons30l7 cons30l7-m cons30r cons30r-m  cons30r-mv cons30r-v cons43 cons43-m cons43-w cons43l1 cons43l1-m  cons43l1-w cons43l2 cons43l2-m cons43l7 cons43l7-m cons43r cons43r-m  cons43r-mv cons43r-v cons50 cons50-m cons50-w cons50l1 cons50l1-m  cons50l1-w cons50l2 cons50l2-m cons50l7 cons50l7-m cons50r cons50r-m  cons50r-mv cons50r-v cons60 cons60-m cons60-w cons60l1 cons60l1-m  cons60l1-w cons60l2 cons60l2-m cons60l7 cons60l7-m cons60r cons60r-m  cons60r-mv cons60r-v ecma[+]italics vt100 xterm xterm-basic xterm-clear  xterm-color xterm-new xterm-r6 xterm-r6-clear;  do  echo; awk "/^${tcname}[:|]/{ f = 1; print; next } /^[^\t]/{ f = 0 } f" termcap;  done) > termcap.small
/bin/sh: cannot create termcap.small: Read-only file system
*** Error code 2

Stop.
make[4]: stopped in /boiler/nfs/src/share/termcap
*** Error code 1

Stop.
make[3]: stopped in /boiler/nfs/src/share
*** Error code 1

Stop.
make[2]: stopped in /boiler/nfs/src
*** Error code 1

[...]

--Gordon