generate-release.sh revision 219508
12345Scsgr#!/bin/sh 22345Scsgr 32345Scsgr# generate-release.sh: check out source trees, and build release components with 42345Scsgr# totally clean, fresh trees 52345Scsgr# 62345Scsgr# Usage: generate-release.sh svn-branch scratch-dir 72345Scsgr# 82345Scsgr# Environment variables: 92345Scsgr# CVSUP_HOST: Host of a cvsup server to obtain the ports tree. Must be set 102345Scsgr# to include ports. 112345Scsgr# CVSUP_TAG: CVS tag for ports (HEAD by default) 122345Scsgr# MAKE_FLAGS: optional flags to pass to make (e.g. -j) 132345Scsgr# 142345Scsgr# Note: Since this requires a chroot, release cross-builds will not work! 152345Scsgr# 162345Scsgr# $FreeBSD: head/release/generate-release.sh 219508 2011-03-11 16:58:21Z nwhitehorn $ 172345Scsgr# 182345Scsgr 192345Scsgrmkdir -p $2/usr/src 202345Scsgrsvn co svn://svn.freebsd.org/base/$1 $2/usr/src || exit 1 212345Scsgrif [ ! -z $CVSUP_HOST ]; then 222345Scsgr cat > $2/ports-supfile << EOF 232345Scsgr *default host=$CVSUP_HOST 242345Scsgr *default base=/var/db 252345Scsgr *default prefix=/usr 262345Scsgr *default release=cvs tag=${CVSUP_TAG:-.} 272345Scsgr *default delete use-rel-suffix 282345Scsgr *default compress 292345Scsgr ports-all 302345ScsgrEOF 312345Scsgrelse 322345Scsgr RELEASE_FLAGS=-DNOPORTS 332345Scsgrfi 3495619Smarkm 352345Scsgrcd $2/usr/src 3695619Smarkmmake $MAKE_FLAGS buildworld || exit 1 3795619Smarkmmake installworld distribution DESTDIR=$2 || exit 1 382345Scsgrmount -t devfs devfs $2/dev 392345Scsgr 4095619Smarkmif [ ! -z $CVSUP_HOST ]; then 4178455Smikeh cp /etc/resolv.conf $2/etc/resolv.conf 4278455Smikeh chroot $2 /usr/bin/csup /ports-supfile || exit 1 4378455Smikehfi 4495619Smarkmchroot $2 /bin/sh -c "cd /usr/src && make $MAKE_FLAGS buildworld buildkernel" || exit 1 4578455Smikehmkdir $2/R 4695619Smarkmchroot $2 /bin/sh -c "cd /usr/src/release && MAKEOBJDIR=/R make -f Makefile.bsdinstall release $RELEASE_FLAGS" || exit 1 4727976Scharnier 482345Scsgr