From nobody Fri Dec 03 12:58:39 2021 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 7FF5018B0E59; Fri, 3 Dec 2021 12:58:50 +0000 (UTC) (envelope-from SRS0=W9n4=QU=quip.cz=000.fbsd@elsa.codelab.cz) Received: from elsa.codelab.cz (elsa.codelab.cz [94.124.105.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4J5CZ22P9Gz3vfy; Fri, 3 Dec 2021 12:58:50 +0000 (UTC) (envelope-from SRS0=W9n4=QU=quip.cz=000.fbsd@elsa.codelab.cz) Received: from elsa.codelab.cz (localhost [127.0.0.1]) by elsa.codelab.cz (Postfix) with ESMTP id B3B8F28416; Fri, 3 Dec 2021 13:58:41 +0100 (CET) Received: from illbsd.quip.test (ip-78-45-215-131.net.upcbroadband.cz [78.45.215.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by elsa.codelab.cz (Postfix) with ESMTPSA id 8E0ED28411; Fri, 3 Dec 2021 13:58:40 +0100 (CET) Subject: Re: Make etcupdate bootstrap requirement due to previous mergemaster usage more clear in handbook To: Yetoo Happy , freebsd-doc@freebsd.org Cc: freebsd-current@freebsd.org References: From: Miroslav Lachman <000.fbsd@quip.cz> Message-ID: <56a60a9b-3d7f-b29e-6074-71078f4b0fe6@quip.cz> Date: Fri, 3 Dec 2021 13:58:39 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4J5CZ22P9Gz3vfy X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N 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