diff options
author | gjb <gjb@FreeBSD.org> | 2014-08-06 19:04:05 +0000 |
---|---|---|
committer | gjb <gjb@FreeBSD.org> | 2014-08-06 19:04:05 +0000 |
commit | 0cf80d1f4de4f378e6129994fd4172e02ed18706 (patch) | |
tree | 32ebebd324b34b659770ed92712b3e9cb5be8ae7 /release/release.sh | |
parent | 5f8cdd32588288535ca67ce7abcb67a1c67aaead (diff) | |
download | FreeBSD-src-0cf80d1f4de4f378e6129994fd4172e02ed18706.zip FreeBSD-src-0cf80d1f4de4f378e6129994fd4172e02ed18706.tar.gz |
Merge the following from ^/projects/release-noxdev:
r269549, r269551, r269552, r269553, r269554, r269555, r269558, r269559,
r269560, r269561, r269628, r269629, r269630, r269635, r269637:
r269549:
Create a new project branch, release-noxdev, for
a sandbox workspace outside of head/ to update the
release bits for arm builds since the deprecation of
the XDEV and XDEV_ARCH make(1) variables.
r269551:
Define load_chroot_env() and load_target_env()
prototypes.
r269552:
Call load_chroot_env() and load_target_env() where
they can be mutually conflicting with regard to
TARGET, TARGET_ARCH, XDEV, and XDEV_ARCH.
r269553:
Add shebang line to arm/*.conf files since these
should be considered to be executable (albeit not
on their own) shell scripts.
r269554:
Redefine load_chroot_env() and load_target_env() in
the arm/*.conf files, and reindent.
r269555:
Simplify where load_chroot_env() and load_target_env() are
called.
r269558:
Provide example in release.conf.sample for overriding the
load_chroot_env() and load_target_env() prototypes.
r269559:
Remove a gratuitous newline.
r269560:
Unset potentially conflicting variables in load_chroot_env()
and load_target_env().
r269561:
Make global variables global, and accessible outside of
the functions within which they were once defined.
r269628:
Remove XDEV/XDEV_ARCH evaluation if EMBEDDEDBUILD is set.
r269629:
In arm/release.sh, switch TARGET/TARGET_ARCH back to the
original XDEV/XDEV_ARCH make(1) variables.
In theory, this should have been a no-op, but the TARGET and
TARGET_ARCH are now unset in load_target_env() to avoid
collision with the chroot userland.
r269630:
Export variables in the arm/*.conf files because they
need to be passed through release.sh to arm/release.sh.
Set MK_TESTS=no for the xdev target.
r269635:
As part of the XDEV/XDEV_ARCH deprecation, the
'xdev-links' target was intentionally no longer
invoked automatically.
Invoke the xdev-links target after xdev, which
creates, for example, /usr/bin/armv6-freebsd-cc
symlink to /usr/armv6-freebsd/usr/bin/cc.
r269637:
Set TARGET and TARGET_ARCH to the XDEV and XDEV_ARCH
counterparts for the xdev and xdev-links make(1)
targets.
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'release/release.sh')
-rwxr-xr-x | release/release.sh | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/release/release.sh b/release/release.sh index 73b706e..9d345a0 100755 --- a/release/release.sh +++ b/release/release.sh @@ -39,6 +39,10 @@ PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin" export PATH +# Prototypes that can be redefined per-chroot or per-target. +load_chroot_env() { } +load_target_env() { } + # The directory within which the release will be built. CHROOTDIR="/scratch" RELENGDIR="$(realpath $(dirname $(basename ${0})))" @@ -124,10 +128,6 @@ DOCBRANCH="${SVNROOT}${DOCBRANCH}" PORTBRANCH="${SVNROOT}${PORTBRANCH}" if [ -n "${EMBEDDEDBUILD}" ]; then - if [ -z "${XDEV}" ] || [ -z "${XDEV_ARCH}" ]; then - echo "ERROR: XDEV and XDEV_ARCH must be set in ${RELEASECONF}." - exit 1 - fi WITH_DVD= WITH_COMPRESSED_IMAGES= NODOC=yes @@ -161,6 +161,7 @@ if [ -n "${TARGET}" ] && [ -n "${TARGET_ARCH}" ]; then else ARCH_FLAGS= fi +load_chroot_env CHROOT_MAKEENV="${CHROOT_MAKEENV} MAKEOBJDIRPREFIX=${CHROOTDIR}/tmp/obj" CHROOT_WMAKEFLAGS="${MAKE_FLAGS} ${WORLD_FLAGS} ${CONF_FILES}" CHROOT_IMAKEFLAGS="${CONF_FILES}" @@ -229,6 +230,7 @@ if [ -n "${EMBEDDEDBUILD}" ]; then # release/, copy it to the /tmp/external directory within the chroot. # This allows building embedded releases without relying on updated # scripts and/or configurations to exist in the branch being built. + load_target_env if [ -e ${RELENGDIR}/tools/${XDEV}/crochet-${KERNEL}.conf ] && \ [ -e ${RELENGDIR}/${XDEV}/release.sh ]; then mkdir -p ${CHROOTDIR}/tmp/external/${XDEV}/ @@ -261,6 +263,7 @@ if [ -d ${CHROOTDIR}/usr/ports ]; then fi fi +load_target_env eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_WMAKEFLAGS} buildworld eval chroot ${CHROOTDIR} make -C /usr/src ${RELEASE_KMAKEFLAGS} buildkernel eval chroot ${CHROOTDIR} make -C /usr/src/release ${RELEASE_RMAKEFLAGS} \ |