From nobody Wed Sep 24 09:16:55 2025 X-Original-To: dev-commits-src-main@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 4cWrnz5sXlz68mm6; Wed, 24 Sep 2025 09:16:55 +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 4cWrnz284Xz3wpN; Wed, 24 Sep 2025 09:16:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758705415; 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=sZIYtludxZ/NL93ZVPelPXC7Rv8qpov1TyYeVIfURZ0=; b=PLiQ98i5UC/rl4wkQuecaOrLIl7xC2YCnHKp9B+xJTYI+i+xwjfZqKgjPkW0yt2X9+/uwV kBEZrw0T3XlP2ZqJ03BpYvVj8Hipq+wuyAfscWDePHUFC4I93CIEKuxH6QGZJeIuKqXOfi d9j/wmbU5EOEkyczjMenXiHvGEdoy0jF2tSPTND0PkgGG2oYxi+01zICqpb0s4J9ET8UpI QAyFIUN4SqJxcQybLWSqe5TZqUhEsInwJokf8uhXrzlmGfIzOgRdx179gPrY9FKlYvKgZ3 YsiS2vveM81MM2TZmSznaRwGWTiiSxRj6YPi0H1JDTk9HKqaeoM8pnRCNDhMxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1758705415; 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=sZIYtludxZ/NL93ZVPelPXC7Rv8qpov1TyYeVIfURZ0=; b=T0XGWG8wtOeKhiZ+56MniulTiimYoafBfD39GhCB4XcDKUIPUifUuDdpuXO3F5z4aOhwF7 6Fh3lQz3m0aB28gzuMUIzVPgw84Ba9s4ads1S1Bt0EQE9FXEv4kTakFiBVA667Z8UcPVWJ 1EHHZVimn37Qf0P84AACxbcu7lkK+pFNdi8paWw10O3dUwaPnoDAzi/DgiUb3bMmYjmRyQ uiODArmd0tOF8PVzwLjTam6vg1Qbnvc/99pfdsEzrEdYsk1bx26D1GZMj9xipUzBnq0WFF OAIfZmtWjrYjDXxDPKDb77fpuOqdn4lRXv69MQN9XSBWdluMALmLW+SmwwI7Aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1758705415; a=rsa-sha256; cv=none; b=p0ZtHMgrh8a14sxVVdvN38ql2+/l2lkRy8yr09guYBBzYa4ZP9PbLZ36eEIs800I2aloOb zkMrUsyH5MmThJo5n8fI9Yh/dTAjftppL+bKAUS50GfB0JVkX2j69YLkufl5ahr/l17HUs 2atpI40f7dp1SNwdEdNiyWvYFj8jUH13n8rEDOPlPkM03iobUtFnAYIvnu/9yCXrLuml2y krpt7vd6wwZVldc2rvr8ci90feeyzN1VzWgyo9VErYGEqJZyI/L2xibc6jk/cdCLFVxVsg n9MIWXLyZmSMRY/384S5ubcqdlM/KW6BR5cjc1+nmeIlQp1XtfN3rKWqDScVAg== 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 4cWrnz1fjRz9ZT; Wed, 24 Sep 2025 09:16:55 +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 58O9GtLk001738; Wed, 24 Sep 2025 09:16:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58O9GtWD001733; Wed, 24 Sep 2025 09:16:55 GMT (envelope-from git) Date: Wed, 24 Sep 2025 09:16:55 GMT Message-Id: <202509240916.58O9GtWD001733@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 3f5385beeacf - main - release: Improve kernel package handling List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 3f5385beeacf49d0edb563ccc712841bcfd6b158 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=3f5385beeacf49d0edb563ccc712841bcfd6b158 commit 3f5385beeacf49d0edb563ccc712841bcfd6b158 Author: Lexi Winter AuthorDate: 2025-09-23 23:06:30 +0000 Commit: Lexi Winter CommitDate: 2025-09-24 09:16:13 +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 --- 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