From nobody Sat Sep 20 23:27:59 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 4cTlsq4Ld2z68Z3J; Sat, 20 Sep 2025 23:27:59 +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 4cTlsq1TJsz3g3Z; Sat, 20 Sep 2025 23:27:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758410879; 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=eIIgbz6fLDDukEIy4N9QCygc0/Iz0Le58cUR5+nzuQM=; b=EMtkr63tt37k46sWVs4W7zzPm1xqoml3eRc9Rpkd6YK0StyGVnqTXebtomFLyrSqrBUfwX pLOLg7/oTdMhNAE0+5b0EMiKnF8YeBt+o/L2LC8sV4pyuyQ1Z12apyFZh/ynHG8+iutmke V1sM9OEmpERmqFMzunA2L5oKs4vVeF/ucH0ERQ63dZ0tTnLTZSXNfJQ+9Nh9dVP0pDj5Hz opo8NxCp8vc4gFiGLIlztzgaM1VKNzmwH7zJn6JuUCOt8V7UuOr5H32EjLqyzp35gJ+Oc4 R+LAsoQmQoaz8SaBq40EHF712UgC+F6TV66wtXHxobRmaXXe54AMyek8TYhHSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758410879; 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=eIIgbz6fLDDukEIy4N9QCygc0/Iz0Le58cUR5+nzuQM=; b=DQlp4oxl/v8lyED0NYS7xQpzmjQTYRq/EolaH0+/DE3Ox233MYLoL2BMyDD2ugCyGeZOcM NW/ZUjZrorgngvdQRKWsyLPkfoubydbBRNlQg4cJtbwt9JBca0uhnknjuDQvb8pWwBUGVy udqhk+GJdTPd+3Y42hiiUhHl2rs+a/vE9yHQ1pnL/RRPDS/ovfyXdCEPyTDR4x6T+FXtL6 nuB2khnPa3qxByQGVB5C3ytwKEhY+YCaM1sjSQahLG7tu3jcjvNxEqKk3erZdsqtHINsDe hCFJGmstsCc883bA6Py25bg4aVw1amIEW5Eyn/sqMKoJcguNzTaeLdJszpFlaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758410879; a=rsa-sha256; cv=none; b=BRFwVc6bMDQGxdjO5R4pzgC2gNs1me+cDuUmq7m8MsBQoLDQqZXc5i3wpzjDI+bPJW2Gmz SvcP/dEURPsAzytgYkYPID4wz+aoSM1n0n6j00bJTGuKEEst6zS+BrHahUEH940/Qif1xX QWH8oEzqHsJX8hYH22pPM+pahVp+kuCWYtlYn/SnPsIl00ED5kqFSc1LKcY0UwUEGUKXVe pKrZQMLi0eDelHwIhJgps6nTsxMhKxrQbhZHdEuGeZ3QATdBu+DA0wXW9MrhGZdgxb/Iwa 2lef/zCcOI9IhaWi6rwIDdV13TnsyVmEOlhzkaoenS/wQG85SPJn3KoIzhceDA== 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 4cTlsq133kzpWb; Sat, 20 Sep 2025 23:27:59 +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 58KNRxjQ072836; Sat, 20 Sep 2025 23:27:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58KNRxaO072833; Sat, 20 Sep 2025 23:27:59 GMT (envelope-from git) Date: Sat, 20 Sep 2025 23:27:59 GMT Message-Id: <202509202327.58KNRxaO072833@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: 33f8c98c92c6 - stable/15 - Include a pkg package in the pkgbase repo 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 33f8c98c92c607d0cfe0e015727ab870a212df02 Auto-Submitted: auto-generated The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=33f8c98c92c607d0cfe0e015727ab870a212df02 commit 33f8c98c92c607d0cfe0e015727ab870a212df02 Author: Colin Percival AuthorDate: 2025-09-17 22:34:25 +0000 Commit: Colin Percival CommitDate: 2025-09-20 13:50:55 +0000 Include a pkg package in the pkgbase repo It is essential that users be able to install the FreeBSD base system from release media and have all the bits needed to update the FreeBSD base system without touching the ports tree or pkg.freebsd.org. To that end, resurrect (and heavily rewrite) the make-pkg-package.sh script and hook it into the create-packages target; if /usr/ports exists when building pkgbase packages, we'll also (cross)build pkg and include it in the repository. Scripting for actually installing this package as part of the FreeBSD installation process to come later, but I wanted this in the tree in time to test it in this week's snapshots. MFC after: 1 day Sponsored by: https://www.patreon.com/cperciva --- Makefile.inc1 | 6 ++++-- release/scripts/make-pkg-package.sh | 28 ++++++++++++---------------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 97a0b00cc517..65631c2e8eb8 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2039,12 +2039,14 @@ update-packages: .PHONY ${_+_}${MAKE} -C ${.CURDIR} ${PKGMAKEARGS} real-update-packages package-pkg: .PHONY +.if exists(${PORTSDIR}) rm -rf /tmp/ports.${TARGET} || : - env ${WMAKEENV:Q} SRCDIR=${.CURDIR} PORTSDIR=${PORTSDIR} REVISION=${_REVISION} \ + env ${WMAKEENV} SRCDIR=${.CURDIR} PORTSDIR=${PORTSDIR} REVISION=${_REVISION} \ PKG_CMD=${PKG_CMD} PKG_VERSION=${PKG_VERSION} REPODIR=${REPODIR} \ WSTAGEDIR=${WSTAGEDIR} \ OSVERSION="${SRCRELDATE}" \ sh ${.CURDIR}/release/scripts/make-pkg-package.sh +.endif real-packages: stage-packages create-packages sign-packages .PHONY @@ -2127,7 +2129,7 @@ create-packages-source: _pkgbootstrap _repodir .PHONY SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} \ create-source-packages -create-packages: .PHONY create-packages-world create-packages-kernel create-packages-source create-packages-sets +create-packages: .PHONY create-packages-world create-packages-kernel create-packages-source package-pkg create-packages-sets create-source-src-package: _pkgbootstrap .PHONY rm -f ${SSTAGEDIR}/src.plist 2>/dev/null || : diff --git a/release/scripts/make-pkg-package.sh b/release/scripts/make-pkg-package.sh index 68172c47f326..a0ac0fc16305 100755 --- a/release/scripts/make-pkg-package.sh +++ b/release/scripts/make-pkg-package.sh @@ -1,26 +1,22 @@ #!/bin/sh -# -# -# Simulate the build environment. -eval $(make -C ${SRCDIR} TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} buildenvvars) +# Simulate the build environment. Note that we need to unset some variables +# which are set in the src tree since they have different (unwanted) effects +# in the ports tree. +SRC_PKG_VERSION=${PKG_VERSION} +PKG_ABI=$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI) +unset PKG_VERSION +unset MAKEFLAGS +unset PKGBASE export WRKDIRPREFIX=/tmp/ports.${TARGET} -export WSTAGEDIR=${WSTAGEDIR} -export REPODIR=${REPODIR} -export PKG_CMD=${PKG_CMD} -export PKG_VERSION=${PKG_VERSION} -export OSVERSION=${OSVERSION} export WRKDIR=$(make -C ${PORTSDIR}/ports-mgmt/pkg -V WRKDIR) make -C ${PORTSDIR}/ports-mgmt/pkg TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ CONFIGURE_ARGS="--host=$(uname -m)-portbld-freebsd${REVISION}" \ - stage create-manifest + BATCH=YES stage create-manifest -${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh \ - create -v -m ${WRKDIR}/.metadir/ \ +${PKG_CMD} -o ABI=${PKG_ABI} \ + create -v -m ${WRKDIR}/.metadir.pkg/ \ -r ${WRKDIR}/stage \ -p ${WRKDIR}/.PLIST.mktmp \ - -o ${REPODIR}/$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} -mkdir -p ${REPODIR}/$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}/Latest/ -cd ${REPODIR}/$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION}/Latest/ && \ - ln -s ../pkg-*.txz + -o ${REPODIR}/${PKG_ABI}/${SRC_PKG_VERSION}