From owner-svn-src-all@FreeBSD.ORG Thu Jan 16 16:12:10 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0D8351BE; Thu, 16 Jan 2014 16:12:10 +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)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id ECC151AD3; Thu, 16 Jan 2014 16:12:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0GGC921077797; Thu, 16 Jan 2014 16:12:09 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0GGC9Pv077791; Thu, 16 Jan 2014 16:12:09 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201401161612.s0GGC9Pv077791@svn.freebsd.org> From: Glen Barber Date: Thu, 16 Jan 2014 16:12:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r260772 - in head/release: . amd64 i386 pkg_repos scripts X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Jan 2014 16:12:10 -0000 Author: gjb Date: Thu Jan 16 16:12:09 2014 New Revision: 260772 URL: http://svnweb.freebsd.org/changeset/base/260772 Log: Update the pkg-stage target to be more compatible with pkg-1.2: - Add a release-dvd.conf pkg(8) configuration file to override the default FreeBSD.conf configuration. - Remove architecture-specific pkg-stage.conf files, consolidate, and move their contents to scripts/pkg-stage.sh. - Use 'pkg -vv' to determine the ABI, which is used as the cache directory. Prior to these changes, it would be possible for pkg-stage to fetch conflicting binary packages from multiple repositories. Tested against: head@r260522, stable/10@r260522 MFC after: 3 days X-Insta-MFC: possibly Sponsored by: The FreeBSD Foundation Added: head/release/pkg_repos/ head/release/pkg_repos/release-dvd.conf (contents, props changed) Deleted: head/release/amd64/pkg-stage.conf head/release/i386/pkg-stage.conf Modified: head/release/Makefile head/release/scripts/pkg-stage.sh Modified: head/release/Makefile ============================================================================== --- head/release/Makefile Thu Jan 16 16:08:26 2014 (r260771) +++ head/release/Makefile Thu Jan 16 16:12:09 2014 (r260772) @@ -224,9 +224,9 @@ packagesystem: base.txz kernel.txz ${EXT touch ${.TARGET} pkg-stage: -.if !defined(NOPKG) && exists(${.CURDIR}/${TARGET}/pkg-stage.conf) - sh ${.CURDIR}/scripts/pkg-stage.sh ${.CURDIR}/${TARGET}/pkg-stage.conf \ - ${REVISION} +.if !defined(NOPKG) + env REPOS_DIR=${.CURDIR}/pkg_repos/ \ + sh ${.CURDIR}/scripts/pkg-stage.sh mkdir -p ${.OBJDIR}/dvd/packages/repos/ cp ${.CURDIR}/scripts/FreeBSD_install_cdrom.conf \ ${.OBJDIR}/dvd/packages/repos/ Added: head/release/pkg_repos/release-dvd.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/release/pkg_repos/release-dvd.conf Thu Jan 16 16:12:09 2014 (r260772) @@ -0,0 +1,8 @@ +# $FreeBSD$ +release: { + url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} Modified: head/release/scripts/pkg-stage.sh ============================================================================== --- head/release/scripts/pkg-stage.sh Thu Jan 16 16:08:26 2014 (r260771) +++ head/release/scripts/pkg-stage.sh Thu Jan 16 16:12:09 2014 (r260772) @@ -5,24 +5,31 @@ set -e -usage() { - echo "$(basename ${0}) /path/to/pkg-stage.conf revision" - exit 1 -} - -if [ ! -e "${1}" ]; then - echo "Configuration file not specified." - echo - usage -fi - -if [ "$#" -lt 2 ]; then - usage -fi - -# Source config file for this architecture. -REVISION="${2}" -. "${1}" || exit 1 +export ASSUME_ALWAYS_YES=1 +export PKG_DBDIR="/tmp/pkg" +export PERMISSIVE="YES" +export REPO_AUTOUPDATE="NO" +export PKGCMD="/usr/sbin/pkg -d" + +DVD_PACKAGES="archivers/unzip +devel/subversion +devel/subversion-static +emulators/linux_base-f10 +misc/freebsd-doc-all +net/mpd5 +net/rsync +ports-mgmt/pkg +ports-mgmt/portmaster +shells/bash +shells/zsh +security/sudo +sysutils/screen +www/firefox +www/links +x11-drivers/xf86-video-vmware +x11/gnome2 +x11/kde4 +x11/xorg" # If NOPORTS is set for the release, do not attempt to build pkg(8). if [ ! -f /usr/ports/Makefile ]; then @@ -33,8 +40,13 @@ if [ ! -x /usr/local/sbin/pkg ]; then /usr/bin/make -C /usr/ports/ports-mgmt/pkg install clean fi +export PKG_ABI=$(pkg -vv | grep ^ABI | awk '{print $3}') +export PKG_CACHEDIR="dvd/packages/${PKG_ABI}" + /bin/mkdir -p ${PKG_CACHEDIR} +# Print pkg(8) information to make debugging easier. +${PKGCMD} -vv ${PKGCMD} update -f ${PKGCMD} fetch -d ${DVD_PACKAGES}