042a51f641
from pkg.FreeBSD.org for inclusion on release medium (dvd1.iso). The script sources ${.CURDIR}/${TARGET}/pkg-stage.conf, which sets several environment variables, such as the pkg(8) ABI, PACKAGESITE, PKG_DBDIR, and PKG_CACHEDIR. PKG_CACHEDIR is set to the directory on the release medium used by bsdconfig(8) (/packages/${ABI}). ABI is determined by output of 'make -C /usr/src/release -V REVISION'. See pkg.conf(5) for descripton on other variables set here. The list of packages to include are set within the configuration file. The script and configuration files are intended to be run by the 'make dvd' target within the release directory, and assume the release is built within a chroot environment (such as by using release.sh). Relevant updates to release/Makefile will follow. Sponsored by: The FreeBSD Foundation
40 lines
568 B
Bash
Executable File
40 lines
568 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
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
|
|
|
|
if [ ! -x /usr/local/sbin/pkg ]; then
|
|
/usr/sbin/pkg bootstrap
|
|
fi
|
|
|
|
/bin/mkdir -p ${PKG_CACHEDIR}
|
|
|
|
${PKGCMD} update -f
|
|
${PKGCMD} fetch -d ${DVD_PACKAGES}
|
|
|
|
${PKGCMD} repo ${PKG_CACHEDIR}
|
|
|
|
# Always exit '0', even if pkg(8) complains about conflicts.
|
|
exit 0
|