From nobody Tue Oct 3 22:13:56 2023 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 4S0XCm6HCNz4w4Qn; Tue, 3 Oct 2023 22:13:56 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4S0XCm5lgrz4rBq; Tue, 3 Oct 2023 22:13:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1696371236; 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=pNLgg52i+8zMWfrjOSHpq5/d1TJ75+SWTuGeYtG2T3M=; b=mfHbvtLtnEzZtXZ73b6A/C+tOfSUml6GZ0dnig9kqMhLUBrWdRUZPMKQxqyFDTC5ARqvtS EW354jZK7sK7JHYugQmTyLLKy76qArLFyQ8ehq4C2U1z526YxOFryQH5WshVax9Il0iJtR V+P+XSRa9m5RF1ZOMVHxOTkmaYMkskKMoqpjDHGixGBXexwjJXSPapn07p/peu8HBQxmyc 0fSixYw5wE2EE0amjDzUHXPPgxyQULWX6Vaf2N9x12Y0Gw5i60B9kbRWVV7uXg6slxzqii B04tT2TiFPd7tuwPe5/RQZFIuL7krHCgew2eSaHF3KSlhE3YkReF7Z3WxgnxaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1696371236; a=rsa-sha256; cv=none; b=vus02HJEri3Gqy9ft1xJ88/iYqq/C6bSGJms0U4imA1FEmP/UZB3HsEJb6uebhxILwMU/M 9hND/qn2dzQuG81FQtOfkdBA828+3kHT+6UOLTvoiWEXQcR7qZMtI3Q1rUi/qMlaUBPedC VP4Xe8/JI3TclPVIbsXzRac2JIhIRYgG4dOwX0XR5cAzmhjrNBxt1ZFfhMcpNG+1YWhjr8 +dHewCwc5Efi09tcqwvqtmbftQZtC6TZ63YL8znaOOQ3BymousfGIv7EVYQo6JXto5Heng /WgIsm3qw9m6gxmSjkOi0v8fmNdKUad+VVywlcz+6SCcy/vwnu83/uaFKC7IBA== 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=1696371236; 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=pNLgg52i+8zMWfrjOSHpq5/d1TJ75+SWTuGeYtG2T3M=; b=EDWMxLtI9HgUQ05YyT3T8TcofPbiI3dglupzopxKR4shcPVDvYvpSqpQQPmzY/aWJ3qxy+ UWWExDtsUsWeLaQmGGjeM2igWg0j2P6UqnI+Mk4jx/vx8bAsDrKB4utrEzngkSEjW6BsQK Qy75sQIgpmdAtx7pvKqsO/rDtr8sipYP2FVVUToT0E10ydd9HwI/7pC+OlJbQujoOEQWFN cWAYR+bvX2Nq2V+M6qMPxWtLS7HPPphg6jQfEd89twXFyJs6McPypcaZtM8vMnjswgWcEa YDqGHRMeA/st9+fw2jYo9wDWes7gq6hFUNNCJsxMac4pCRicLyj3qFZkQ7SGuQ== 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 4S0XCm4qBhz1BZT; Tue, 3 Oct 2023 22:13:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 393MDutr070936; Tue, 3 Oct 2023 22:13:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 393MDu1J070933; Tue, 3 Oct 2023 22:13:56 GMT (envelope-from git) Date: Tue, 3 Oct 2023 22:13:56 GMT Message-Id: <202310032213.393MDu1J070933@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Tetlow Subject: git: cfb624d7e250 - releng/13.2 - freebsd-update: handle file -> directory on upgrade 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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gordon X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: cfb624d7e2507c81441bb01e0078abad25ef235d Auto-Submitted: auto-generated The branch releng/13.2 has been updated by gordon: URL: https://cgit.FreeBSD.org/src/commit/?id=cfb624d7e2507c81441bb01e0078abad25ef235d commit cfb624d7e2507c81441bb01e0078abad25ef235d Author: Ed Maste AuthorDate: 2023-09-27 13:36:33 +0000 Commit: Gordon Tetlow CommitDate: 2023-10-03 21:22:19 +0000 freebsd-update: handle file -> directory on upgrade Upgrading from FreeBSD 13.2 to 14.0 failed with install: ///usr/include/c++/v1/__string exists but is not a directory because __string changed from a file to a directory with an LLVM upgrade. Now, remove the existing file when the type conflicts. Note that this is only an interim fix to facilitate upgrades from 13.2 for 14.0 BETA testing. This change does not handle the directory -> file case and further work is needed. PR: 273661 Reviewed by: dim, gordon Approved by: so Security: FreeBSD-EN-23:12.freebsd-update Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41893 (cherry picked from commit f6d37c9ca13f8ab0ef32cf5344daecb8122d1e85) (cherry picked from commit 774cc6348a50c13b952e9f36ef8395f9b48733db) --- usr.sbin/freebsd-update/freebsd-update.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/usr.sbin/freebsd-update/freebsd-update.sh b/usr.sbin/freebsd-update/freebsd-update.sh index 4f779270926d..0c4053715b70 100644 --- a/usr.sbin/freebsd-update/freebsd-update.sh +++ b/usr.sbin/freebsd-update/freebsd-update.sh @@ -2905,7 +2905,13 @@ install_from_index () { while read FPATH TYPE OWNER GROUP PERM FLAGS HASH LINK; do case ${TYPE} in d) - # Create a directory + # Create a directory. A file may change to a directory + # on upgrade (PR273661). If that happens, remove the + # file first. + if [ -e "${BASEDIR}/${FPATH}" ] && \ + ! [ -d "${BASEDIR}/${FPATH}" ]; then + rm -f -- "${BASEDIR}/${FPATH}" + fi install -d -o ${OWNER} -g ${GROUP} \ -m ${PERM} ${BASEDIR}/${FPATH} ;;