The branch main has been updated by cperciva:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=340e68fd7c0d62cac1f0876b6475a89df5065db5

commit 340e68fd7c0d62cac1f0876b6475a89df5065db5
Author:     Colin Percival <cperc...@freebsd.org>
AuthorDate: 2025-09-14 02:01:26 +0000
Commit:     Colin Percival <cperc...@freebsd.org>
CommitDate: 2025-09-14 02:01:26 +0000

    release: Pass ABI to pkgbase-stage.lua
    
    We then pass ABI from pkgbase-stage.lua to pkg(8); without this,
    cross-building releases with PKGBASE enabled fails with
    
    pkg: wrong architecture: ...
    pkg: repository FreeBSD-base contains packages with wrong ABI: ...
    
    MFC after:      1 minute
    Discussed with: emaste, jrtc27
    Sponsored by:   https://www.patreon.com/c/cperciva
---
 release/Makefile                  | 2 +-
 release/scripts/pkgbase-stage.lua | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/release/Makefile b/release/Makefile
index b6a9aa42c2e2..6be29a425f0f 100644
--- a/release/Makefile
+++ b/release/Makefile
@@ -213,7 +213,7 @@ disc1: ${PKGBASE_REPO}
        ${.CURDIR}/scripts/pkgbase-stage.lua disc \
            ${.OBJDIR}/pkgbase-repo/${PKG_ABI}/latest \
            ${.TARGET}/usr/freebsd-packages/offline \
-           "${_ALL_libcompats}"
+           "${_ALL_libcompats}" ${PKG_ABI}
        cp ${.CURDIR}/scripts/FreeBSD-base-offline.conf \
                ${.TARGET}/usr/freebsd-packages/repos/
        mtree -c -p ${.TARGET}/usr/freebsd-packages | \
diff --git a/release/scripts/pkgbase-stage.lua 
b/release/scripts/pkgbase-stage.lua
index 1b48b4faede3..a12ec372d1a9 100755
--- a/release/scripts/pkgbase-stage.lua
+++ b/release/scripts/pkgbase-stage.lua
@@ -115,6 +115,8 @@ local function main()
        local target = assert(arg[3])
        -- =hitespace separated list of all libcompat names (e.g. "32")
        local all_libcompats = assert(arg[4])
+       -- ABI of repository
+       local ABI = assert(arg[5])
 
        assert(os.execute("mkdir -p pkgbase-repo-conf"))
        local f <close> = assert(io.open("pkgbase-repo-conf/FreeBSD-base.conf", 
"w"))
@@ -127,6 +129,7 @@ local function main()
        assert(f:close())
 
        local pkg = "pkg -o ASSUME_ALWAYS_YES=yes -o IGNORE_OSVERSION=yes " ..
+           "-o ABI=" .. ABI .. " " ..
            "-o INSTALL_AS_USER=1 -o PKG_DBDIR=./pkgdb -R ./pkgbase-repo-conf "
 
        assert(os.execute(pkg .. "update"))

Reply via email to