From nobody Thu Oct 23 04:26:28 2025 X-Original-To: dev-commits-src-branches@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 4csXzT558jz6Dc0Q; Thu, 23 Oct 2025 04:26:29 +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 4csXzS68b4z43WX; Thu, 23 Oct 2025 04:26:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761193588; 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=DcnQQ2IrdZ205IWLuH2lNmBPwoXuKZMtlzs0Lqf0tbw=; b=ItL1cc5Ka4RDyOrRZ/MSVJT5L9YgFz8Qodxh2gDjcXGQN+A0yUyxCmEeYJ0k2cFDAdHCyD r4YDHKDixuUF9H8RBoNr4PhIprOBowD4dXvlufR6L8ShOrMdDFPzy6qO5cgya3ZwN3bvvo 6YZZVSbN84FQHcJ4dAu6P9YtmJ9DaJnRxgG3m4DfIUAEsuImQbMZjrikYFBwVXZ+EkyQBu gy0JbfGgMvsEHCe2/0F84YiAZMdY7SMwnugWpOy6rZTx1eoJ6q3qSE/CV7rbo4rGylrtKL q7O0P8OfGeFdckAzr/4qdXErF/TRJyzKlqxsgKo5sXo0cPZFtIr1wHTcQHiKIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761193588; 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=DcnQQ2IrdZ205IWLuH2lNmBPwoXuKZMtlzs0Lqf0tbw=; b=CczOd2l8h7AW6fnIAZ0afl3p4K4QdEzP7BuJ1De03R76M+4ybOCuMyKJc4ba43oIyB05rv vKkaoPuqjN2Y5WpUFe7mZxiWx4gTfhLm9+Ga3KQ/hhHjIL1lUrjjrqhtOlkWsZ1GFKsTvd FEZ7T5mHKj0GET79OLnXI2DRkyDgho3vWiMrNuYb/ab5QlGPyZQER3Xg8qrTjOshl/pipj IJjgzJ/2Pd7ovRI7YlgGdnH5nB6qG1z17H5D7ukgLdzrPYVK9AGxa7N9FX5kI7Hrg3HHMf 3KKMbi1iICgl31h6YsmXbR6P1FUiOjbSK9WjDE6C8mnZS4noosAU8xqble8E9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761193588; a=rsa-sha256; cv=none; b=OAou7v6MMc8jJUZ6f79PVNPcrVTmgxBGaRm7SJCMCf3IhUJNcsEJ/HnGMuV9qyCxkT8Bz5 mPgxH5k3JUEtIEN5dmn5BaZXZP3CQQRAovtUUNt9AAvDZQYUP9ZCP/9S5aQOLFbx7dDbNQ ztkN1kKGVtxkKaf+IFa5zDElacNvTq5W2M4UYaURmg2guE3FglMCP/DI6f11C5CyRnFlJ0 WozbgPzSQJumdVyLCjX9xthmPQB7uF0SGpvYrMAeojCi8/aHjhphOniPfeccvcCcmFeRib CKHdf55ylhaTk1jCH0thXJJKvDsKLs/SF30KRc976AV+Y9oi0SpTzLfFZvdRhg== 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 4csXzS5XQZz10HC; Thu, 23 Oct 2025 04:26:28 +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 59N4QSYE057670; Thu, 23 Oct 2025 04:26:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59N4QSVH057667; Thu, 23 Oct 2025 04:26:28 GMT (envelope-from git) Date: Thu, 23 Oct 2025 04:26:28 GMT Message-Id: <202510230426.59N4QSVH057667@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 1998d706dfa9 - releng/15.0 - Makefile: Don't allow install{world,kernel} with pkgbase List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 1998d706dfa9bfe72df1fac31b2bb25bc0d2a6f2 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=1998d706dfa9bfe72df1fac31b2bb25bc0d2a6f2 commit 1998d706dfa9bfe72df1fac31b2bb25bc0d2a6f2 Author: Lexi Winter AuthorDate: 2025-10-17 19:06:17 +0000 Commit: Colin Percival CommitDate: 2025-10-23 04:26:03 +0000 Makefile: Don't allow install{world,kernel} with pkgbase Using these targets on a pkgbase system will cause the installed system to become out of sync with the package database, which is almost certain to cause issues the next time pkg(8) is used. To prevent users doing this accidentally, disallow install* if we detect that FreeBSD-runtime is installed in the target. The check can be overridden with DESTDIR=/ for users who are sure they want to do this. Approved by: re (cperciva) MFC after: 3 days Reviewed by: emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D52879 (cherry picked from commit 74a6bb524e5b9ad654a9acc5da5c195f406717b5) (cherry picked from commit ef82bdc864c5750c6c42a45696aa35c1a1cff10a) --- Makefile.inc1 | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 21adf215c0aa..dcd4fd23c087 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -600,7 +600,16 @@ PKG_VERSION:= ${_PKG_REVISION}${EXTRA_REVISION:C/[[:space:]]//g} .endif .endif # !defined(_MKSHOWCONFIG) +PKG_NAME_PREFIX?= FreeBSD +PKG_MAINTAINER?= re@FreeBSD.org +PKG_WWW?= https://www.FreeBSD.org +PKG_WORKERS_COUNT?= 1 + .if make(*package*) +.export PKG_NAME_PREFIX +.export PKG_MAINTAINER +.export PKG_WWW + .if !defined(PKG_TIMESTAMP) .if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git) SOURCE_DATE_EPOCH!= ${GIT_CMD} -C ${SRCDIR} show -s --format=%ct HEAD @@ -611,14 +620,6 @@ SOURCE_DATE_EPOCH= ${TIMEEPOCHNOW:gmtime} .else SOURCE_DATE_EPOCH= ${PKG_TIMESTAMP} .endif -PKG_WORKERS_COUNT?= 1 - -PKG_NAME_PREFIX?= FreeBSD -PKG_MAINTAINER?= re@FreeBSD.org -PKG_WWW?= https://www.FreeBSD.org -.export PKG_NAME_PREFIX -.export PKG_MAINTAINER -.export PKG_WWW .endif .if !defined(_MKSHOWCONFIG) @@ -1366,6 +1367,28 @@ __installcheck_DESTDIR: .PHONY .endif .endif +# +# Don't allow installworld or installkernel on a pkgbase system. This avoids +# accidentally updating a pkgbase system with install{world,kernel}, causing +# the installed system to become out of date with the package database. +# +# Skip the check if DESTDIR is defined on the assumption the user knows what +# they're doing. This means the check can be disabled for the running system +# using DESTDIR=/. +# +.if !make(distributeworld) && !defined(DESTDIR) +_installcheck_world: __installcheck_PKG +_installcheck_kernel: __installcheck_PKG +__installcheck_PKG: .PHONY +.if exists(${LOCALBASE}/sbin/pkg-static) + @if ${LOCALBASE}/sbin/pkg-static info -e ${PKG_NAME_PREFIX}-runtime; then \ + echo >&2 "ERROR: This target should not be used on a system installed from packages." ; \ + echo >&2 " To override this check, set DESTDIR=/."; \ + false; \ + fi +.endif +.endif + .if !defined(DB_FROM_SRC) # # Check for missing UIDs/GIDs.