summaryrefslogtreecommitdiff
path: root/distrib/miniroot/install.sub
diff options
context:
space:
mode:
Diffstat (limited to 'distrib/miniroot/install.sub')
-rw-r--r--distrib/miniroot/install.sub77
1 files changed, 25 insertions, 52 deletions
diff --git a/distrib/miniroot/install.sub b/distrib/miniroot/install.sub
index 3e2fdd6e1d4..a1c95b575f2 100644
--- a/distrib/miniroot/install.sub
+++ b/distrib/miniroot/install.sub
@@ -1,4 +1,4 @@
-# $OpenBSD: install.sub,v 1.236 2002/06/29 20:01:34 krw Exp $
+# $OpenBSD: install.sub,v 1.237 2002/07/04 16:01:21 krw Exp $
# $NetBSD: install.sub,v 1.5.2.8 1996/09/02 23:25:02 pk Exp $
#
# Copyright (c) 1997-2002 Todd Miller, Theo de Raadt, Ken Westerback
@@ -838,7 +838,7 @@ get_selection() {
local _next=done _f _sets=$1
for _f in $_sets ; do
- if isin $_f $_setsdone ; then
+ if isin $_f $_get_files ; then
echo -n " [X] "
else
echo -n " [ ] "
@@ -859,7 +859,7 @@ get_selection() {
}
# Do globbing on the selection and parse +/-, sets the global
-# _get_files and _setsdone appropriately.
+# _get_files appropriately.
glob_selection() {
local _selection=$1 _src=$2 _sets=$3
local _action _nomatch _f
@@ -883,7 +883,6 @@ glob_selection() {
eval "case $_f in
$_selection)
_get_files=\`$_action $_f \$_get_files\`
- _setsdone=\`$_action $_f \$_setsdone\`
_nomatch=false
;;
esac"
@@ -986,13 +985,11 @@ __EOT
}
# Set global _get_files to the list of sets requested by the user
-# from $1. Add this list to _setsdone after saving current value
-# of _setsdone.
+# from $1.
get_get_files_list () {
local _src=$1
_get_files=
- _osetsdone=$_setsdone
# Set the default list of files
for _f in $_sets ; do
@@ -1001,7 +998,6 @@ get_get_files_list () {
base*|bsd|comp*|etc*|game*|man*|misc*)
if ! isin ${_f} ${_setsdone}; then
_get_files=`addel ${_f} ${_get_files}`
- _setsdone=`addel ${_f} ${_setsdone}`
fi
;;
esac
@@ -1023,54 +1019,32 @@ get_get_files_list () {
}
# Install the list of files in the global _get_files from the source
-# in $1, aka $2. For mounted file system installs $1==file:$2. For URL
-# installs $1 == $_url_base and $2 == $1 w/o passwords, etc.
+# named in $1. Display an error message for failed installs so the
+# user will know to try again.
install_get_files_list () {
- local _f _failed_files _src=$1 _public_src=$2
+ local _f _src=$1
ask "Ready to ${MODE} sets?" y
- case $resp in
- y*|Y*) ;;
- *) _setsdone=$_osetsdone
- return
- ;;
+ case $resp in
+ n*|N*) return ;;
esac
- # Install/Upgrade the sets one at a time. Keep track of which
- # ones fail.
- while [ "$_get_files" ] ; do
- _failed_files=
- echo
- for _f in $_get_files ; do
- echo "Getting ${_f} ..."
- case $_f in
- *.tar.gz|*.tgz)
- ftp ${_ftp_active} -o - -V -m "${_src}/${_f}" | tar zxpf - -C /mnt
- ;;
- *)
- ftp ${_ftp_active} -o "/mnt/${_f}" -V -m "${_src}/${_f}"
- ;;
- esac
- if [ $? -ne 0 ]; then
- # Mark xfer as having failed,.
- _setsdone=`rmel $_f $_setsdone`
- _failed_files="${_failed_files} ${_f}"
- fi
- done
-
- # Offer the option of re-fetching failed files.
- _get_files=
- while [ "$_failed_files" ] ; do
- display_failure_msg
-
- get_selection "$_failed_files"
-
- if [ "$resp" = "done" ]; then
- break
- fi
-
- glob_selection "$resp" "$_public_src" "$_failed_files"
- done
+ echo
+ for _f in $_get_files ; do
+ echo "Getting ${_f} ..."
+ case $_f in
+ *.tar.gz|*.tgz)
+ ftp ${_ftp_active} -o - -V -m "${_src}/${_f}" | tar zxpf - -C /mnt
+ ;;
+ *)
+ ftp ${_ftp_active} -o "/mnt/${_f}" -V -m "${_src}/${_f}"
+ ;;
+ esac
+ if [ $? -ne 0 ]; then
+ echo "'${_f}' did not install correctly."
+ else
+ _setsdone=`addel ${_f} ${_setsdone}`
+ fi
done
}
@@ -2180,7 +2154,6 @@ THESETS="base etc misc comp man game xbase xshare xfont xserv site $MDSETS"
local_sets_dir=
_sets=
_setsdone=
-_osetsdone=
_get_files=
# decide upon an editor