Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Jan 2011 05:49:03 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r217258 - in user/nwhitehorn/bsdinstall: . scripts
Message-ID:  <201101110549.p0B5n3OS008146@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nwhitehorn
Date: Tue Jan 11 05:49:03 2011
New Revision: 217258
URL: http://svn.freebsd.org/changeset/base/217258

Log:
  Provide a little bit friendlier error handling. Instead of just blocking
  SIGINT, catch it and provide an error message in critical steps. In
  skippable steps, allow the user to skip them cleanly by application of
  cntrl-C.

Modified:
  user/nwhitehorn/bsdinstall/rc.local
  user/nwhitehorn/bsdinstall/scripts/auto

Modified: user/nwhitehorn/bsdinstall/rc.local
==============================================================================
--- user/nwhitehorn/bsdinstall/rc.local	Tue Jan 11 05:22:31 2011	(r217257)
+++ user/nwhitehorn/bsdinstall/rc.local	Tue Jan 11 05:49:03 2011	(r217258)
@@ -14,7 +14,7 @@ cdialog --backtitle "FreeBSD Installer" 
 case $? in
 $DIALOG_OK)	# Install
 	BSDINSTALL_CONFIGCURRENT=yes; export BSDINSTALL_CONFIGCURRENT
-	trap "" SIGINT	# Ignore cntrl-C here
+	trap true SIGINT	# Ignore cntrl-C here
 	bsdinstall
 	reboot
 	;;

Modified: user/nwhitehorn/bsdinstall/scripts/auto
==============================================================================
--- user/nwhitehorn/bsdinstall/scripts/auto	Tue Jan 11 05:22:31 2011	(r217257)
+++ user/nwhitehorn/bsdinstall/scripts/auto	Tue Jan 11 05:49:03 2011	(r217258)
@@ -2,8 +2,6 @@
 
 echo "Begun Installation at $(date)" > $BSDINSTALL_LOG
 
-trap "" SIGINT	# Ignore cntrl-C here
-
 error() {
 	cdialog --backtitle "FreeBSD Installer" --title "Abort" \
 	    --no-label "Exit" --yes-label "Restart" --yesno \
@@ -15,6 +13,8 @@ error() {
 	fi
 }
 
+trap error SIGINT	# Catch cntrl-C here
+
 rm -rf $BSDINSTALL_TMPETC
 mkdir $BSDINSTALL_TMPETC
 bsdinstall hostname || error
@@ -44,13 +44,17 @@ if [ ! -z $FETCH_DISTRIBUTIONS ]; then
 fi
 
 bsdinstall distextract || error
-bsdinstall rootpass
+bsdinstall rootpass || error
+
+trap true SIGINT	# This section is optional
 if [ "$NETCONFIG_DONE" != yes ]; then
 	bsdinstall netconfig	# Don't check for errors -- the user may cancel
 fi
 bsdinstall time
 bsdinstall services
 bsdinstall adduser
+
+trap error SIGINT	# SIGINT is bad again
 bsdinstall config  || error
 
 cdialog --backtitle "FreeBSD Installer" --title "Complete" --msgbox "Installation of FreeBSD complete!" 0 0



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