diff --git a/release/Makefile b/release/Makefile --- a/release/Makefile +++ b/release/Makefile @@ -245,7 +245,7 @@ ${.CURDIR}/scripts/pkgbase-stage.lua disc \ ${.OBJDIR}/pkgbase-repo-dir \ ${.TARGET}/usr/freebsd-packages/offline \ - "${_ALL_libcompats}" ${PKG_ABI} ${.OBJDIR}/pkgdb-disc1 + "${_ALL_libcompats}" ${PKG_ABI} ${.OBJDIR}/pkgdb-disc1 ${KERNCONF:UGENERIC:tl} cp ${.CURDIR}/scripts/FreeBSD-base-offline.conf \ ${.TARGET}/usr/freebsd-packages/repos/ mtree -c -p ${.TARGET}/usr/freebsd-packages | \ @@ -346,7 +346,7 @@ ${.CURDIR}/scripts/pkgbase-stage.lua dvd \ ${.OBJDIR}/pkgbase-repo-dir \ ${.TARGET}/usr/freebsd-packages/offline \ - "${_ALL_libcompats}" ${PKG_ABI} ${.OBJDIR}/pkgdb-dvd + "${_ALL_libcompats}" ${PKG_ABI} ${.OBJDIR}/pkgdb-dvd ${KERNCONF:UGENERIC:tl} 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 --- a/release/scripts/pkgbase-stage.lua +++ b/release/scripts/pkgbase-stage.lua @@ -23,8 +23,8 @@ -- 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, + -- Assume kernel package was named based on KERNCONF definition + ["FreeBSD-kernel-" .. KERNCONF ] = true, -- PowerPC uses either of these, depending on platform ["FreeBSD-kernel-generic64"] = true, ["FreeBSD-kernel-generic64le"] = true, @@ -93,6 +93,8 @@ local ABI = assert(arg[5]) -- pkgdb to use local PKGDB = assert(arg[6]) + -- which kernel to include + KERNCONF = assert(arg[7]) -- PKG(1) needs OSVERSION defined together with -o ABI local OSVERSION = capture("pkg config OSVERSION") diff --git a/usr.sbin/bsdinstall/scripts/pkgbase.in b/usr.sbin/bsdinstall/scripts/pkgbase.in --- a/usr.sbin/bsdinstall/scripts/pkgbase.in +++ b/usr.sbin/bsdinstall/scripts/pkgbase.in @@ -237,16 +237,6 @@ ["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%-(.+)$") @@ -254,10 +244,13 @@ if setname then components[setname] = components[setname] or {} table.insert(components[setname], package) - elseif kernel_packages[package] then - table.insert(components["kernel"], package) - elseif kernel_packages[package:match("(.*)%-dbg$")] then + elseif package:match("^FreeBSD%-kernel%-(.*)%-dbg$") then table.insert(components["kernel-dbg"], package) + elseif package:match("^FreeBSD%-kernel%-([^m][^a][^n].*)$") then + -- Note: In release/scripts/pkgbase-stage.lua, + -- KERNCONF based kernel package is selected. + -- Simply accept any FreeBSD-kernel-* name here. + table.insert(components["kernel"], package) elseif package == "pkg" then components["pkg"] = components["pkg"] or {} table.insert(components["pkg"], package)