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
 
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to