Add SRC_UPDATE_SKIP, DOC_UPDATE_SKIP, and PORTS_UPDATE_SKIP

variables.  These are intended to allow bypassing the
'svn co /usr/{src,doc,ports}' step in the chroot when the
tree exists from external means.

The use case here is that /usr/src, /usr/doc, and /usr/ports
in the chroot exist as result of zfs dataset clones, so it
is possible (and happens quite often) that the included
distributions may not be consistent.  (This is not the case
for -RELEASE builds, but does happen for snapshot builds.)

Tested on:	stable/9@r264319
MFC After:	3 days
Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Glen Barber 2014-04-11 13:48:45 +00:00
parent 9941de49ad
commit 3e64b4c52d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=264343
3 changed files with 42 additions and 4 deletions

View file

@ -56,6 +56,18 @@ PORTBRANCH="ports/head@rHEAD"
## means.
#CHROOTBUILD_SKIP=
## Set to a non-empty value skip checkout or update of /usr/src in
## the chroot. This is intended for use when /usr/src already exists.
#SRC_UPDATE_SKIP=
## Set to a non-empty value skip checkout or update of /usr/doc in
## the chroot. This is intended for use when /usr/doc already exists.
#DOC_UPDATE_SKIP=
## Set to a non-empty value skip checkout or update of /usr/ports in
## the chroot. This is intended for use when /usr/ports already exists.
#PORTS_UPDATE_SKIP=
## Set to pass additional flags to make(1) for the build chroot setup, such
## as TARGET/TARGET_ARCH.
#CHROOT_MAKEENV=

View file

@ -190,11 +190,13 @@ set -e # Everything must succeed
mkdir -p ${CHROOTDIR}/usr
${VCSCMD} ${FORCE_SRC_KEY} ${SRCBRANCH} ${CHROOTDIR}/usr/src
if [ -z "${NODOC}" ]; then
if [ -z "${SRC_UPDATE_SKIP}" ]; then
${VCSCMD} ${FORCE_SRC_KEY} ${SRCBRANCH} ${CHROOTDIR}/usr/src
fi
if [ -z "${NODOC}" ] && [ -z "${DOC_UPDATE_SKIP}" ]; then
${VCSCMD} ${DOCBRANCH} ${CHROOTDIR}/usr/doc
fi
if [ -z "${NOPORTS}" ]; then
if [ -z "${NOPORTS}" ] && [ -z "${PORTS_UPDATE_SKIP}" ]; then
${VCSCMD} ${PORTBRANCH} ${CHROOTDIR}/usr/ports
fi

View file

@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd April 2, 2014
.Dd April 11, 2014
.Dt RELEASE 7
.Os
.Sh NAME
@ -272,6 +272,30 @@ build environment setup are skipped.
This is intended solely for cases where the
.Xr chroot 8
userland are provided by alternate means.
.It Va SRC_UPDATE_SKIP
Set to a non-empty value to prevent checkout or update of
.Fa /usr/src
within the
.Xr chroot 8 .
This is intended for use only when
.Fa /usr/src
is expected to exist by alternative means.
.It Va DOC_UPDATE_SKIP
Set to a non-empty value to prevent checkout or update of
.Fa /usr/doc
within the
.Xr chroot 8 .
This is intended for use only when
.Fa /usr/doc
is expected to exist by alternative means.
.It Va PORTS_UPDATE_SKIP
Set to a non-empty value to prevent checkout or update of
.Fa /usr/ports
within the
.Xr chroot 8 .
This is intended for use only when
.Fa /usr/ports
is expected to exist by alternative means.
.El
.Sh EMBEDDED BUILDS
The following