diff --git a/release/pkg_repos/release-dvd.conf b/release/pkg_repos/release-dvd.conf --- a/release/pkg_repos/release-dvd.conf +++ b/release/pkg_repos/release-dvd.conf @@ -5,3 +5,10 @@ fingerprints: "/usr/share/keys/pkg", enabled: yes } +release-kmods: { + url: "pkg+http://pkg.FreeBSD.org/${ABI}/kmods_latest", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -13,12 +13,11 @@ export ROOTDIR="$PWD/dvd" export PORTSDIR="${PORTSDIR:-/usr/ports}" -_DVD_PACKAGES=" +_DVD_PACKAGES_MAIN=" devel/git@lite misc/freebsd-doc-all net/mpd5 net/rsync -net/wifi-firmware-kmod@release ports-mgmt/pkg shells/bash shells/zsh @@ -35,6 +34,10 @@ x11-wm/sway " +_DVD_PACKAGES_KMODS=" +net/wifi-firmware-kmod@release +" + # If NOPORTS is set for the release, do not attempt to build pkg(8). if [ ! -f ${PORTSDIR}/Makefile ]; then echo "*** ${PORTSDIR} is missing! ***" @@ -76,18 +79,25 @@ ln -s ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} fi -# Ensure the ports listed in _DVD_PACKAGES exist to sanitize the +# Ensure the ports listed in _DVD_PACKAGES_* exist to sanitize the # final list. -for _P in ${_DVD_PACKAGES}; do +for _P in ${_DVD_PACKAGES_MAIN}; do + if [ -d "${PORTSDIR}/${_P%%@*}" ]; then + DVD_PACKAGES_MAIN="${DVD_PACKAGES_MAIN} ${_P}" + else + echo "*** Skipping nonexistent port: ${_P%%@*}" + fi +done +for _P in ${_DVD_PACKAGES_KMODS}; do if [ -d "${PORTSDIR}/${_P%%@*}" ]; then - DVD_PACKAGES="${DVD_PACKAGES} ${_P}" + DVD_PACKAGES_KMODS="${DVD_PACKAGES_KMODS} ${_P}" else echo "*** Skipping nonexistent port: ${_P%%@*}" fi done # Make sure the package list is not empty. -if [ -z "${DVD_PACKAGES}" ]; then +if [ -z "${DVD_PACKAGES_MAIN}${DVD_PACKAGES_KMODS}" ]; then echo "*** The package list is empty." echo "*** Something is very wrong." # Exit '0' so the rest of the build process continues @@ -98,7 +108,8 @@ # Print pkg(8) information to make debugging easier. ${PKGCMD} -vv ${PKGCMD} update -f -${PKGCMD} fetch -o ${PKG_REPODIR} -d ${DVD_PACKAGES} +${PKGCMD} fetch -o ${PKG_REPODIR} -r release -d ${DVD_PACKAGES_MAIN} +${PKGCMD} fetch -o ${PKG_REPODIR} -r release-kmods -d ${DVD_PACKAGES_KMODS} # Create the 'Latest/pkg.pkg' symlink so 'pkg bootstrap' works # using the on-disc packages.