From owner-svn-src-head@FreeBSD.ORG Wed Aug 6 19:04:07 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 08D27DB7 for ; Wed, 6 Aug 2014 19:04:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EB0BC2701 for ; Wed, 6 Aug 2014 19:04:06 +0000 (UTC) Received: from gjb (uid 1237) (envelope-from gjb@FreeBSD.org) id 5c51 by svn.freebsd.org (DragonFly Mail Agent v0.9+); Wed, 06 Aug 2014 19:04:05 +0000 From: Glen Barber Date: Wed, 6 Aug 2014 19:04:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r269639 - in head/release: . arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <53e27c25.5c51.37e0e59@svn.freebsd.org> X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Aug 2014 19:04:07 -0000 Author: gjb Date: Wed Aug 6 19:04:05 2014 New Revision: 269639 URL: http://svnweb.freebsd.org/changeset/base/269639 Log: 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 Modified: head/release/arm/BEAGLEBONE.conf head/release/arm/PANDABOARD.conf head/release/arm/RPI-B.conf head/release/arm/WANDBOARD-QUAD.conf head/release/arm/ZEDBOARD.conf head/release/arm/release.sh head/release/release.conf.sample head/release/release.sh Modified: head/release/arm/BEAGLEBONE.conf ============================================================================== --- head/release/arm/BEAGLEBONE.conf Wed Aug 6 18:59:39 2014 (r269638) +++ head/release/arm/BEAGLEBONE.conf Wed Aug 6 19:04:05 2014 (r269639) @@ -1,30 +1,37 @@ +#!/bin/sh # # $FreeBSD$ # +# Global variables. +export SVNROOT="svn://svn.FreeBSD.org/" +export SRCBRANCH="base/head@rHEAD" +export DOCBRANCH="doc/head@rHEAD" +export PORTBRANCH="ports/head@rHEAD" +export NODOC=yes +export WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" +export KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" +export CHROOTDIR="/scratch" +export EMBEDDEDBUILD=1 + # Build chroot configuration -TARGET="amd64" -TARGET_ARCH="amd64" -SVNROOT="svn://svn.FreeBSD.org/" -SRCBRANCH="base/head@rHEAD" -DOCBRANCH="doc/head@rHEAD" -PORTBRANCH="ports/head@rHEAD" -NODOC=yes +load_chroot_env() { + # Avoid collision with TARGET and XDEV. + unset XDEV XDEV_ARCH KERNEL + export TARGET="amd64" + export TARGET_ARCH="amd64" +} # Build target configuration -# Since this file is sourced by a script that runs another -# script, these must be exported. -set -a -WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" -CHROOTDIR="/scratch" -EMBEDDEDBUILD=1 -EMBEDDEDPORTS="lang/python textproc/gsed" -XDEV="arm" -XDEV_ARCH="armv6" -XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1" -KERNEL="BEAGLEBONE" -CROCHETSRC="https://github.com/kientzle/crochet-freebsd" -CROCHETBRANCH="trunk" -set +a - +load_target_env() { + # Avoid collision with TARGET and XDEV. + unset TARGET TARGET_ARCH + export EMBEDDEDPORTS="lang/python textproc/gsed" + export XDEV="arm" + export XDEV_ARCH="armv6" + export XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1" + export XDEV_FLAGS="${XDEV_FLAGS} MK_TESTS=no" + export KERNEL="BEAGLEBONE" + export CROCHETSRC="https://github.com/kientzle/crochet-freebsd" + export CROCHETBRANCH="trunk" +} Modified: head/release/arm/PANDABOARD.conf ============================================================================== --- head/release/arm/PANDABOARD.conf Wed Aug 6 18:59:39 2014 (r269638) +++ head/release/arm/PANDABOARD.conf Wed Aug 6 19:04:05 2014 (r269639) @@ -1,30 +1,37 @@ +#!/bin/sh # # $FreeBSD$ # +# Global variables. +export SVNROOT="svn://svn.FreeBSD.org/" +export SRCBRANCH="base/head@rHEAD" +export DOCBRANCH="doc/head@rHEAD" +export PORTBRANCH="ports/head@rHEAD" +export NODOC=yes +export WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" +export KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" +export CHROOTDIR="/scratch" +export EMBEDDEDBUILD=1 +export EMBEDDEDPORTS="lang/python textproc/gsed" + # Build chroot configuration -TARGET="amd64" -TARGET_ARCH="amd64" -SVNROOT="svn://svn.FreeBSD.org/" -SRCBRANCH="base/head@rHEAD" -DOCBRANCH="doc/head@rHEAD" -PORTBRANCH="ports/head@rHEAD" -NODOC=yes +load_chroot_env() { + # Avoid collision with TARGET and XDEV. + unset XDEV XDEV_ARCH KERNEL + export TARGET="amd64" + export TARGET_ARCH="amd64" +} # Build target configuration -# Since this file is sourced by a script that runs another -# script, these must be exported. -set -a -WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" -CHROOTDIR="/scratch" -EMBEDDEDBUILD=1 -EMBEDDEDPORTS="lang/python textproc/gsed" -XDEV="arm" -XDEV_ARCH="armv6" -XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1" -KERNEL="PANDABOARD" -CROCHETSRC="https://github.com/kientzle/crochet-freebsd" -CROCHETBRANCH="trunk" -set +a - +load_target_env() { + # Avoid collision with TARGET and XDEV. + unset TARGET TARGET_ARCH + export XDEV="arm" + export XDEV_ARCH="armv6" + export XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1" + export XDEV_FLAGS="${XDEV_FLAGS} MK_TESTS=no" + export KERNEL="PANDABOARD" + export CROCHETSRC="https://github.com/kientzle/crochet-freebsd" + export CROCHETBRANCH="trunk" +} Modified: head/release/arm/RPI-B.conf ============================================================================== --- head/release/arm/RPI-B.conf Wed Aug 6 18:59:39 2014 (r269638) +++ head/release/arm/RPI-B.conf Wed Aug 6 19:04:05 2014 (r269639) @@ -1,32 +1,40 @@ +#!/bin/sh # # $FreeBSD$ # +# Global variables. +export SVNROOT="svn://svn.FreeBSD.org/" +export SRCBRANCH="base/head@rHEAD" +export DOCBRANCH="doc/head@rHEAD" +export PORTBRANCH="ports/head@rHEAD" +export NODOC=yes +export WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" +export KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" +export CHROOTDIR="/scratch" +export EMBEDDEDBUILD=1 +export EMBEDDEDPORTS="lang/python textproc/gsed" + # Build chroot configuration -TARGET="amd64" -TARGET_ARCH="amd64" -SVNROOT="svn://svn.FreeBSD.org/" -SRCBRANCH="base/head@rHEAD" -DOCBRANCH="doc/head@rHEAD" -PORTBRANCH="ports/head@rHEAD" -NODOC=yes +load_chroot_env() { + # Avoid collision with TARGET and XDEV. + unset XDEV XDEV_ARCH KERNEL + export TARGET="amd64" + export TARGET_ARCH="amd64" +} # Build target configuration -# Since this file is sourced by a script that runs another -# script, these must be exported. -set -a -WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" -CHROOTDIR="/scratch" -EMBEDDEDBUILD=1 -EMBEDDEDPORTS="lang/python textproc/gsed" -XDEV="arm" -XDEV_ARCH="armv6" -XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1" -KERNEL="RPI-B" -CROCHETSRC="https://github.com/kientzle/crochet-freebsd" -CROCHETBRANCH="trunk" -UBOOTSRC="https://github.com/gonzoua/u-boot-pi" -UBOOTBRANCH="trunk" -UBOOTDIR="/tmp/crochet/u-boot-rpi" -set +a +load_target_env() { + # Avoid collision with TARGET and XDEV. + unset TARGET TARGET_ARCH + export XDEV="arm" + export XDEV_ARCH="armv6" + export XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1" + export XDEV_FLAGS="${XDEV_FLAGS} MK_TESTS=no" + export KERNEL="RPI-B" + export CROCHETSRC="https://github.com/kientzle/crochet-freebsd" + export CROCHETBRANCH="trunk" + export UBOOTSRC="https://github.com/gonzoua/u-boot-pi" + export UBOOTBRANCH="trunk" + export UBOOTDIR="/tmp/crochet/u-boot-rpi" +} Modified: head/release/arm/WANDBOARD-QUAD.conf ============================================================================== --- head/release/arm/WANDBOARD-QUAD.conf Wed Aug 6 18:59:39 2014 (r269638) +++ head/release/arm/WANDBOARD-QUAD.conf Wed Aug 6 19:04:05 2014 (r269639) @@ -1,30 +1,37 @@ +#!/bin/sh # # $FreeBSD$ # +# Global variables. +export SVNROOT="svn://svn.FreeBSD.org/" +export SRCBRANCH="base/head@rHEAD" +export DOCBRANCH="doc/head@rHEAD" +export PORTBRANCH="ports/head@rHEAD" +export NODOC=yes +export WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" +export KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" +export CHROOTDIR="/scratch" +export EMBEDDEDBUILD=1 +export EMBEDDEDPORTS="lang/python textproc/gsed" + # Build chroot configuration -TARGET="amd64" -TARGET_ARCH="amd64" -SVNROOT="svn://svn.FreeBSD.org/" -SRCBRANCH="base/head@rHEAD" -DOCBRANCH="doc/head@rHEAD" -PORTBRANCH="ports/head@rHEAD" -NODOC=yes +load_chroot_env() { + # Avoid collision with TARGET and XDEV. + unset XDEV XDEV_ARCH KERNEL + export TARGET="amd64" + export TARGET_ARCH="amd64" +} # Build target configuration -# Since this file is sourced by a script that runs another -# script, these must be exported. -set -a -WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" -CHROOTDIR="/scratch" -EMBEDDEDBUILD=1 -EMBEDDEDPORTS="lang/python textproc/gsed" -XDEV="arm" -XDEV_ARCH="armv6" -XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1" -KERNEL="WANDBOARD-QUAD" -CROCHETSRC="https://github.com/kientzle/crochet-freebsd" -CROCHETBRANCH="trunk" -set +a - +load_target_env() { + # Avoid collision with TARGET and XDEV. + unset TARGET TARGET_ARCH + export XDEV="arm" + export XDEV_ARCH="armv6" + export XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1" + export XDEV_FLAGS="${XDEV_FLAGS} MK_TESTS=no" + export KERNEL="WANDBOARD-QUAD" + export CROCHETSRC="https://github.com/kientzle/crochet-freebsd" + export CROCHETBRANCH="trunk" +} Modified: head/release/arm/ZEDBOARD.conf ============================================================================== --- head/release/arm/ZEDBOARD.conf Wed Aug 6 18:59:39 2014 (r269638) +++ head/release/arm/ZEDBOARD.conf Wed Aug 6 19:04:05 2014 (r269639) @@ -1,29 +1,36 @@ +#!/bin/sh # # $FreeBSD$ # +# Global variables. +export SVNROOT="svn://svn.FreeBSD.org/" +export SRCBRANCH="base/head@rHEAD" +export DOCBRANCH="doc/head@rHEAD" +export PORTBRANCH="ports/head@rHEAD" +export NODOC=yes +export WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" +export export KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" +export CHROOTDIR="/scratch" +export EMBEDDEDBUILD=1 + # Build chroot configuration -TARGET="amd64" -TARGET_ARCH="amd64" -SVNROOT="svn://svn.FreeBSD.org/" -SRCBRANCH="base/head@rHEAD" -DOCBRANCH="doc/head@rHEAD" -PORTBRANCH="ports/head@rHEAD" -NODOC=yes +load_chroot_env() { + # Avoid collision with TARGET and XDEV. + unset XDEV XDEV_ARCH KERNEL + export TARGET="amd64" + export TARGET_ARCH="amd64" +} # Build target configuration -# Since this file is sourced by a script that runs another -# script, these must be exported. -set -a -WORLD_FLAGS="-j $(sysctl -n hw.ncpu)" -KERNEL_FLAGS="-j $(( $(( $(sysctl -n hw.ncpu) + 1 )) / 2 ))" -CHROOTDIR="/scratch" -EMBEDDEDBUILD=1 -XDEV="arm" -XDEV_ARCH="armv6" -XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1" -KERNEL="ZEDBOARD" -CROCHETSRC="https://github.com/kientzle/crochet-freebsd" -CROCHETBRANCH="trunk" -set +a - +load_target_env() { + # Avoid collision with TARGET and XDEV. + unset TARGET TARGET_ARCH + export XDEV="arm" + export XDEV_ARCH="armv6" + export XDEV_FLAGS="WITH_GCC=1 WITH_GCC_BOOTSTRAP=1 WITHOUT_CLANG_IS_CC=1" + export XDEV_FLAGS="${XDEV_FLAGS} MK_TESTS=no" + export KERNEL="ZEDBOARD" + export CROCHETSRC="https://github.com/kientzle/crochet-freebsd" + export CROCHETBRANCH="trunk" +} Modified: head/release/arm/release.sh ============================================================================== --- head/release/arm/release.sh Wed Aug 6 18:59:39 2014 (r269638) +++ head/release/arm/release.sh Wed Aug 6 19:04:05 2014 (r269639) @@ -94,9 +94,17 @@ install_uboot() { main() { # Build the 'xdev' target for crochet. eval chroot ${CHROOTDIR} make -C /usr/src \ - ${XDEV_FLAGS} TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \ + ${XDEV_FLAGS} XDEV=${XDEV} XDEV_ARCH=${XDEV_ARCH} \ + TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \ ${WORLD_FLAGS} xdev + # Install the cross-build symlinks to /usr/bin to make crochet + # happy. + eval chroot ${CHROOTDIR} make -C /usr/src \ + ${XDEV_FLAGS} XDEV=${XDEV} XDEV_ARCH=${XDEV_ARCH} \ + TARGET=${XDEV} TARGET_ARCH=${XDEV_ARCH} \ + ${WORLD_FLAGS} xdev-links + # Run the ldconfig(8) startup script so /var/run/ld-elf*.so.hints # is created. eval chroot ${CHROOTDIR} /etc/rc.d/ldconfig forcerestart Modified: head/release/release.conf.sample ============================================================================== --- head/release/release.conf.sample Wed Aug 6 18:59:39 2014 (r269638) +++ head/release/release.conf.sample Wed Aug 6 19:04:05 2014 (r269639) @@ -3,6 +3,11 @@ # $FreeBSD$ # +# Redefine environment variables here to override prototypes +# defined in release.sh. +load_chroot_env() { } +load_target_env() { } + ## Set the directory within which the release will be built. CHROOTDIR="/scratch" Modified: head/release/release.sh ============================================================================== --- head/release/release.sh Wed Aug 6 18:59:39 2014 (r269638) +++ head/release/release.sh Wed Aug 6 19:04:05 2014 (r269639) @@ -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_ 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} \