generate-release.sh revision 219508
1219508Snwhitehorn#!/bin/sh 2219508Snwhitehorn 3219508Snwhitehorn# generate-release.sh: check out source trees, and build release components with 4219508Snwhitehorn# totally clean, fresh trees 5219508Snwhitehorn# 6219508Snwhitehorn# Usage: generate-release.sh svn-branch scratch-dir 7219508Snwhitehorn# 8219508Snwhitehorn# Environment variables: 9219508Snwhitehorn# CVSUP_HOST: Host of a cvsup server to obtain the ports tree. Must be set 10219508Snwhitehorn# to include ports. 11219508Snwhitehorn# CVSUP_TAG: CVS tag for ports (HEAD by default) 12219508Snwhitehorn# MAKE_FLAGS: optional flags to pass to make (e.g. -j) 13219508Snwhitehorn# 14219508Snwhitehorn# Note: Since this requires a chroot, release cross-builds will not work! 15219508Snwhitehorn# 16219508Snwhitehorn# $FreeBSD: head/release/generate-release.sh 219508 2011-03-11 16:58:21Z nwhitehorn $ 17219508Snwhitehorn# 18219508Snwhitehorn 19219508Snwhitehornmkdir -p $2/usr/src 20219508Snwhitehornsvn co svn://svn.freebsd.org/base/$1 $2/usr/src || exit 1 21219508Snwhitehornif [ ! -z $CVSUP_HOST ]; then 22219508Snwhitehorn cat > $2/ports-supfile << EOF 23219508Snwhitehorn *default host=$CVSUP_HOST 24219508Snwhitehorn *default base=/var/db 25219508Snwhitehorn *default prefix=/usr 26219508Snwhitehorn *default release=cvs tag=${CVSUP_TAG:-.} 27219508Snwhitehorn *default delete use-rel-suffix 28219508Snwhitehorn *default compress 29219508Snwhitehorn ports-all 30219508SnwhitehornEOF 31219508Snwhitehornelse 32219508Snwhitehorn RELEASE_FLAGS=-DNOPORTS 33219508Snwhitehornfi 34219508Snwhitehorn 35219508Snwhitehorncd $2/usr/src 36219508Snwhitehornmake $MAKE_FLAGS buildworld || exit 1 37219508Snwhitehornmake installworld distribution DESTDIR=$2 || exit 1 38219508Snwhitehornmount -t devfs devfs $2/dev 39219508Snwhitehorn 40219508Snwhitehornif [ ! -z $CVSUP_HOST ]; then 41219508Snwhitehorn cp /etc/resolv.conf $2/etc/resolv.conf 42219508Snwhitehorn chroot $2 /usr/bin/csup /ports-supfile || exit 1 43219508Snwhitehornfi 44219508Snwhitehornchroot $2 /bin/sh -c "cd /usr/src && make $MAKE_FLAGS buildworld buildkernel" || exit 1 45219508Snwhitehornmkdir $2/R 46219508Snwhitehornchroot $2 /bin/sh -c "cd /usr/src/release && MAKEOBJDIR=/R make -f Makefile.bsdinstall release $RELEASE_FLAGS" || exit 1 47219508Snwhitehorn 48