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
This commit is contained in:
parent
5f171f64a2
commit
6f50c4ea71
@ -224,9 +224,9 @@ packagesystem: base.txz kernel.txz ${EXTRA_PACKAGES}
|
||||
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/
|
||||
|
@ -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}/latest"
|
||||
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"
|
@ -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}/latest"
|
||||
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"
|
8
release/pkg_repos/release-dvd.conf
Normal file
8
release/pkg_repos/release-dvd.conf
Normal file
@ -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
|
||||
}
|
@ -5,24 +5,31 @@
|
||||
|
||||
set -e
|
||||
|
||||
usage() {
|
||||
echo "$(basename ${0}) /path/to/pkg-stage.conf revision"
|
||||
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"
|
||||
|
||||
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
|
||||
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}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user