Author: nwhitehorn
Date: Sat Mar 19 23:06:17 2011
New Revision: 219788
URL: http://svn.freebsd.org/changeset/base/219788

Log:
  Add support for checking out ports and doc trees from a CVS repository,
  in addition to CVSUP, and add support for alternate SVN roots for src.
  
  Requested by: jhb

Modified:
  head/release/generate-release.sh

Modified: head/release/generate-release.sh
==============================================================================
--- head/release/generate-release.sh    Sat Mar 19 22:36:59 2011        
(r219787)
+++ head/release/generate-release.sh    Sat Mar 19 23:06:17 2011        
(r219788)
@@ -7,8 +7,12 @@
 #
 # Environment variables:
 #  CVSUP_HOST: Host of a cvsup server to obtain the ports and documentation
-#   trees. Must be set to include ports and documentation.
-#  CVSUP_TAG:  CVS tag for ports and documentation (HEAD by default)
+#   trees. This or CVSROOT must be set to include ports and documentation.
+#  CVSROOT:    CVS root to obtain the ports and documentation trees. This or
+#   CVSUP_HOST must be set to include ports and documentation.
+#  CVS_TAG:    CVS tag for ports and documentation (HEAD by default)
+#  SVNROOT:    SVN URL to FreeBSD source repository (by default, 
+#   svn://svn.freebsd.org/base)
 #  MAKE_FLAGS: optional flags to pass to make (e.g. -j)
 # 
 #  Note: Since this requires a chroot, release cross-builds will not work!
@@ -17,20 +21,22 @@
 #
 
 mkdir -p $2/usr/src
-svn co svn://svn.freebsd.org/base/$1 $2/usr/src || exit 1
+svn co ${SVNROOT:-svn://svn.freebsd.org/base}/$1 $2/usr/src || exit 1
 if [ ! -z $CVSUP_HOST ]; then
        cat > $2/docports-supfile << EOF
        *default host=$CVSUP_HOST
        *default base=/var/db
        *default prefix=/usr
-       *default release=cvs tag=${CVSUP_TAG:-.}
+       *default release=cvs tag=${CVS_TAG:-.}
        *default delete use-rel-suffix
        *default compress
        ports-all
        doc-all
 EOF
-else
-       RELEASE_FLAGS="-DNOPORTS -DNODOC"
+elif [ ! -z $CVSROOT ]; then
+       cd $2/usr
+       cvs -R ${CVSARGS} -d ${CVSROOT} co -P -r ${CVS_TAG:-HEAD} ports || exit 
1
+       cvs -R ${CVSARGS} -d ${CVSROOT} co -P -r ${CVS_TAG:-HEAD} doc || exit 1
 fi
 
 cd $2/usr/src
@@ -43,6 +49,10 @@ if [ ! -z $CVSUP_HOST ]; then 
 
        # Checkout ports and doc trees
        chroot $2 /usr/bin/csup /docports-supfile || exit 1
+fi
+
+if [ -d $2/usr/doc ]; then 
+       cp /etc/resolv.conf $2/etc/resolv.conf
 
        # Build ports to build the docs, then build the docs
        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
@@ -50,7 +60,7 @@ if [ ! -z $CVSUP_HOST ]; then 
 fi
 
 chroot $2 /bin/sh -c "cd /usr/src && make $MAKE_FLAGS buildworld buildkernel" 
|| exit 1
-chroot $2 /bin/sh -c "cd /usr/src/release && make obj release $RELEASE_FLAGS" 
|| exit 1
+chroot $2 /bin/sh -c "cd /usr/src/release && make obj release" || exit 1
 mkdir $2/R
 cp -pRP $2/usr/obj/usr/src/release/release.iso 
$2/usr/obj/usr/src/release/memstick $2/usr/obj/usr/src/release/ftp $2/R
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to