freebsd-nq/release/scripts/pkg-stage.sh
Glen Barber 4e11928ded Provide reproducibility between builds by building pkg(8) from ports,
instead of using pkg-bootstrap.

This should resolve a problem that was discovered during 10.0-BETA4
freebsd-update(8) builds,

Reported by:	secteam (delphij)
MFC after:	3 days
X-MFC-to-10:	possibly immediately, pending freebsd-update(8) builds
Sponsored by:	The FreeBSD Foundation
2013-12-02 14:28:30 +00:00

40 lines
600 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/bin/make -C /usr/ports/ports-mgmt/pkg install clean
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