Add documentation for newly-added functions.
While here, move CHROOT_* and RELEASE_* variables from env_setup() to env_check() since they may change if a release.conf file is used. Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
fb539361f7
commit
a12fa24967
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/projects/release-arm-redux/; revision=282540
@ -51,6 +51,9 @@ usage() {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# env_setup(): Set up the default build environment variables, such as the
|
||||||
|
# CHROOTDIR, VCSCMD, SVNROOT, etc. This is called before the release.conf
|
||||||
|
# file is sourced, if '-c <release.conf>' is specified.
|
||||||
env_setup() {
|
env_setup() {
|
||||||
# The directory within which the release will be built.
|
# The directory within which the release will be built.
|
||||||
CHROOTDIR="/scratch"
|
CHROOTDIR="/scratch"
|
||||||
@ -108,19 +111,13 @@ env_setup() {
|
|||||||
# cloud providers as part of the release.
|
# cloud providers as part of the release.
|
||||||
WITH_CLOUDWARE=
|
WITH_CLOUDWARE=
|
||||||
|
|
||||||
CHROOT_MAKEENV="${CHROOT_MAKEENV} MAKEOBJDIRPREFIX=${CHROOTDIR}/tmp/obj"
|
|
||||||
CHROOT_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${CONF_FILES}"
|
|
||||||
CHROOT_IMAKEFLAGS="${CONF_FILES}"
|
|
||||||
CHROOT_DMAKEFLAGS="${CONF_FILES}"
|
|
||||||
RELEASE_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${ARCH_FLAGS} ${CONF_FILES}"
|
|
||||||
RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}"
|
|
||||||
RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=\"${KERNEL}\" ${CONF_FILES} \
|
|
||||||
${DOCPORTS} WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \
|
|
||||||
WITH_CLOUDWARE=${WITH_CLOUDWARE} XZ_THREADS=${XZ_THREADS}"
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
} # env_setup()
|
} # env_setup()
|
||||||
|
|
||||||
|
# env_check(): Perform sanity tests on the build environment, such as ensuring
|
||||||
|
# files/directories exist, as well as adding backwards-compatibility hacks if
|
||||||
|
# necessary. This is called unconditionally, and overrides the defaults set
|
||||||
|
# in env_setup() if '-c <release.conf>' is specified.
|
||||||
env_check() {
|
env_check() {
|
||||||
# Fix for backwards-compatibility with release.conf that does not have the
|
# Fix for backwards-compatibility with release.conf that does not have the
|
||||||
# trailing '/'.
|
# trailing '/'.
|
||||||
@ -187,9 +184,20 @@ env_check() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
CHROOT_MAKEENV="${CHROOT_MAKEENV} MAKEOBJDIRPREFIX=${CHROOTDIR}/tmp/obj"
|
||||||
|
CHROOT_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${CONF_FILES}"
|
||||||
|
CHROOT_IMAKEFLAGS="${CONF_FILES}"
|
||||||
|
CHROOT_DMAKEFLAGS="${CONF_FILES}"
|
||||||
|
RELEASE_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${ARCH_FLAGS} ${CONF_FILES}"
|
||||||
|
RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}"
|
||||||
|
RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=\"${KERNEL}\" ${CONF_FILES} \
|
||||||
|
${DOCPORTS} WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \
|
||||||
|
WITH_CLOUDWARE=${WITH_CLOUDWARE} XZ_THREADS=${XZ_THREADS}"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
} # env_check()
|
} # env_check()
|
||||||
|
|
||||||
|
# chroot_setup(): Prepare the build chroot environment for the release build.
|
||||||
chroot_setup() {
|
chroot_setup() {
|
||||||
load_chroot_env
|
load_chroot_env
|
||||||
mkdir -p ${CHROOTDIR}/usr
|
mkdir -p ${CHROOTDIR}/usr
|
||||||
@ -218,6 +226,8 @@ chroot_setup() {
|
|||||||
return 0
|
return 0
|
||||||
} # chroot_setup()
|
} # chroot_setup()
|
||||||
|
|
||||||
|
# extra_chroot_setup(): Prepare anything additional within the build
|
||||||
|
# necessary for the release build.
|
||||||
extra_chroot_setup() {
|
extra_chroot_setup() {
|
||||||
# If MAKE_CONF and/or SRC_CONF are set and not character devices (/dev/null),
|
# If MAKE_CONF and/or SRC_CONF are set and not character devices (/dev/null),
|
||||||
# copy them to the chroot.
|
# copy them to the chroot.
|
||||||
@ -253,6 +263,7 @@ extra_chroot_setup() {
|
|||||||
return 0
|
return 0
|
||||||
} # extra_chroot_setup()
|
} # extra_chroot_setup()
|
||||||
|
|
||||||
|
# chroot_build_target(): Build the userland and kernel for the build target.
|
||||||
chroot_build_target() {
|
chroot_build_target() {
|
||||||
buildenv_setup
|
buildenv_setup
|
||||||
load_target_env
|
load_target_env
|
||||||
@ -287,6 +298,7 @@ chroot_build_target() {
|
|||||||
return 0
|
return 0
|
||||||
} # chroot_build_target
|
} # chroot_build_target
|
||||||
|
|
||||||
|
# chroot_build_release(): Invoke the 'make release' target.
|
||||||
chroot_build_release() {
|
chroot_build_release() {
|
||||||
buildenv_setup
|
buildenv_setup
|
||||||
load_target_env
|
load_target_env
|
||||||
@ -299,6 +311,7 @@ chroot_build_release() {
|
|||||||
return 0
|
return 0
|
||||||
} # chroot_build_release()
|
} # chroot_build_release()
|
||||||
|
|
||||||
|
# main(): Start here.
|
||||||
main() {
|
main() {
|
||||||
set -e # Everything must succeed
|
set -e # Everything must succeed
|
||||||
env_setup
|
env_setup
|
||||||
|
Loading…
Reference in New Issue
Block a user