From nobody Wed Apr 17 05:44:02 2024 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 4VK8wg1BpWz5Hv5M; Wed, 17 Apr 2024 05:44:03 +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 4VK8wf6WVBz4lbm; Wed, 17 Apr 2024 05:44:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713332642; 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=l0omID/BfosN54Y78iJToL401ceui0Up6rr8HDiOd8o=; b=BTyGzLYwIHv31arxRH8t7CJtosGqZfwSp3pOa4Btzsz1Rn1pCrWUozUm2S9uLIg2VUGe8G /IeJPZuLoLY0JqVaSx2cj130Qk42PsIRZIlOvuRYAozNGYR23m45TtHJb77N024BLtVGqK MTjU98HD7WrpQIakQ12WYu4evNNlvEURHsGTZ9B932PlhtxfDILKGZYx9tXp4aGYwsPD5N sOuzgsPcqg09TqzUVzt7O9TInhPKwGorK6mTTPnBpMuF0pZj/SZbgAwDltFEUnaAru9bJu a+Jku72LqD5XqBq/Hl+Oq2FZER0+0euC5D4KmlhmCE/WBunTPbsW1fFwAgoccQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713332642; a=rsa-sha256; cv=none; b=Jok44rn6EEsYzwi/vGleX+Ol8J9P3IRBrRR86u7l2OW1cL3av4MR388i/sqwXykYMHgDWL zSjBjjYaoZ0crtAtXi3adxjeXcTUIfe76XLQOVAbkGbf36uQ022rkDa4VKi4wcn6PeL0mO Dn59DFO1UJzBMP46IDG/mtx0XM2nymG4kNkSHqzgXdoXljofzvu0ySn6Ikt1MS3ZvNGd6V xbW/9H52fsXA8MOEcL6+BlLS9pEK51aaYBgukTGzjmB+Pnd7hi8zyHge8Xb459PX0pNyjl qLUbcJCVFc2Kx04xZljCLkIzRRw1T2bh4gAVzuT9TfoKsLpm4DyxGS+zJW4lyA== 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=1713332642; 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=l0omID/BfosN54Y78iJToL401ceui0Up6rr8HDiOd8o=; b=EU90EN5NH80vZ3JfLlgDqWesuyOgwkweAa6nqtF/KSRu3769hAtT9YZmAnkB94ZdlCNo07 kvt5bPuODCcif8wIY5xZ4d5OgmFFqpQ0pWM6SZqC/taAY7f0qvdZCyNh5vvhB+8M21D8oo 518KDz9NTy3PdW5tBeGKpv+pru+6qm4O43IGPrLUM9bkwlQ4oWlaRywohkONSTGPuB0pwe TttJooUvdKsNk6cOi3mdcjJTkt10M2VJSyk9+rXWdrYGTfZke9V3uVtw0Ptne4lbNGa0SQ OQVYY9SfJoKd1zvttf00Jyv/duvaYwrqmiBbYn4NPrWAb0/w5Qw5sbisfcQXhw== 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 4VK8wf624CzDx1; Wed, 17 Apr 2024 05:44:02 +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 43H5i2ex007086; Wed, 17 Apr 2024 05:44:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43H5i2q0007083; Wed, 17 Apr 2024 05:44:02 GMT (envelope-from git) Date: Wed, 17 Apr 2024 05:44:02 GMT Message-Id: <202404170544.43H5i2q0007083@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: 70dcf0608cfc - stable/14 - release: Use the ABI of the target release to fetch packages 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/14 X-Git-Reftype: branch X-Git-Commit: 70dcf0608cfc767321b16509f615c5dddb9378af Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=70dcf0608cfc767321b16509f615c5dddb9378af commit 70dcf0608cfc767321b16509f615c5dddb9378af Author: John Baldwin AuthorDate: 2024-04-13 21:16:01 +0000 Commit: Colin Percival CommitDate: 2024-04-17 05:43:27 +0000 release: Use the ABI of the target release to fetch packages - Point --rootdir at the installed destdir in the dvd tree. This causes pkg to determine the ABI from the installed destdir instead of the host's binaries. Previously the result was that packages for the host's ABI were always downloaded breaking cross-releases (e.g. arm64 releases built on an amd64 host included amd64 packages on the DVD ISO image rather than arm64 packages). This also handles version mismatches, and I tested this by cross-building a 15.x arm64 release on a 14.x amd64 host. - As a result, pkg now does a chdir(3) to the rootdir before running, so the -o argument to fetch needs to be updated to be relative to rootdir instead of the CWD as make runs. - Add a new ROOTDIR variable to limit references to "dvd" to one place. Ideally ROOTDIR would be an argument to this script so that it didn't really know about the dvd layout at all. - While here, simplify creation of symlinks by just using a longer path to the link name instead of using 'cd' in the shell before invoking ln(1). Also use ln -sf to create the pkg.pkg symlink rather than rm + ln. PR: 278273 Reported by: gatekeeper Reviewed by: imp, delphij MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D44749 (cherry picked from commit ea2663040d524efd84b12edcbe83884437fdceea) --- release/scripts/pkg-stage.sh | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index e53bd72db249..bdfa3643bacb 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -8,7 +8,8 @@ export ASSUME_ALWAYS_YES="YES" export PKG_DBDIR="/tmp/pkg" export PERMISSIVE="YES" export REPO_AUTOUPDATE="NO" -export PKGCMD="/usr/sbin/pkg -d" +export ROOTDIR="$PWD/dvd" +export PKGCMD="/usr/sbin/pkg -d --rootdir ${ROOTDIR}" export PORTSDIR="${PORTSDIR:-/usr/ports}" _DVD_PACKAGES="archivers/unzip @@ -47,14 +48,13 @@ if [ ! -x /usr/local/sbin/pkg ]; then /usr/bin/make -C ${PORTSDIR}/ports-mgmt/pkg install clean fi -export DVD_DIR="dvd/packages" -export PKG_ABI=$(pkg config ABI) -export PKG_ALTABI=$(pkg config ALTABI 2>/dev/null) -export PKG_REPODIR="${DVD_DIR}/${PKG_ABI}" +export PKG_ABI=$(pkg --rootdir ${ROOTDIR} config ABI) +export PKG_ALTABI=$(pkg --rootdir ${ROOTDIR} config ALTABI 2>/dev/null) +export PKG_REPODIR="packages/${PKG_ABI}" -/bin/mkdir -p ${PKG_REPODIR} +/bin/mkdir -p ${ROOTDIR}/${PKG_REPODIR} if [ ! -z "${PKG_ALTABI}" ]; then - (cd ${DVD_DIR} && ln -s ${PKG_ABI} ${PKG_ALTABI}) + ln -s ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} fi # Ensure the ports listed in _DVD_PACKAGES exist to sanitize the @@ -83,11 +83,10 @@ ${PKGCMD} fetch -o ${PKG_REPODIR} -d ${DVD_PACKAGES} # Create the 'Latest/pkg.txz' symlink so 'pkg bootstrap' works # using the on-disc packages. -mkdir -p ${PKG_REPODIR}/Latest -(cd ${PKG_REPODIR}/Latest && \ - ln -s ../All/$(${PKGCMD} rquery %n-%v pkg).pkg pkg.pkg) -(cd ${PKG_REPODIR}/Latest && \ - rm -f pkg.txz && ln -s pkg.pkg pkg.txz) +export LATEST_DIR="${ROOTDIR}/${PKG_REPODIR}/Latest" +mkdir -p ${LATEST_DIR} +ln -s ../All/$(${PKGCMD} rquery %n-%v pkg).pkg ${LATEST_DIR}/pkg.pkg +ln -sf pkg.pkg ${LATEST_DIR}/pkg.txz ${PKGCMD} repo ${PKG_REPODIR}