From nobody Fri Oct 3 16:53:42 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 4cdZVv36D0z6BBNy; Fri, 03 Oct 2025 16:53:43 +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 4cdZVt6fjJz3HJL; Fri, 03 Oct 2025 16:53:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759510422; 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=7Ra970qE8kXtVT56OxoAedItN5SqevC/0xEYcq+O/S4=; b=xPsK1PjT30jZHVbDZxLRFePbr0oNWTMeSHL6DbPJ6jExYsVs7v2D1FytV7BMPHLKfwAkVA TMuSP3YfCpKbmKEadS9cl3S924MGbWnxRZZSUd9+T+hwbSpSnN/TCf2kcTt1W8XBQj3Dwg taniZzGP0iRtrCrJGM9ZfWavPTYKGxChfoER4xI36uz2pxvQi0stgD2bhTRh1jsGUYJ5FS z7YhvQG8aWGmtKu3ZpzvxB2NsrOqttJUWR6Mxwm1iEyxBfsepVMozy1D8I3/gtmrdhSqmM vPG8fOZ8UYYoyuTWVFxxjJca4xyOjVy2Dojbax/8VTSW7V2SIgMZdHBcVbDO8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1759510422; 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=7Ra970qE8kXtVT56OxoAedItN5SqevC/0xEYcq+O/S4=; b=dSmA02l3fn3bAEX0pqchAoS+2Nf0WWhGxWDBUtUCeHSEbpBFeSbAVukD8G9GaAsE35Y0u9 UKLOjH8IsG7CNR0RFrxXr0jSFNJBOpJXFmNGr09ZfbTsxNubACHGWOiYoXpy4vIZYxF/nS OwqJQWwuayUkjnt3JS+SdnLumsjbfEgUWNOKkUkVGSzy0KM+MjCmBpJlhdBG/X5LvdrqaG f+hW6ipPdrb/ehm5I6nvKCaVBEDjDnJzdPC1tWaeVQ/u57+CidkXFTaylLTZRav64mtvtB FtGUkyMy2qdW0LW68X1lOlJfbfuTjdEFzgpUdez0j7UnGJYWLu/a9LEgn04+sw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1759510422; a=rsa-sha256; cv=none; b=GGOYCwklnLll7VgtiUGNSIl7YoWCPejIgCyqjBDyqGkg+tu9yfV/Svflz8XSOHx8YqLoZo WuxNpBj+SDtdv/dZYwrCe5IA4Zv8PutBGnkfPkGlCikkU4r4o8oESESDSCRULvpEIueQ5H NxD0Q6zVKf5iDNcD7+2nCxmG2rFS9loqIVZ3J1zgIone66VpnjVUDGaNjj1AgP+N1zSl4q ZtilgS7vKpy4rOy3gxppqwsDBpxsepZ3n/6OaIeFOtkbojwD3Ur24Dlqlb7gPRT0+9sWId ud7pcLOJYKy4HijEOXczQ7B1OB4TxCX/rEDl1bFB7xUBFK8WHvbRqwOL7emC3w== 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 4cdZVt6BGWz13Ny; Fri, 03 Oct 2025 16:53:42 +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 593Grgxk064193; Fri, 3 Oct 2025 16:53:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 593GrgoE064190; Fri, 3 Oct 2025 16:53:42 GMT (envelope-from git) Date: Fri, 3 Oct 2025 16:53:42 GMT Message-Id: <202510031653.593GrgoE064190@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: 6e93fa6a6cca - stable/15 - release: create pkgbase repo config from Makefile 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 6e93fa6a6cca88e1d5beb58766991d7f2b223827 Auto-Submitted: auto-generated The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=6e93fa6a6cca88e1d5beb58766991d7f2b223827 commit 6e93fa6a6cca88e1d5beb58766991d7f2b223827 Author: Isaac Freund AuthorDate: 2025-07-24 08:43:33 +0000 Commit: Colin Percival CommitDate: 2025-10-03 16:49:34 +0000 release: create pkgbase repo config from Makefile This will allow the VM image build scripts to use the same repository config file for installing base system packages at build time. Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51482 (cherry picked from commit f4f0308440d2321fa9172dab1029f16a70289e4e) --- release/Makefile | 22 +++++++++++++++------- release/scripts/pkgbase-stage.lua | 18 ++++-------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/release/Makefile b/release/Makefile index 6aec279cf161..27a5d58c828d 100644 --- a/release/Makefile +++ b/release/Makefile @@ -134,7 +134,7 @@ CLEANFILES+= ${I}.xz .if defined(WITH_DVD) && !empty(WITH_DVD) CLEANFILES+= pkg-stage .endif -CLEANDIRS= dist pkgdb-dvd pkgdb-disc1 pkgbase-repo pkgbase-repo-conf ftp disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick dvd +CLEANDIRS= dist pkgdb-dvd pkgdb-disc1 pkgbase-repo pkgbase-repo-dir ftp disc1 disc1-disc1 disc1-memstick bootonly bootonly-bootonly bootonly-memstick dvd beforeclean: chflags -R noschg . .include @@ -195,8 +195,10 @@ dvd: packagesystem .endif .if !defined(NOPKGBASE) || empty(NOPKGBASE) -PKGBASE_REPO= pkgbase-repo -PKG_ABI= $$(${PKG_CMD} -o ABI_FILE=${.TARGET}/usr/bin/uname config ABI) +PKGBASE_REPO_DIR= pkgbase-repo-dir +WSTAGEDIR!= ${IMAKE} -f Makefile.inc1 -C ${WORLDDIR} -V WSTAGEDIR +PKG_ABI_FILE= ${WSTAGEDIR}/usr/bin/uname +PKG_ABI= $$(${PKG_CMD} -o ABI_FILE=${PKG_ABI_FILE} config ABI) .endif pkgbase-repo: @@ -205,7 +207,13 @@ pkgbase-repo: ( ${IMAKE} -C ${WORLDDIR} packages REPODIR=${.OBJDIR}/pkgbase-repo \ INCLUDE_PKG_IN_PKGBASE_REPO=YES BOOTSTRAP_PKG_FROM_PORTS=YES ) -disc1: ${PKGBASE_REPO} +pkgbase-repo-dir: pkgbase-repo + mkdir -p pkgbase-repo-dir + printf "FreeBSD-base: { url: "file://%s", enabled: yes }" \ + ${.OBJDIR}/pkgbase-repo/${PKG_ABI}/latest \ + > pkgbase-repo-dir/FreeBSD-base.conf + +disc1: ${PKGBASE_REPO_DIR} # Install system mkdir -p ${.TARGET} ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ @@ -219,7 +227,7 @@ disc1: ${PKGBASE_REPO} # Create offline pkgbase repo on release media mkdir -p ${.TARGET}/usr/freebsd-packages/repos/ ${.CURDIR}/scripts/pkgbase-stage.lua disc \ - ${.OBJDIR}/pkgbase-repo/${PKG_ABI}/latest \ + ${.OBJDIR}/pkgbase-repo-dir \ ${.TARGET}/usr/freebsd-packages/offline \ "${_ALL_libcompats}" ${PKG_ABI} ${.OBJDIR}/pkgdb-disc1 cp ${.CURDIR}/scripts/FreeBSD-base-offline.conf \ @@ -307,7 +315,7 @@ bootonly: echo "./boot/loader.conf type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG echo "./etc/rc.local type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG -dvd: ${PKGBASE_REPO} +dvd: ${PKGBASE_REPO_DIR} # Install system mkdir -p ${.TARGET} ( cd ${WORLDDIR} && ${IMAKE} installworld installkernel distribution \ @@ -317,7 +325,7 @@ dvd: ${PKGBASE_REPO} # Create offline pkgbase repo on release media mkdir -p ${.TARGET}/usr/freebsd-packages/repos/ ${.CURDIR}/scripts/pkgbase-stage.lua dvd \ - ${.OBJDIR}/pkgbase-repo/${PKG_ABI}/latest \ + ${.OBJDIR}/pkgbase-repo-dir \ ${.TARGET}/usr/freebsd-packages/offline \ "${_ALL_libcompats}" ${PKG_ABI} ${.OBJDIR}/pkgdb-dvd cp ${.CURDIR}/scripts/FreeBSD-base-offline.conf \ diff --git a/release/scripts/pkgbase-stage.lua b/release/scripts/pkgbase-stage.lua index 56cb2dc758ec..efc4f8af0cbf 100755 --- a/release/scripts/pkgbase-stage.lua +++ b/release/scripts/pkgbase-stage.lua @@ -81,30 +81,20 @@ local function main() -- Determines package subset selected local media = assert(arg[1]) assert(media == "disc" or media == "dvd") - -- Local repository to fetch from - local source = assert(arg[2]) + -- Directory containing FreeBSD-base repository config + local repo_dir = assert(arg[2]) -- Directory to create new repository local target = assert(arg[3]) - -- =hitespace separated list of all libcompat names (e.g. "32") + -- Whitespace separated list of all libcompat names (e.g. "32") local all_libcompats = assert(arg[4]) -- ABI of repository local ABI = assert(arg[5]) -- pkgdb to use local PKGDB = assert(arg[6]) - assert(os.execute("mkdir -p pkgbase-repo-conf")) - local f = assert(io.open("pkgbase-repo-conf/FreeBSD-base.conf", "w")) - assert(f:write(string.format([[ - FreeBSD-base: { - url: "file://%s", - enabled: yes - } - ]], source))) - 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 " + "-o INSTALL_AS_USER=1 -o PKG_DBDIR=" .. PKGDB .. " -R " .. repo_dir .. " " assert(os.execute(pkg .. "update"))