1#!/bin/sh 2 3# generate-release.sh: check out source trees, and build release components with
| 1#!/bin/sh 2 3# generate-release.sh: check out source trees, and build release components with
|
4# totally clean, fresh trees
| 4# totally clean, fresh trees.
|
5# 6# Usage: generate-release.sh svn-branch scratch-dir 7# 8# Environment variables:
| 5# 6# Usage: generate-release.sh svn-branch scratch-dir 7# 8# Environment variables:
|
9# CVSUP_HOST: Host of a cvsup server to obtain the ports tree. Must be set 10# to include ports. 11# CVSUP_TAG: CVS tag for ports (HEAD by default)
| 9# CVSUP_HOST: Host of a cvsup server to obtain the ports and documentation 10# trees. Must be set to include ports and documentation. 11# CVSUP_TAG: CVS tag for ports and documentation (HEAD by default)
|
12# MAKE_FLAGS: optional flags to pass to make (e.g. -j) 13# 14# Note: Since this requires a chroot, release cross-builds will not work! 15#
| 12# MAKE_FLAGS: optional flags to pass to make (e.g. -j) 13# 14# Note: Since this requires a chroot, release cross-builds will not work! 15#
|
16# $FreeBSD: head/release/generate-release.sh 219508 2011-03-11 16:58:21Z nwhitehorn $
| 16# $FreeBSD: head/release/generate-release.sh 219610 2011-03-13 15:08:06Z nwhitehorn $
|
17# 18 19mkdir -p $2/usr/src 20svn co svn://svn.freebsd.org/base/$1 $2/usr/src || exit 1 21if [ ! -z $CVSUP_HOST ]; then
| 17# 18 19mkdir -p $2/usr/src 20svn co svn://svn.freebsd.org/base/$1 $2/usr/src || exit 1 21if [ ! -z $CVSUP_HOST ]; then
|
22 cat > $2/ports-supfile << EOF
| 22 cat > $2/docports-supfile << EOF
|
23 *default host=$CVSUP_HOST 24 *default base=/var/db 25 *default prefix=/usr 26 *default release=cvs tag=${CVSUP_TAG:-.} 27 *default delete use-rel-suffix 28 *default compress 29 ports-all
| 23 *default host=$CVSUP_HOST 24 *default base=/var/db 25 *default prefix=/usr 26 *default release=cvs tag=${CVSUP_TAG:-.} 27 *default delete use-rel-suffix 28 *default compress 29 ports-all
|
| 30 doc-all
|
30EOF 31else
| 31EOF 32else
|
32 RELEASE_FLAGS=-DNOPORTS
| 33 RELEASE_FLAGS="-DNOPORTS -DNODOC"
|
33fi 34 35cd $2/usr/src 36make $MAKE_FLAGS buildworld || exit 1 37make installworld distribution DESTDIR=$2 || exit 1 38mount -t devfs devfs $2/dev 39 40if [ ! -z $CVSUP_HOST ]; then 41 cp /etc/resolv.conf $2/etc/resolv.conf
| 34fi 35 36cd $2/usr/src 37make $MAKE_FLAGS buildworld || exit 1 38make installworld distribution DESTDIR=$2 || exit 1 39mount -t devfs devfs $2/dev 40 41if [ ! -z $CVSUP_HOST ]; then 42 cp /etc/resolv.conf $2/etc/resolv.conf
|
42 chroot $2 /usr/bin/csup /ports-supfile || exit 1
| 43 44 # Checkout ports and doc trees 45 #chroot $2 /usr/bin/csup /docports-supfile || exit 1 46 47 # Build ports to build the docs, then build the docs 48 chroot $2 /bin/sh -c 'pkg_add -r docproj || (cd /usr/ports/textproc/docproj && make install clean BATCH=yes WITHOUT_X11=yes JADETEX=no WITHOUT_PYTHON=yes)' || exit 1 49 chroot $2 /bin/sh -c "cd /usr/doc && make $MAKE_FLAGS 'FORMATS=html html-split txt' URLS_ABSOLUTE=YES" || exit 1
|
43fi
| 50fi
|
| 51
|
44chroot $2 /bin/sh -c "cd /usr/src && make $MAKE_FLAGS buildworld buildkernel" || exit 1 45mkdir $2/R 46chroot $2 /bin/sh -c "cd /usr/src/release && MAKEOBJDIR=/R make -f Makefile.bsdinstall release $RELEASE_FLAGS" || exit 1 47
| 52chroot $2 /bin/sh -c "cd /usr/src && make $MAKE_FLAGS buildworld buildkernel" || exit 1 53mkdir $2/R 54chroot $2 /bin/sh -c "cd /usr/src/release && MAKEOBJDIR=/R make -f Makefile.bsdinstall release $RELEASE_FLAGS" || exit 1 55
|