summaryrefslogtreecommitdiffstats
path: root/release/scripts
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2015-01-11 01:38:32 +0000
committergjb <gjb@FreeBSD.org>2015-01-11 01:38:32 +0000
commit11947f9f2cfc44c72828b69b62c16c142234d5b4 (patch)
tree74ff8cb4aeffaf49a470c6f0a0aa2b60b8a36205 /release/scripts
parent375caa6c5f87f403192607edced29a94229f1c73 (diff)
downloadFreeBSD-src-11947f9f2cfc44c72828b69b62c16c142234d5b4.zip
FreeBSD-src-11947f9f2cfc44c72828b69b62c16c142234d5b4.tar.gz
MFC r276765, r276766, r276820, r276822, r276827, r276828:
r276765: Update pkg-stage.sh to be compatible with pkg-1.4.x. In 1.3.x and earlier, ABI format is, for example, freebsd:11:x86:64. In 1.4.x, ABI format is FreeBSD:11:amd64, and a new configuration entry, ALTABI, is: freebsd:11:x86:64. Export PKG_ABI and PKG_ALTABI accordingly, and if PKG_ALTABI is set, create a symlink within the dvd PKG_CACHEDIR so both new and old ABI directories exist. r276766: Properly change directories before creating the PKG_ALTABI -> PKG_ABI symlink. r276820: Print informational output when NOPORTS is set, which would otherwise cause pkg-stage.sh to silently exit. r276822: Ensure /var/run/ld-elf.so.hints exists before building pkg(8). r276827: Ensure the ports directories exist for the list of packages intended to be included on the DVD, and remove any nonexistent ports from the final list. Print the list of missing paths, and ensure that DVD_PACKAGES is non-zero length (which should never happen). r276828: Switch to x11/gnome3 now that x11/gnome2 no longer exists in the ports tree. Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'release/scripts')
-rwxr-xr-xrelease/scripts/pkg-stage.sh34
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
OpenPOWER on IntegriCloud