generate-release.sh revision 219508
138494Sobrien#!/bin/sh 2174297Sobrien 338494Sobrien# generate-release.sh: check out source trees, and build release components with 438494Sobrien# totally clean, fresh trees 538494Sobrien# 638494Sobrien# Usage: generate-release.sh svn-branch scratch-dir 738494Sobrien# 838494Sobrien# Environment variables: 938494Sobrien# CVSUP_HOST: Host of a cvsup server to obtain the ports tree. Must be set 1038494Sobrien# to include ports. 1138494Sobrien# CVSUP_TAG: CVS tag for ports (HEAD by default) 1238494Sobrien# MAKE_FLAGS: optional flags to pass to make (e.g. -j) 1338494Sobrien# 1438494Sobrien# Note: Since this requires a chroot, release cross-builds will not work! 1538494Sobrien# 1638494Sobrien# $FreeBSD: head/release/generate-release.sh 219508 2011-03-11 16:58:21Z nwhitehorn $ 1738494Sobrien# 1838494Sobrien 1938494Sobrienmkdir -p $2/usr/src 2038494Sobriensvn co svn://svn.freebsd.org/base/$1 $2/usr/src || exit 1 2138494Sobrienif [ ! -z $CVSUP_HOST ]; then 2238494Sobrien cat > $2/ports-supfile << EOF 2338494Sobrien *default host=$CVSUP_HOST 2438494Sobrien *default base=/var/db 2538494Sobrien *default prefix=/usr 2638494Sobrien *default release=cvs tag=${CVSUP_TAG:-.} 2738494Sobrien *default delete use-rel-suffix 2838494Sobrien *default compress 2938494Sobrien ports-all 3038494SobrienEOF 3138494Sobrienelse 3238494Sobrien RELEASE_FLAGS=-DNOPORTS 3338494Sobrienfi 3438494Sobrien 3538494Sobriencd $2/usr/src 3638494Sobrienmake $MAKE_FLAGS buildworld || exit 1 3738494Sobrienmake installworld distribution DESTDIR=$2 || exit 1 3838494Sobrienmount -t devfs devfs $2/dev 39174297Sobrien 4051300Sobrienif [ ! -z $CVSUP_HOST ]; then 4138494Sobrien cp /etc/resolv.conf $2/etc/resolv.conf 4238494Sobrien chroot $2 /usr/bin/csup /ports-supfile || exit 1 4338494Sobrienfi 4438494Sobrienchroot $2 /bin/sh -c "cd /usr/src && make $MAKE_FLAGS buildworld buildkernel" || exit 1 4538494Sobrienmkdir $2/R 46174297Sobrienchroot $2 /bin/sh -c "cd /usr/src/release && MAKEOBJDIR=/R make -f Makefile.bsdinstall release $RELEASE_FLAGS" || exit 1 4739087Sobrien 4839087Sobrien