release.sh (ed807f7bcaecbf32b0b81a7d18cee489a3666157) release.sh (d03c82c28da86e0812b98b051d24ae5980804ad7)
1#!/bin/sh
2#-
3# Copyright (c) 2020-2021 Rubicon Communications, LLC (netgate.com)
4# Copyright (c) 2013-2019 The FreeBSD Foundation
5# Copyright (c) 2013 Glen Barber
6# Copyright (c) 2011 Nathan Whitehorn
7# All rights reserved.
8#

--- 106 unchanged lines hidden (view full) ---

115 WITH_VMIMAGES=
116 WITH_COMPRESSED_VMIMAGES=
117 XZ_THREADS=0
118
119 # Set to non-empty value to build virtual machine images for various
120 # cloud providers as part of the release.
121 WITH_CLOUDWARE=
122
1#!/bin/sh
2#-
3# Copyright (c) 2020-2021 Rubicon Communications, LLC (netgate.com)
4# Copyright (c) 2013-2019 The FreeBSD Foundation
5# Copyright (c) 2013 Glen Barber
6# Copyright (c) 2011 Nathan Whitehorn
7# All rights reserved.
8#

--- 106 unchanged lines hidden (view full) ---

115 WITH_VMIMAGES=
116 WITH_COMPRESSED_VMIMAGES=
117 XZ_THREADS=0
118
119 # Set to non-empty value to build virtual machine images for various
120 # cloud providers as part of the release.
121 WITH_CLOUDWARE=
122
123 # Set to non-empty to build OCI images as part of the release
124 WITH_OCIIMAGES=
125
123 return 0
124} # env_setup()
125
126# env_check(): Perform sanity tests on the build environment, such as ensuring
127# files/directories exist, as well as adding backwards-compatibility hacks if
128# necessary. This is called unconditionally, and overrides the defaults set
129# in env_setup() if '-c <release.conf>' is specified.
130env_check() {

--- 59 unchanged lines hidden (view full) ---

190 CHROOT_DMAKEFLAGS="${WORLD_FLAGS} ${NOCONF_FILES}"
191 RELEASE_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${ARCH_FLAGS} \
192 ${CONF_FILES}"
193 RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} \
194 KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}"
195 RELEASE_RMAKEFLAGS="${ARCH_FLAGS} ${RELEASE_FLAGS} \
196 KERNCONF=\"${KERNEL}\" ${CONF_FILES} ${SRCPORTS} \
197 WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \
126 return 0
127} # env_setup()
128
129# env_check(): Perform sanity tests on the build environment, such as ensuring
130# files/directories exist, as well as adding backwards-compatibility hacks if
131# necessary. This is called unconditionally, and overrides the defaults set
132# in env_setup() if '-c <release.conf>' is specified.
133env_check() {

--- 59 unchanged lines hidden (view full) ---

193 CHROOT_DMAKEFLAGS="${WORLD_FLAGS} ${NOCONF_FILES}"
194 RELEASE_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${ARCH_FLAGS} \
195 ${CONF_FILES}"
196 RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} \
197 KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}"
198 RELEASE_RMAKEFLAGS="${ARCH_FLAGS} ${RELEASE_FLAGS} \
199 KERNCONF=\"${KERNEL}\" ${CONF_FILES} ${SRCPORTS} \
200 WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \
198 WITH_CLOUDWARE=${WITH_CLOUDWARE} XZ_THREADS=${XZ_THREADS}"
201 WITH_CLOUDWARE=${WITH_CLOUDWARE} WITH_OCIIMAGES=${WITH_OCIIMAGES} \
202 XZ_THREADS=${XZ_THREADS}"
199
200 return 0
201} # env_check()
202
203# chroot_setup(): Prepare the build chroot environment for the release build.
204chroot_setup() {
205 load_chroot_env
206 mkdir -p ${CHROOTDIR}/usr

--- 76 unchanged lines hidden (view full) ---

283 else
284 eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
285 pkg install -y devel/git
286 eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
287 pkg clean -y
288 fi
289 fi
290
203
204 return 0
205} # env_check()
206
207# chroot_setup(): Prepare the build chroot environment for the release build.
208chroot_setup() {
209 load_chroot_env
210 mkdir -p ${CHROOTDIR}/usr

--- 76 unchanged lines hidden (view full) ---

287 else
288 eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
289 pkg install -y devel/git
290 eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
291 pkg clean -y
292 fi
293 fi
294
295 if [ ! -z "${WITH_OCIIMAGES}" ]; then
296 # Install buildah and skopeo from ports if the ports tree is available;
297 # otherwise install the pkg.
298 if [ -d ${CHROOTDIR}/usr/ports ]; then
299 # Trick the ports 'run-autotools-fixup' target to do the right
300 # thing.
301 _OSVERSION=$(chroot ${CHROOTDIR} /usr/bin/uname -U)
302 REVISION=$(chroot ${CHROOTDIR} make -C /usr/src/release -V REVISION)
303 BRANCH=$(chroot ${CHROOTDIR} make -C /usr/src/release -V BRANCH)
304 UNAME_r=${REVISION}-${BRANCH}
305 GITUNSETOPTS="CONTRIB CURL CVS GITWEB GUI HTMLDOCS"
306 GITUNSETOPTS="${GITUNSETOPTS} ICONV NLS P4 PERL"
307 GITUNSETOPTS="${GITUNSETOPTS} SEND_EMAIL SUBTREE SVN"
308 GITUNSETOPTS="${GITUNSETOPTS} PCRE PCRE2"
309 PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes"
310 PBUILD_FLAGS="${PBUILD_FLAGS} UNAME_r=${UNAME_r}"
311 PBUILD_FLAGS="${PBUILD_FLAGS} OSREL=${REVISION}"
312 PBUILD_FLAGS="${PBUILD_FLAGS} WRKDIRPREFIX=/tmp/ports"
313 PBUILD_FLAGS="${PBUILD_FLAGS} DISTDIR=/tmp/distfiles"
314 for _PORT in sysutils/buildah sysutils/skopeo; do
315 eval chroot ${CHROOTDIR} env ${PBUILD_FLAGS} make -C \
316 /usr/ports/${_PORT} \
317 FORCE_PKG_REGISTER=1 deinstall install clean distclean
318 done
319 else
320 eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
321 pkg install -y sysutils/buildah sysutils/skopeo
322 eval chroot ${CHROOTDIR} env ASSUME_ALWAYS_YES=yes \
323 pkg clean -y
324 fi
325 # Use the vfs storage driver so that this works whether or not
326 # the build directory is on ZFS. The images are small so the
327 # performance difference is negligible.
328 eval chroot ${CHROOTDIR} sed -I .bak -e '/^driver/s/zfs/vfs/' /usr/local/etc/containers/storage.conf
329 # Remove any stray images from previous builds
330 eval chroot ${CHROOTDIR} buildah rmi -af
331 fi
332
291 if [ ! -z "${EMBEDDEDPORTS}" ]; then
292 _OSVERSION=$(chroot ${CHROOTDIR} /usr/bin/uname -U)
293 REVISION=$(chroot ${CHROOTDIR} make -C /usr/src/release -V REVISION)
294 BRANCH=$(chroot ${CHROOTDIR} make -C /usr/src/release -V BRANCH)
295 UNAME_r=${REVISION}-${BRANCH}
296 PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes"
297 PBUILD_FLAGS="${PBUILD_FLAGS} UNAME_r=${UNAME_r}"
298 PBUILD_FLAGS="${PBUILD_FLAGS} OSREL=${REVISION}"

--- 19 unchanged lines hidden (view full) ---

318 TARGET=${EMBEDDED_TARGET} \
319 TARGET_ARCH=${EMBEDDED_TARGET_ARCH}"
320 RELEASE_KMAKEFLAGS="${RELEASE_KMAKEFLAGS} \
321 TARGET=${EMBEDDED_TARGET} \
322 TARGET_ARCH=${EMBEDDED_TARGET_ARCH}"
323 fi
324 eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld
325 eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel
333 if [ ! -z "${EMBEDDEDPORTS}" ]; then
334 _OSVERSION=$(chroot ${CHROOTDIR} /usr/bin/uname -U)
335 REVISION=$(chroot ${CHROOTDIR} make -C /usr/src/release -V REVISION)
336 BRANCH=$(chroot ${CHROOTDIR} make -C /usr/src/release -V BRANCH)
337 UNAME_r=${REVISION}-${BRANCH}
338 PBUILD_FLAGS="OSVERSION=${_OSVERSION} BATCH=yes"
339 PBUILD_FLAGS="${PBUILD_FLAGS} UNAME_r=${UNAME_r}"
340 PBUILD_FLAGS="${PBUILD_FLAGS} OSREL=${REVISION}"

--- 19 unchanged lines hidden (view full) ---

360 TARGET=${EMBEDDED_TARGET} \
361 TARGET_ARCH=${EMBEDDED_TARGET_ARCH}"
362 RELEASE_KMAKEFLAGS="${RELEASE_KMAKEFLAGS} \
363 TARGET=${EMBEDDED_TARGET} \
364 TARGET_ARCH=${EMBEDDED_TARGET_ARCH}"
365 fi
366 eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld
367 eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel
368 if [ ! -z "${WITH_OCIIMAGES}" ]; then
369 eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} packages
370 fi
326
327 return 0
328} # chroot_build_target
329
330# chroot_build_release(): Invoke the 'make release' target.
331chroot_build_release() {
332 load_target_env
333 if [ ! -z "${WITH_VMIMAGES}" ]; then

--- 120 unchanged lines hidden ---
371
372 return 0
373} # chroot_build_target
374
375# chroot_build_release(): Invoke the 'make release' target.
376chroot_build_release() {
377 load_target_env
378 if [ ! -z "${WITH_VMIMAGES}" ]; then

--- 120 unchanged lines hidden ---