From nobody Thu Sep 25 01:01:44 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 4cXFm94BVTz68kJw; Thu, 25 Sep 2025 01:01:45 +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 4cXFm90XKSz3bdl; Thu, 25 Sep 2025 01:01:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758762105; 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=cZRncJ6JRPDq0rcLViUn3DwzQHYHTURBZCTYqXQjhxk=; b=plgIr5nRWVOomFtekoAJacZKxpLs3Wm60piChFsYgyRd1x273oGpYCltzC8OInwl4j8BZc GsqTG6nJDWBoZ9l8B1Nu1sI+iJXg51xRDeEssWP520LK3WD2vmXKx5eMQnNSwJY+9yXjS3 q6MCP+HTRDESF0s0mLgfvV4bG2lx4GY6D8CvSEb+cEOekWshMvWOJGPjFfkvDJff7vkS/U B83qwD3Imn+g4TXANl7Qw5dEo76+EmubJA5q4Tv+CN1p8F9ySB3jwM0nSkcw6zLeEwKb3s ADHG3rqwbFhikUWVq0tIFH0lK5l8A4MCWcJny5oH4ouGNh5Bz6E36LRm1th3NQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758762105; 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=cZRncJ6JRPDq0rcLViUn3DwzQHYHTURBZCTYqXQjhxk=; b=AmEer6qr0nWvzGV5yaDt/gCbNTly+1OkQhN5UmWOINJ7FZT4C6e+pcGpxG92ffkZsZBai8 +8pGhjS8ZwXQuz035TJgkSP5WBzXEeiAZmodkm0dMJkJo7dC5t6yYq6gU+rgur7T8+RY5J cytcY4roXxoLzXkI+0Fy3YOGgOpFoRS9hvKaPu7VDQTegOG6uA3bSamMT4Wgyy7I4/1ZUC Zsy8Ycqzo8fjVPlbfirfz/FpzetHay6frcopNeFtOF2jHchwMk+/MLxy51VhLgGNVcdeda AdsflkM4NuW1C/8xGlfQ0J2tj1DB4FLwVdMeDoilDTKL5kMtAXbtt/DdCqMdMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758762105; a=rsa-sha256; cv=none; b=Y4bDqrzsIT2oLupoFZyXXuBhfPtSHcgw1sUveEcKC0m+D7xrBdhLmkGjh56TWNauDITpNl vUVgnZ7B1CITvka8o2Lx3f/UfE/ryP5062Igaiy138K/QBYh0OKJrWS5RH0ay5+5KUndqF h+K7Q/sM/pm86nEvvrPAOsEbjPk/9xd/xjTPSHhjVdt0he3M5jWSMoFwqBm+fSyFZqSn5W bps5VQyk9ofdcWgZ6jvCX7GCU9wRbuyh+Z4zzNsc7q+ep1eGzMz9c8QqUDBRmAmZ8yH3l5 Lk6I7ynEMSkn6B8rnL4NIRwhHvXn318DwOIVAbhmqoSm9EuF9ISEWwTkOnQpLQ== 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 4cXFm901mMzwDY; Thu, 25 Sep 2025 01:01:45 +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 58P11iwp087065; Thu, 25 Sep 2025 01:01:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58P11iGV087062; Thu, 25 Sep 2025 01:01:44 GMT (envelope-from git) Date: Thu, 25 Sep 2025 01:01:44 GMT Message-Id: <202509250101.58P11iGV087062@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: b1187b5a1274 - stable/15 - release: Improve kernel package handling 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: ivy X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: b1187b5a12747ec9c7d0052fa725b1e2a4668f90 Auto-Submitted: auto-generated The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=b1187b5a12747ec9c7d0052fa725b1e2a4668f90 commit b1187b5a12747ec9c7d0052fa725b1e2a4668f90 Author: Lexi Winter AuthorDate: 2025-09-23 23:06:30 +0000 Commit: Lexi Winter CommitDate: 2025-09-25 01:00:41 +0000 release: Improve kernel package handling Although support for PowerPC kernels (GENERIC64 and GENERIC64LE) was added to pkgbase-stage.lua, the equivalent support was missing from bsdinstall, so the installer would fail at runtime since it wouldn't find a kernel package. Improve the pkgbase-stage logic to have a specific list of kernels we want to support (which avoids breaking if multiple kernels are available), and use the same logic in both bsdinstall and pkgbase-stage. MFC after: 1 day Reviewed by: cperciva Differential Revision: https://reviews.freebsd.org/D52638 (cherry picked from commit 3f5385beeacf49d0edb563ccc712841bcfd6b158) --- release/scripts/pkgbase-stage.lua | 19 +++++++++++++------ usr.sbin/bsdinstall/scripts/pkgbase.in | 23 ++++++++++++++--------- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/release/scripts/pkgbase-stage.lua b/release/scripts/pkgbase-stage.lua index 94dec96673de..6845e0079b05 100755 --- a/release/scripts/pkgbase-stage.lua +++ b/release/scripts/pkgbase-stage.lua @@ -20,19 +20,26 @@ end -- Returns a list of packages to be included in the given media local function select_packages(pkg, media, all_libcompats) + -- Note: if you update this list, you must also update the list in + -- usr.sbin/bsdinstall/scripts/pkgbase.in. + local kernel_packages = { + -- Most architectures use this + ["FreeBSD-kernel-generic"] = true, + -- PowerPC uses either of these, depending on platform + ["FreeBSD-kernel-generic64"] = true, + ["FreeBSD-kernel-generic64le"] = true, + } + local components = {} local rquery = capture(pkg .. "rquery -U -r FreeBSD-base %n") for package in rquery:gmatch("[^\n]+") do local set = package:match("^FreeBSD%-set%-(.*)$") if set then components[set] = package - -- Kernels other than FreeBSD-kernel-generic are ignored - -- Note that on powerpc64 and powerpc64le the names are - -- slightly different. - elseif package:match("^FreeBSD%-kernel%-generic.*-dbg") then - components["kernel-dbg"] = package - elseif package:match("^FreeBSD%-kernel%-generic.*") then + elseif kernel_packages[package] then components["kernel"] = package + elseif kernel_packages[package:match("(.*)%-dbg$")] then + components["kernel-dbg"] = package elseif package == "pkg" then components["pkg"] = package end diff --git a/usr.sbin/bsdinstall/scripts/pkgbase.in b/usr.sbin/bsdinstall/scripts/pkgbase.in index c06a3f789791..3ba6a3474e0f 100755 --- a/usr.sbin/bsdinstall/scripts/pkgbase.in +++ b/usr.sbin/bsdinstall/scripts/pkgbase.in @@ -182,6 +182,16 @@ local function select_packages(pkg, options) ["debug"] = {}, } + -- Note: if you update this list, you must also update the list in + -- release/scripts/pkgbase-stage.lua. + local kernel_packages = { + -- Most architectures use this + ["FreeBSD-kernel-generic"] = true, + -- PowerPC uses either of these, depending on platform + ["FreeBSD-kernel-generic64"] = true, + ["FreeBSD-kernel-generic64le"] = true, + } + local rquery = capture(pkg .. "rquery -U -r FreeBSD-base %n") for package in rquery:gmatch("[^\n]+") do local setname = package:match("^FreeBSD%-set%-(.+)$") @@ -189,15 +199,10 @@ local function select_packages(pkg, options) if setname then components[setname] = components[setname] or {} table.insert(components[setname], package) - elseif package:match("^FreeBSD%-kernel%-.*") and - package ~= "FreeBSD-kernel-man" - then - -- Kernels other than FreeBSD-kernel-generic are ignored - if package == "FreeBSD-kernel-generic" then - table.insert(components["kernel"], package) - elseif package == "FreeBSD-kernel-generic-dbg" then - table.insert(components["kernel-dbg"], package) - end + elseif kernel_packages[package] then + table.insert(components["kernel"], package) + elseif kernel_packages[package:match("(.*)%-dbg$")] then + table.insert(components["kernel-dbg"], package) end end