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
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=260772
@ -224,9 +224,9 @@ packagesystem: base.txz kernel.txz ${EXTRA_PACKAGES}
|
|||||||
touch ${.TARGET}
|
touch ${.TARGET}
|
||||||
|
|
||||||
pkg-stage:
|
pkg-stage:
|
||||||
.if !defined(NOPKG) && exists(${.CURDIR}/${TARGET}/pkg-stage.conf)
|
.if !defined(NOPKG)
|
||||||
sh ${.CURDIR}/scripts/pkg-stage.sh ${.CURDIR}/${TARGET}/pkg-stage.conf \
|
env REPOS_DIR=${.CURDIR}/pkg_repos/ \
|
||||||
${REVISION}
|
sh ${.CURDIR}/scripts/pkg-stage.sh
|
||||||
mkdir -p ${.OBJDIR}/dvd/packages/repos/
|
mkdir -p ${.OBJDIR}/dvd/packages/repos/
|
||||||
cp ${.CURDIR}/scripts/FreeBSD_install_cdrom.conf \
|
cp ${.CURDIR}/scripts/FreeBSD_install_cdrom.conf \
|
||||||
${.OBJDIR}/dvd/packages/repos/
|
${.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
|
set -e
|
||||||
|
|
||||||
usage() {
|
export ASSUME_ALWAYS_YES=1
|
||||||
echo "$(basename ${0}) /path/to/pkg-stage.conf revision"
|
export PKG_DBDIR="/tmp/pkg"
|
||||||
exit 1
|
export PERMISSIVE="YES"
|
||||||
}
|
export REPO_AUTOUPDATE="NO"
|
||||||
|
export PKGCMD="/usr/sbin/pkg -d"
|
||||||
|
|
||||||
if [ ! -e "${1}" ]; then
|
DVD_PACKAGES="archivers/unzip
|
||||||
echo "Configuration file not specified."
|
devel/subversion
|
||||||
echo
|
devel/subversion-static
|
||||||
usage
|
emulators/linux_base-f10
|
||||||
fi
|
misc/freebsd-doc-all
|
||||||
|
net/mpd5
|
||||||
if [ "$#" -lt 2 ]; then
|
net/rsync
|
||||||
usage
|
ports-mgmt/pkg
|
||||||
fi
|
ports-mgmt/portmaster
|
||||||
|
shells/bash
|
||||||
# Source config file for this architecture.
|
shells/zsh
|
||||||
REVISION="${2}"
|
security/sudo
|
||||||
. "${1}" || exit 1
|
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 NOPORTS is set for the release, do not attempt to build pkg(8).
|
||||||
if [ ! -f /usr/ports/Makefile ]; then
|
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
|
/usr/bin/make -C /usr/ports/ports-mgmt/pkg install clean
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export PKG_ABI=$(pkg -vv | grep ^ABI | awk '{print $3}')
|
||||||
|
export PKG_CACHEDIR="dvd/packages/${PKG_ABI}"
|
||||||
|
|
||||||
/bin/mkdir -p ${PKG_CACHEDIR}
|
/bin/mkdir -p ${PKG_CACHEDIR}
|
||||||
|
|
||||||
|
# Print pkg(8) information to make debugging easier.
|
||||||
|
${PKGCMD} -vv
|
||||||
${PKGCMD} update -f
|
${PKGCMD} update -f
|
||||||
${PKGCMD} fetch -d ${DVD_PACKAGES}
|
${PKGCMD} fetch -d ${DVD_PACKAGES}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user