diff options
author | Glen Barber <gjb@FreeBSD.org> | 2014-01-16 18:33:10 +0000 |
---|---|---|
committer | Glen Barber <gjb@FreeBSD.org> | 2014-01-16 18:33:10 +0000 |
commit | e3ff8788aa4381f45f5c39efd99c9cbf1b174b5a (patch) | |
tree | fc12a2402db18db44808d73c87c7176a0f807614 | |
parent | 7adac81fc62ba87a2e2db875997c0e233254da83 (diff) |
MFreleng10 r259582 (reverse), MFstable10 r259491, r259492, r260781:upstream/10.0.0release/10.0.0
r259582 (reverted):
Set PACKAGESITE to 'release/0' for the pkg-stage target to pull
the release set of packages. (Required to eliminate conflicts.)
r259491:
Prevent release build errors found during snapshot builds where if
NOPORTS=1, pkg-stage.sh cannot build the ports-mgmt/pkg port if
WITH_DVD=1.
r259492:
Add NOPKG to disable pkg-stage.
r260781:
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.
A change local to releng/10.0 sets the package fetch URL to
'release/0'.
Approved by: re (delphij)
Sponsored by: The FreeBSD Foundation
Notes
Notes:
svn path=/releng/10.0/; revision=260787
svn path=/release/10.0.0/; revision=260789; tag=release/10.0.0
-rw-r--r-- | release/Makefile | 7 | ||||
-rwxr-xr-x | release/amd64/pkg-stage.conf | 36 | ||||
-rwxr-xr-x | release/i386/pkg-stage.conf | 36 | ||||
-rw-r--r-- | release/pkg_repos/release-dvd.conf | 8 | ||||
-rwxr-xr-x | release/scripts/pkg-stage.sh | 51 |
5 files changed, 46 insertions, 92 deletions
diff --git a/release/Makefile b/release/Makefile index 83c3d1e8507b..4c42f3150882 100644 --- a/release/Makefile +++ b/release/Makefile @@ -15,6 +15,7 @@ # (by default, the directory above this one) # PORTSDIR: location of ports tree to distribute (default: /usr/ports) # DOCDIR: location of doc tree (default: /usr/doc) +# NOPKG: if set, do not distribute third-party packages # NOPORTS: if set, do not distribute ports tree # NOSRC: if set, do not distribute source tree # NODOC: if set, do not generate release documentation @@ -214,9 +215,9 @@ packagesystem: base.txz kernel.txz ${EXTRA_PACKAGES} touch ${.TARGET} pkg-stage: -.if(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/ diff --git a/release/amd64/pkg-stage.conf b/release/amd64/pkg-stage.conf deleted file mode 100755 index 92ad85f42939..000000000000 --- a/release/amd64/pkg-stage.conf +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -export PKG_ABI="freebsd:${REVISION%.[0-9]*}:x86:64" -export ASSUME_ALWAYS_YES=1 -export __PKG_CONF="/etc/pkg/FreeBSD.conf" -export PACKAGESITE="http://pkg.FreeBSD.org/${PKG_ABI}/release/0" -export MIRROR_TYPE="SRV" -export REPO_AUTOUPDATE="NO" -export PKG_DBDIR="/tmp/pkg" -export PKG_CACHEDIR="dvd/packages/${PKG_ABI}" -export PERMISSIVE="YES" -export PKGCMD="/usr/sbin/pkg -d -C ${__PKG_CONF}" - -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/portaudit -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" diff --git a/release/i386/pkg-stage.conf b/release/i386/pkg-stage.conf deleted file mode 100755 index fe48755443d3..000000000000 --- a/release/i386/pkg-stage.conf +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -export PKG_ABI="freebsd:${REVISION%.[0-9]*}:x86:32" -export ASSUME_ALWAYS_YES=1 -export __PKG_CONF="/etc/pkg/FreeBSD.conf" -export PACKAGESITE="http://pkg.FreeBSD.org/${PKG_ABI}/release/0" -export MIRROR_TYPE="SRV" -export REPO_AUTOUPDATE="NO" -export PKG_DBDIR="/tmp/pkg" -export PKG_CACHEDIR="dvd/packages/${PKG_ABI}" -export PERMISSIVE="YES" -export PKGCMD="/usr/sbin/pkg -d -C ${__PKG_CONF}" - -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/portaudit -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" diff --git a/release/pkg_repos/release-dvd.conf b/release/pkg_repos/release-dvd.conf new file mode 100644 index 000000000000..8f5e2866ed70 --- /dev/null +++ b/release/pkg_repos/release-dvd.conf @@ -0,0 +1,8 @@ +# $FreeBSD$ +release: { + url: "pkg+http://pkg.FreeBSD.org/${ABI}/release/0", + mirror_type: "srv", + signature_type: "fingerprints", + fingerprints: "/usr/share/keys/pkg", + enabled: yes +} diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh index 93768fffa8d9..2281435aff45 100755 --- a/release/scripts/pkg-stage.sh +++ b/release/scripts/pkg-stage.sh @@ -5,31 +5,48 @@ 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 +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 + exit 0 fi -if [ "$#" -lt 2 ]; then - usage -fi - -# Source config file for this architecture. -REVISION="${2}" -. "${1}" || exit 1 - 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} |