Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Apr 2011 20:42:40 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r220753 - head/usr.sbin/bsdinstall/scripts
Message-ID:  <201104172042.p3HKgems049041@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nwhitehorn
Date: Sun Apr 17 20:42:40 2011
New Revision: 220753
URL: http://svn.freebsd.org/changeset/base/220753

Log:
  Update to reflect net install changes.

Modified:
  head/usr.sbin/bsdinstall/scripts/jail

Modified: head/usr.sbin/bsdinstall/scripts/jail
==============================================================================
--- head/usr.sbin/bsdinstall/scripts/jail	Sun Apr 17 20:01:32 2011	(r220752)
+++ head/usr.sbin/bsdinstall/scripts/jail	Sun Apr 17 20:42:40 2011	(r220753)
@@ -27,28 +27,51 @@
 # $FreeBSD$
 
 echo "Begun Installation at $(date)" > $BSDINSTALL_LOG
-
 export BSDINSTALL_CHROOT=$1
-export DISTRIBUTIONS="kernel.txz base.txz doc.txz games.txz"
-[ `uname -p` = amd64 -o `uname -p` = powerpc64 ] && export DISTRIBUTIONS="$DISTRIBUTIONS lib32.txz"
 
 error() {
 	dialog --backtitle "FreeBSD Installer" --title "Abort" \
 	    --no-label "Exit" --yes-label "Restart" --yesno \
-	    "You have canceled an installation step. Would you like to restart the installation or exit the installer?" 0 0
+	    "An installation step has been aborted. Would you like to restart the installation or exit the installer?" 0 0
 	if [ $? -ne 0 ]; then
 		exit
 	else
-		test -f $PATH_FSTAB && bsdinstall umount
-		exec $0
+		exec $0 $BSDINSTALL_CHROOT
 	fi
 }
 
 
 rm -rf $BSDINSTALL_TMPETC
 mkdir $BSDINSTALL_TMPETC
+mkdir -p $1 || error
+
+test ! -d $BSDINSTALL_DISTDIR && mkdir -p $BSDINSTALL_DISTDIR
 
-trap error SIGINT	# SIGINT is bad
+if [ ! -f $BSDINSTALL_DISTDIR/MANIFEST -a -z "$BSDINSTALL_DISTSITE" ]; then
+	exec 3>&1
+	BSDINSTALL_DISTSITE=`bsdinstall mirrorselect 2>&1 1>&3`
+	MIRROR_BUTTON=$?
+	exec 3>&-
+	test $MIRROR_BUTTON -eq 0 || error
+	export BSDINSTALL_DISTSITE
+	fetch -o $BSDINSTALL_DISTDIR/MANIFEST $BSDINSTALL_DISTSITE/MANIFEST || error
+fi
+
+export DISTRIBUTIONS="base.txz"
+if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then
+	DISTMENU=`cut -f 4,5,6 $BSDINSTALL_DISTDIR/MANIFEST | grep -v -e ^kernel -e ^base`
+
+	exec 3>&1
+	EXTRA_DISTS=$(echo $DISTMENU | xargs dialog \
+	    --backtitle "FreeBSD Installer" \
+	    --title "Distribution Select" --nocancel --separate-output \
+	    --checklist "Choose optional system components to install:" \
+	    0 0 0 \
+	2>&1 1>&3)
+	for dist in $EXTRA_DISTS; do
+		export DISTRIBUTIONS="$DISTRIBUTIONS $dist.txz"
+	done
+fi
 
 FETCH_DISTRIBUTIONS=""
 for dist in $DISTRIBUTIONS; do
@@ -56,19 +79,26 @@ for dist in $DISTRIBUTIONS; do
 		FETCH_DISTRIBUTIONS="$FETCH_DISTRIBUTIONS $dist"
 	fi
 done
+FETCH_DISTRIBUTIONS=`echo $FETCH_DISTRIBUTIONS`	# Trim white space
+
+if [ -n "$FETCH_DISTRIBUTIONS" -a -z "$BSDINSTALL_DISTSITE" ]; then
+	exec 3>&1
+	BSDINSTALL_DISTSITE=`bsdinstall mirrorselect 2>&1 1>&3`
+	MIRROR_BUTTON=$?
+	exec 3>&-
+	test $MIRROR_BUTTON -eq 0 || error
+	export BSDINSTALL_DISTSITE
+fi
 
-if [ ! -z $FETCH_DISTRIBUTIONS ]; then
-	ALL_DISTRIBUTIONS=$DISTRIBUTIONS
-	DISTRIBUTIONS=$FETCH_DISTRIBUTIONS
+if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then
 	bsdinstall distfetch || error
-	DISTRIBUTIONS=$ALL_DISTRIBUTIONS
 fi
 
+bsdinstall checksum || error
 bsdinstall distextract || error
 bsdinstall rootpass || error
 
 trap true SIGINT	# This section is optional
-bsdinstall time
 bsdinstall services
 
 dialog --backtitle "FreeBSD Installer" --title "Add User Accounts" --yesno \
@@ -77,6 +107,8 @@ dialog --backtitle "FreeBSD Installer" -
 
 trap error SIGINT	# SIGINT is bad again
 bsdinstall config  || error
+cp /etc/resolv.conf $1/etc
+cp /etc/localtime $1/etc
 
 echo "Installation Completed at $(date)" >> $BSDINSTALL_LOG
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104172042.p3HKgems049041>