Deleted Added
full compact
generate-release.sh (219508) generate-release.sh (219610)
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