From nobody Mon May 18 16:45:02 2026 X-Original-To: bugs@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 4gK3Z63Xwmz6fdRQ for ; Mon, 18 May 2026 16:45:02 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gK3Z62wLzz3ynG for ; Mon, 18 May 2026 16:45:02 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779122702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=V0yfUhTtbVWZCMU2x/In/XOMwCK/Vo0SGNJpshsqENA=; b=gwfjxupduUE+MZ6tBv6XUiRKArDcPJCq5UVF7zMDFNUxgelIo/eeWnucafE3rv1bJj/rJz Rs05pI8wOI2kyvk3FnE5U6jPLJZY3PCHwqr18bj+J/nwq29IsnjofVE+n+YnVCmyr0ES12 rX4yDzGB+tShXxlGymkCpx5loDQV2aSF58BhjICkAokin5+ZuwhG0RGQ8lZyhu4iTLOMN5 dCLc+JRXsyvmCFYw5EJURkz11stVYY1p3S7smqTPMiYlSwMqjnYDiMdjUbxqYvJ60mRCp0 9UwOnjOD0HlNcTAMDDWxh9Lg8kq8ymk5yLaihY4odRmYejhIBCTrZBaFfnQ8IQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779122702; a=rsa-sha256; cv=none; b=WBB3GAaUoqDVE7plCzBtfe2INW/Akgtp06Vx3Ye7p2YVJlloThm1e75kJ/ICfIPkrjwbaK +RWhrgSicUz4SL1v/N6Laus+4SObGItfMYi8GoxSWgIqeG3eGetnlBkAO/G0ab5nXihfKr pBVZj9HX++u6f1XbR9Sh6tlQ7419BVV/lpczbZARGwEXKqV6MnSSKAOOpLFExPjxhdGF0b ZvVuVl21XKdlzo7sjAaAcMO6njURPPb3/w0UXhPsiKhemDxGMhDlNXYP4XXp3tVgCQLwjO zRr5PY6Xyr4tN1KBHAzsK/vnwZGeEPt0x2nBolFDlRzHgx84EIjVjGVC5cfD3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779122702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=V0yfUhTtbVWZCMU2x/In/XOMwCK/Vo0SGNJpshsqENA=; b=BTQWxip0PvYACfBPz8dsnKW+iVv3v+alJWZ8NkkWGHnkvhJ8mnPB2lLKTcGaro+G6pDKYd JwYKu0Q8k6axp9neLU6KpYf8+52gJMFAyeKnbet6FypVxoUDnF59+s3d9QUD+Lupkhr/hm WANliJG0S/ccG1DD+vNSzEauvyGECaQBtZn5uBf+CIBSPI3ZuyMfnbYWxzPdxq5Q3dwFSy gD0Wa2i8VBf854zkLf+vBBOJLf334ICUODlzJsP3wr9vBL5N8og07howg+WfX+w7uUTm5q /1wD9rbGbRxKduJbQ9yk62rs977W3jjXu0Td61Ug6HdADQTDxMYi5Q8VjaXwlQ== Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4gK3Z62CRpzcy3 for ; Mon, 18 May 2026 16:45:02 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 64IGj2hm023108 for ; Mon, 18 May 2026 16:45:02 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 64IGj2gA023107 for bugs@FreeBSD.org; Mon, 18 May 2026 16:45:02 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 280245] etcupdate unexpected conflicts and duplicit work after -p (pre-world) Date: Mon, 18 May 2026 16:45:02 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: bin X-Bugzilla-Version: 13.3-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: jhb@FreeBSD.org X-Bugzilla-Status: Open X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Bug reports List-Archive: https://lists.freebsd.org/archives/freebsd-bugs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-bugs@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D280245 --- Comment #3 from John Baldwin --- The pre-world etcupdate is indeed a bit hackish as it it does not save any updated state to indicate to the next run of etcupdate that it has merged t= he relevant files. (That is, /var/db/etcupdate/current remains unchanged after a pre-world run= .) The assumption was that these files rarely change so having to merge multip= le times would be a rare occurrence. The reason for the conflicts is that diff3's 3-way merge does not know how = to handle when adjacent lines both change but from different sources (e.g. in = the first hunk you added more users to wheel, and upstream FreeBSD removed the = two comment lines). For the second hunk, the reason for the conflict is less clear as the output seems managled (there is no `<<<<<<< yours` line before the conflict for example). In my recent experience the painful merges for the pre-world fil= es have mostly consisted of the removal of the comment lines at the start of t= he file, and changing root's shell. Handling those types of changes in a more automated fashion would require specialized handling for these files that understands their file format vs just using diff3 to compare text. Such handling is likely non-trivial to implement with etcupdate's constraints of= not using tools outside the base system. Presumably pkgbase will also not user etcupdate but instead use its own approach for updating /etc files (though = it also uses diff3 under the hood so will likely have the same issues). I hav= e no idea if pkgbase upgrades have a way to deal with the pre-world step of addi= ng new users/groups btw. It might be that they don't care since tar will just create the files with numeric IDs that will get mapped to names later when = the files in /etc are updated? --=20 You are receiving this mail because: You are the assignee for the bug.=