1042a51f6SGlen Barber#!/bin/sh 2042a51f6SGlen Barber# 3042a51f6SGlen Barber# 4042a51f6SGlen Barber 5042a51f6SGlen Barberset -e 6042a51f6SGlen Barber 7f0d60b2aSGlen Barberexport ASSUME_ALWAYS_YES="YES" 86f50c4eaSGlen Barberexport PKG_DBDIR="/tmp/pkg" 96f50c4eaSGlen Barberexport PERMISSIVE="YES" 106f50c4eaSGlen Barberexport REPO_AUTOUPDATE="NO" 11ea266304SJohn Baldwinexport ROOTDIR="$PWD/dvd" 12ea266304SJohn Baldwinexport PKGCMD="/usr/sbin/pkg -d --rootdir ${ROOTDIR}" 13fefd0439SGlen Barberexport PORTSDIR="${PORTSDIR:-/usr/ports}" 14042a51f6SGlen Barber 15d31ed58bSColin Percival_DVD_PACKAGES="devel/git@lite 16fea4a44cSLi-Wen Hsugraphics/drm-kmod 17fea4a44cSLi-Wen Hsugraphics/drm-510-kmod 18fea4a44cSLi-Wen Hsugraphics/drm-515-kmod 196f50c4eaSGlen Barbermisc/freebsd-doc-all 206f50c4eaSGlen Barbernet/mpd5 216f50c4eaSGlen Barbernet/rsync 22*2483a2d3SBjoern A. Zeebnet/wifi-firmware-kmod@release 236f50c4eaSGlen Barberports-mgmt/pkg 246f50c4eaSGlen Barbershells/bash 256f50c4eaSGlen Barbershells/zsh 266f50c4eaSGlen Barbersecurity/sudo 276f50c4eaSGlen Barbersysutils/screen 28d31ed58bSColin Percivalsysutils/seatd 29868f280aSEd Mastesysutils/tmux 306f50c4eaSGlen Barberwww/firefox 316f50c4eaSGlen Barberwww/links 32e4e139b8SGlen Barberx11/gnome 33dc39aae3SGlen Barberx11/kde5 345ff76402SGraham Perrinx11/sddm 35d31ed58bSColin Percivalx11/xorg 36d31ed58bSColin Percivalx11-wm/sway" 37042a51f6SGlen Barber 3889df2158SGlen Barber# If NOPORTS is set for the release, do not attempt to build pkg(8). 39fefd0439SGlen Barberif [ ! -f ${PORTSDIR}/Makefile ]; then 40fefd0439SGlen Barber echo "*** ${PORTSDIR} is missing! ***" 41ef6db579SGlen Barber echo "*** Skipping pkg-stage.sh ***" 42ef6db579SGlen Barber echo "*** Unset NOPORTS to fix this ***" 4389df2158SGlen Barber exit 0 4489df2158SGlen Barberfi 4589df2158SGlen Barber 46042a51f6SGlen Barberif [ ! -x /usr/local/sbin/pkg ]; then 476b7ca552SGlen Barber /etc/rc.d/ldconfig restart 48fefd0439SGlen Barber /usr/bin/make -C ${PORTSDIR}/ports-mgmt/pkg install clean 49042a51f6SGlen Barberfi 50042a51f6SGlen Barber 51ea266304SJohn Baldwinexport PKG_ABI=$(pkg --rootdir ${ROOTDIR} config ABI) 52ea266304SJohn Baldwinexport PKG_ALTABI=$(pkg --rootdir ${ROOTDIR} config ALTABI 2>/dev/null) 53ea266304SJohn Baldwinexport PKG_REPODIR="packages/${PKG_ABI}" 546f50c4eaSGlen Barber 55ea266304SJohn Baldwin/bin/mkdir -p ${ROOTDIR}/${PKG_REPODIR} 568f85f8e6SGlen Barberif [ ! -z "${PKG_ALTABI}" ]; then 57ea266304SJohn Baldwin ln -s ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} 588f85f8e6SGlen Barberfi 59042a51f6SGlen Barber 6006699389SGlen Barber# Ensure the ports listed in _DVD_PACKAGES exist to sanitize the 6106699389SGlen Barber# final list. 6206699389SGlen Barberfor _P in ${_DVD_PACKAGES}; do 63d31ed58bSColin Percival if [ -d "${PORTSDIR}/${_P%%@*}" ]; then 6406699389SGlen Barber DVD_PACKAGES="${DVD_PACKAGES} ${_P}" 6506699389SGlen Barber else 66d31ed58bSColin Percival echo "*** Skipping nonexistent port: ${_P%%@*}" 6706699389SGlen Barber fi 6806699389SGlen Barberdone 6906699389SGlen Barber 7006699389SGlen Barber# Make sure the package list is not empty. 7106699389SGlen Barberif [ -z "${DVD_PACKAGES}" ]; then 7206699389SGlen Barber echo "*** The package list is empty." 7306699389SGlen Barber echo "*** Something is very wrong." 7406699389SGlen Barber # Exit '0' so the rest of the build process continues 7506699389SGlen Barber # so other issues (if any) can be addressed as well. 7606699389SGlen Barber exit 0 7706699389SGlen Barberfi 7806699389SGlen Barber 796f50c4eaSGlen Barber# Print pkg(8) information to make debugging easier. 806f50c4eaSGlen Barber${PKGCMD} -vv 81042a51f6SGlen Barber${PKGCMD} update -f 8253bdd39bSGlen Barber${PKGCMD} fetch -o ${PKG_REPODIR} -d ${DVD_PACKAGES} 83042a51f6SGlen Barber 8483f0a683SGlen Barber# Create the 'Latest/pkg.txz' symlink so 'pkg bootstrap' works 8583f0a683SGlen Barber# using the on-disc packages. 86ea266304SJohn Baldwinexport LATEST_DIR="${ROOTDIR}/${PKG_REPODIR}/Latest" 87ea266304SJohn Baldwinmkdir -p ${LATEST_DIR} 88ea266304SJohn Baldwinln -s ../All/$(${PKGCMD} rquery %n-%v pkg).pkg ${LATEST_DIR}/pkg.pkg 89ea266304SJohn Baldwinln -sf pkg.pkg ${LATEST_DIR}/pkg.txz 9083f0a683SGlen Barber 91017717d8SGlen Barber${PKGCMD} repo ${PKG_REPODIR} 92042a51f6SGlen Barber 93042a51f6SGlen Barber# Always exit '0', even if pkg(8) complains about conflicts. 94042a51f6SGlen Barberexit 0 95