aboutsummaryrefslogtreecommitdiff
path: root/release/scripts/pkg-stage.sh
diff options
context:
space:
mode:
Diffstat (limited to 'release/scripts/pkg-stage.sh')
-rwxr-xr-xrelease/scripts/pkg-stage.sh41
1 files changed, 23 insertions, 18 deletions
diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh
index b64fe5e5f1e5..5c4ec76150da 100755
--- a/release/scripts/pkg-stage.sh
+++ b/release/scripts/pkg-stage.sh
@@ -4,8 +4,6 @@
set -e
-unset NO_ROOT
-
export ASSUME_ALWAYS_YES="YES"
export PKG_DBDIR="/tmp/pkg"
export PERMISSIVE="YES"
@@ -13,7 +11,7 @@ export REPO_AUTOUPDATE="NO"
export ROOTDIR="$PWD/dvd"
export PORTSDIR="${PORTSDIR:-/usr/ports}"
-_DVD_PACKAGES="
+_DVD_PACKAGES_MAIN="
comms/usbmuxd
devel/git@lite
editors/emacs@nox
@@ -21,7 +19,6 @@ editors/vim
misc/freebsd-doc-all
net/mpd5
net/rsync
-net/wifi-firmware-kmod@release
ports-mgmt/pkg
shells/bash
shells/zsh
@@ -37,6 +34,10 @@ x11/xorg
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! ***"
@@ -53,15 +54,13 @@ usage()
while getopts N opt; do
case "$opt" in
- N) NO_ROOT=1 ;;
+ N) ;;
*) usage ;;
esac
done
-PKG_ARGS="-d --rootdir ${ROOTDIR}"
-if [ $NO_ROOT ]; then
- PKG_ARGS="$PKG_ARGS -o INSTALL_AS_USER=1"
-fi
+PKG_ARGS="--rootdir ${ROOTDIR}"
+PKG_ARGS="$PKG_ARGS -o INSTALL_AS_USER=1"
PKGCMD="/usr/sbin/pkg ${PKG_ARGS}"
if [ ! -x /usr/local/sbin/pkg ]; then
@@ -78,18 +77,25 @@ if [ -n "${PKG_ALTABI}" ]; then
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="${DVD_PACKAGES} ${_P}"
+ 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_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
@@ -100,7 +106,8 @@ fi
# 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.
@@ -110,10 +117,8 @@ ln -s ../All/$(${PKGCMD} rquery %n-%v pkg).pkg ${LATEST_DIR}/pkg.pkg
${PKGCMD} repo ${PKG_REPODIR}
-if [ $NO_ROOT ]; then
- mtree -c -p $ROOTDIR | mtree -C -k type,mode,link,size | \
- grep '^./packages[/ ]' >> $ROOTDIR/METALOG
-fi
+mtree -c -p $ROOTDIR | mtree -C -k type,mode,link,size | \
+ grep '^./packages[/ ]' >> $ROOTDIR/METALOG
# Always exit '0', even if pkg(8) complains about conflicts.
exit 0