diff options
-rwxr-xr-x | release/scripts/pkg-stage.sh | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index 0b99632..095f996 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -11,7 +11,7 @@ export PERMISSIVE="YES" export REPO_AUTOUPDATE="NO" export PKGCMD="/usr/sbin/pkg -d" -DVD_PACKAGES="archivers/unzip +_DVD_PACKAGES="archivers/unzip devel/subversion devel/subversion-static emulators/linux_base-f10 @@ -27,23 +27,51 @@ sysutils/screen www/firefox www/links x11-drivers/xf86-video-vmware -x11/gnome2 +x11/gnome3 x11/kde4 x11/xorg" # If NOPORTS is set for the release, do not attempt to build pkg(8). if [ ! -f /usr/ports/Makefile ]; then + echo "*** /usr/ports is missing! ***" + echo "*** Skipping pkg-stage.sh ***" + echo "*** Unset NOPORTS to fix this ***" exit 0 fi if [ ! -x /usr/local/sbin/pkg ]; then + /etc/rc.d/ldconfig restart /usr/bin/make -C /usr/ports/ports-mgmt/pkg install clean fi +export DVD_DIR="dvd/packages" export PKG_ABI=$(pkg config ABI) -export PKG_REPODIR="dvd/packages/${PKG_ABI}" +export PKG_ALTABI=$(pkg config ALTABI 2>/dev/null) +export PKG_REPODIR="${DVD_DIR}/${PKG_ABI}" /bin/mkdir -p ${PKG_REPODIR} +if [ ! -z "${PKG_ALTABI}" ]; then + (cd ${DVD_DIR} && ln -s ${PKG_ABI} ${PKG_ALTABI}) +fi + +# Ensure the ports listed in _DVD_PACKAGES exist to sanitize the +# final list. +for _P in ${_DVD_PACKAGES}; do + if [ -d "/usr/ports/${_P}" ]; then + DVD_PACKAGES="${DVD_PACKAGES} ${_P}" + else + echo "*** Skipping nonexistent port: ${_P}" + fi +done + +# Make sure the package list is not empty. +if [ -z "${DVD_PACKAGES}" ]; then + echo "*** The package list is empty." + echo "*** Something is very wrong." + # Exit '0' so the rest of the build process continues + # so other issues (if any) can be addressed as well. + exit 0 +fi # Print pkg(8) information to make debugging easier. ${PKGCMD} -vv |