From owner-svn-src-stable-9@FreeBSD.ORG Sun Jan 11 01:49:54 2015 Return-Path: Delivered-To: svn-src-stable-9@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F16896E0; Sun, 11 Jan 2015 01:49:53 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DC93EF4C; Sun, 11 Jan 2015 01:49:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t0B1nrEv093365; Sun, 11 Jan 2015 01:49:53 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t0B1nrUj093364; Sun, 11 Jan 2015 01:49:53 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201501110149.t0B1nrUj093364@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Sun, 11 Jan 2015 01:49:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r276954 - stable/9/release/scripts X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2015 01:49:54 -0000 Author: gjb Date: Sun Jan 11 01:49:52 2015 New Revision: 276954 URL: https://svnweb.freebsd.org/changeset/base/276954 Log: MFC r271480, r271483, r271491, r276765, r276766, r276820, r276822, r276827, r276828: r271480: Set PKG_CACHEDIR to an 'All/' directory one level lower to fix 'pkg repo' generating repository metadata for the on-disc packages. r271483: Fix duplicate PKG_ABI in the PKG_CACHEDIR path. r271491: Simplify dvd package population with pkg-1.3. 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 Modified: stable/9/release/scripts/pkg-stage.sh Directory Properties: stable/9/release/ (props changed) Modified: stable/9/release/scripts/pkg-stage.sh ============================================================================== --- stable/9/release/scripts/pkg-stage.sh Sun Jan 11 01:38:32 2015 (r276953) +++ stable/9/release/scripts/pkg-stage.sh Sun Jan 11 01:49:52 2015 (r276954) @@ -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,33 +27,58 @@ 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 -PKG_ABI=$(pkg -vv | grep ^ABI | awk '{print $3}') -PKG_ABI="${PKG_ABI%\";}" -PKG_ABI="${PKG_ABI#\"}" -export PKG_ABI -export PKG_CACHEDIR="dvd/packages/${PKG_ABI}" +export DVD_DIR="dvd/packages" +export PKG_ABI=$(pkg config 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 -/bin/mkdir -p ${PKG_CACHEDIR} +# 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 ${PKGCMD} update -f -${PKGCMD} fetch -d ${DVD_PACKAGES} +${PKGCMD} fetch -o ${PKG_REPODIR} -d ${DVD_PACKAGES} -${PKGCMD} repo ${PKG_CACHEDIR} +${PKGCMD} repo ${PKG_REPODIR} # Always exit '0', even if pkg(8) complains about conflicts. exit 0