diff options
author | gjb <gjb@FreeBSD.org> | 2014-04-14 03:57:45 +0000 |
---|---|---|
committer | gjb <gjb@FreeBSD.org> | 2014-04-14 03:57:45 +0000 |
commit | bfa777d36fc90a10299c7dfda42c27512bbdb0a0 (patch) | |
tree | de4b0e0effef9485687cddc4308d570f3917d941 | |
parent | 4f557eb9380e350e00df186d627969b28ea499a8 (diff) | |
download | FreeBSD-src-bfa777d36fc90a10299c7dfda42c27512bbdb0a0.zip FreeBSD-src-bfa777d36fc90a10299c7dfda42c27512bbdb0a0.tar.gz |
MFC r264343:
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.)
Sponsored by: The FreeBSD Foundation
-rw-r--r-- | release/release.conf.sample | 12 | ||||
-rwxr-xr-x | release/release.sh | 8 | ||||
-rw-r--r-- | share/man/man7/release.7 | 26 |
3 files changed, 42 insertions, 4 deletions
diff --git a/release/release.conf.sample b/release/release.conf.sample index 54b3d5c..7eea656 100644 --- a/release/release.conf.sample +++ b/release/release.conf.sample @@ -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= diff --git a/release/release.sh b/release/release.sh index 11df3fd..73b706e 100755 --- a/release/release.sh +++ b/release/release.sh @@ -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 diff --git a/share/man/man7/release.7 b/share/man/man7/release.7 index 1278a62..f3f897e 100644 --- a/share/man/man7/release.7 +++ b/share/man/man7/release.7 @@ -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 |