From nobody Sun Oct 12 20:11:52 2025 X-Original-To: dev-commits-src-all@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 4clBTP0NL1z6CS48; Sun, 12 Oct 2025 20:11:53 +0000 (UTC) (envelope-from git@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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4clBTN6xJKz3cw0; Sun, 12 Oct 2025 20:11:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760299913; 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; bh=+gmZV9tNNWZi74blhsUcOM9isIEbRYNWztqo1rIsRbM=; b=J4gnYYBrDdsWIx+xLsmVaglp7g0rtiWnVkjmuX/WN0+Zq0kT12HDIGZawJsRoHPfgR8yrh YQNDkSTRo9TYK4aCaAwdlcdhAamLwwY4Sw7Ml8C7nDdV94AL0bFckm1VIIAAazt+Cz8esT tfVSOKJGdwiyILrNIMUSS3hGmWChzTghTx0aL8tq4UlCfDjdrB5lIHIOoTVqev9qjWk0BA PBCVDNdWGNSsvR5EA0jYjXLN+yWJ6Y37tsHiSafkElK7K8WFZuvsU86gNMvkp9V4emHhaT FTYi0Z3p+spzEcvSzRhPpDlvxZZ2fn6ttdT0v1xerkBSK6dA1PIvC2q+W5kzxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1760299913; 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; bh=+gmZV9tNNWZi74blhsUcOM9isIEbRYNWztqo1rIsRbM=; b=YNRvb37xYK1rz+azS8qRa3fpq7PjaZoALeF1n+r4qV9+aDaXcMfPFr0n40kzmHsjC3FSfq 9LlUVNnk/Ce7hRpzXaMGNkk4NzbAJXnDNtUpFxgtgy33noD9KRZRzlxu3FGB1hqGX+3IV9 UTWyKTNpyGIGmb9h65e8IlRzZpF6rMTUDI/kEbFPcMcPelMKk48vfADXFXXnPgqaMCQV5o ++JbPAcEYa97e5TsZl7bYAAl/o5bFsCjCjWXkI4p1ntSqrcmFSCuWF1tdlOn6ihfCLXIEu lDuzIM1nNMm8poitduc3BMuSnFozXrM8t7cZ22KoV/tA9BEebNRoK/NOEMK8RA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1760299913; a=rsa-sha256; cv=none; b=ORadzOuoIzBuvWvwB58mBk/1KTj5r0rJ7Jq9WH+ScgLNG+N1/SyUhIiOKVyquulinjyM8F LdGD91Jo3IlwomEwqJkALNWVi4mCCxKkc2b7xEbycJ3jYeBZl8kKDzBfXj8WGm1LFdVTOw DaU76LbqqXKjee5C6HlrzBs4rsvdwXmSh9v9397cjSmatOHMV9pQr9bquyZjJQGNmslCuo dfdldfN5UdT7MbPaNKGY6QvUVJb552O+OXZ1QNIV6CKUOJlrucDY7mpp8Ye43gh8ECO0f/ QrmNj+5nqiTwUzApm9zQoUVXupHzCVt8IE9PIzOeGCBb1KgaNPdHHmTl4n2gbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 4clBTN6K1pzbfb; Sun, 12 Oct 2025 20:11:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59CKBqiU066150; Sun, 12 Oct 2025 20:11:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59CKBqHj066147; Sun, 12 Oct 2025 20:11:52 GMT (envelope-from git) Date: Sun, 12 Oct 2025 20:11:52 GMT Message-Id: <202510122011.59CKBqHj066147@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 0cc81b375ea4 - main - vmimage.subr: Sort METALOG before running makefs List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0cc81b375ea43c7e853b109d00c72c8c3b3df993 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=0cc81b375ea43c7e853b109d00c72c8c3b3df993 commit 0cc81b375ea43c7e853b109d00c72c8c3b3df993 Author: Colin Percival AuthorDate: 2025-10-12 04:32:29 +0000 Commit: Colin Percival CommitDate: 2025-10-12 20:11:46 +0000 vmimage.subr: Sort METALOG before running makefs When creating VM images from pkgbase, the METALOG may not be in order; in particular, files may be listed before the directories which contain them. This causes makefs to create directories with 000 permissions. Interestingly, such VM images boot just fine, since root ignores those permissions; the first sign of trouble was sshd refusing logins with an error message which said absolutely nothing about /etc/ having incorrect permissions or being unable to read files inside it. Immediately prior to running makefs, sort the METALOG file. While we're here, uniquify as well; this does not guarantee that we do not have duplicate paths, but if there are duplicate paths with different settings something else has gone wrong and we don't really have any good way of solving the problem anyway. Reviewed by: ivy Hint from: imp MFC after: 3 days Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D53046 --- release/tools/vmimage.subr | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 15c4dd53e70b..c3c917dcd642 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -290,6 +290,11 @@ buildfs() { cat ${DESTDIR}/METALOG.pkg >> ${DESTDIR}/METALOG fi + # Sort METALOG file; makefs produces directories with 000 permissions + # if their contents are seen before the directories themselves. + env -i LC_COLLATE=C sort -u ${DESTDIR}/METALOG > ${DESTDIR}/METALOG.sorted + mv ${DESTDIR}/METALOG.sorted ${DESTDIR}/METALOG + case "${VMFS}" in ufs) cd ${DESTDIR} && ${MAKEFS} ${MAKEFSARGS} -o label=rootfs -o version=2 -o softupdates=1 \