Re: Make etcupdate bootstrap requirement due to previous mergemaster usage more clear in handbook

From: Miroslav Lachman <000.fbsd_at_quip.cz>
Date: Fri, 03 Dec 2021 12:58:39 UTC
On 03/12/2021 12:52, Yetoo Happy wrote:

[...]

>  Quick Start* and follow the instructions and get to step
> 7 and may think that even though etcupdate is different from mergemaster
> from the last time they used the handbook they have faith that following
> the instructions won't brick their system. This user will instead find that
> faith in general is just a very complex facade for the pain and suffering
> of not following *24.5.6.1 Merging Configuration Files* because the user
> doesn't know that step exists or relevant to the current step and ends up
> unknowingly having etcupdate append "<<<< yours ... >>>>> new" to the top
> of the user's very important configuration files that they didn't expect
> the program to actually modify that way when they resolved differences nor
> could they predict easily because the diff format is so unintuitive and
> different from mergemaster. Now unable to login or boot into single user
> mode because redirections instead of the actual configuration is parsed the
> user goes to the handbook to find out what might have happened and scrolls
> down to find *24.5.6.1 Merging Configuration Files* is under *24.5.6.

[...]

That's why I think etcupdate is not so intuitive as tool like this 
should be and etcupdate is extremely dangerous because it intentionally 
breaks syntax of files vital to have system up and running.
If anything goes wrong with mergemaster automatic process then your have 
configuration not updated which is almost always fine to boot the system 
and fix it. But after etcupdate? Much worse...

I maintain about 30 machines for 2 decades and had problems with 
etcupdate many times. I had ti use mergemaster as fall back many times. 
Mainly because of etcupdate said "Reference tree to diff against 
unavailable" or "No previous tree to compare against, a sane comparison 
is not possible.". And sometimes because etcupdate cannot automatically 
update many files in /etc/rc.d and manual merging of a lot of files with 
"<<<< ==== >>>>" is realy painful while with mergemaster only simple 
keyboard shortcuts will solve it.
All of this must be very stressful for beginners.

So beside the update of documentation I really would like to see some 
changes to etcupdate workflow where files are modified in temporary 
location and moved to destination only if they do not contain any syntax 
breaking changes like <<<<, ====, >>>>.

Kind regards
Miroslav Lachman