summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>1999-10-15 16:55:01 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>1999-10-15 16:55:01 +0000
commit039a0e93bc9f1406483280f9fc8f05398c46c159 (patch)
treed25f6c7805fc767e95601005ab91ecee8b389e5a
parentbde6e1edda10801e7936d02518b58f27ecd1864b (diff)
o Support separate USA and International versions of libssl
o add support for passing in wildcards to designate what should get pre-selected in the file selector and use it for libssl.
-rw-r--r--distrib/miniroot/install.sh53
-rw-r--r--distrib/miniroot/install.sub26
2 files changed, 51 insertions, 28 deletions
diff --git a/distrib/miniroot/install.sh b/distrib/miniroot/install.sh
index d43b86aa670..b0dcfc7c894 100644
--- a/distrib/miniroot/install.sh
+++ b/distrib/miniroot/install.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# $OpenBSD: install.sh,v 1.67 1999/10/15 15:16:01 deraadt Exp $
+# $OpenBSD: install.sh,v 1.68 1999/10/15 16:55:00 millert Exp $
# $NetBSD: install.sh,v 1.5.2.8 1996/08/27 18:15:05 gwr Exp $
#
# Copyright (c) 1997,1998 Todd Miller, Theo de Raadt
@@ -559,28 +559,19 @@ if [ X"$ssl" != X1 ]; then
echo ""
echo "If you do not install the ssl package now, it is easily installed at"
echo "a later time (see the afterboot(8) and ssl(8) manual pages)."
+ echo -n "Install (U)SA, (I)nternational, or (N)one? [none] "
- echo -n "Install SSL+RSA libraries now via (f)tp, (h)ttp, or (n)ot? [$resp] "
- getresp "$resp"
+ getresp none
case "$resp" in
- f*|F*)
- # configure network if necessary
- test -n "$_ifs" && configurenetwork
-
- THESETS=ssl
- install_url -ftp -reuse
- resp=f
+ u*|U*)
+ THESETS=sslUSA
;;
- h*|H*)
- # configure network if necessary
- test -n "$_ifs" && configurenetwork
-
+ i*|I*)
THESETS=ssl
- install_url -http -reuse
- resp=h
;;
n*|N*)
echo "Not installing SSL+RSA shared libraries."
+ THESETS=
;;
*)
echo "Invalid response: $resp"
@@ -588,6 +579,36 @@ if [ X"$ssl" != X1 ]; then
;;
esac
done
+ if [ X"$THESETS" != X ]; then
+ resp=
+ while [ X"${resp}" = X ]; do
+ echo -n "Install SSL+RSA libraries via (f)tp, (h)ttp, or (c)ancel? [ftp] "
+ getresp ftp
+ case "$resp" in
+ f*|F*)
+ # configure network if necessary
+ test -n "$_ifs" && configurenetwork
+
+ install_url -ftp -reuse -minpat ${THESETS}'[0-9]*'
+ resp=f
+ ;;
+ h*|H*)
+ # configure network if necessary
+ test -n "$_ifs" && configurenetwork
+
+ install_url -http -reuse -minpat ${THESETS}'[0-9]*'
+ resp=h
+ ;;
+ c*|C*)
+ echo "Not installing SSL+RSA shared libraries."
+ ;;
+ *)
+ echo "Invalid response: $resp"
+ resp=
+ ;;
+ esac
+ done
+ fi
echo
fi
diff --git a/distrib/miniroot/install.sub b/distrib/miniroot/install.sub
index 589078c61ce..588f4c615a2 100644
--- a/distrib/miniroot/install.sub
+++ b/distrib/miniroot/install.sub
@@ -1,5 +1,5 @@
#!/bin/sh
-# $OpenBSD: install.sub,v 1.137 1999/10/14 17:29:04 deraadt Exp $
+# $OpenBSD: install.sub,v 1.138 1999/10/15 16:55:00 millert Exp $
# $NetBSD: install.sub,v 1.5.2.8 1996/09/02 23:25:02 pk Exp $
#
# Copyright (c) 1997,1998 Todd Miller, Theo de Raadt
@@ -812,7 +812,7 @@ install_url() {
# _ftp_server_password, and _ftp_active must be global.
local _sets _kernel _f _file_list _get_files _failed_files _osetsdone
-local _url_type _url_base _reuse
+local _url_type _url_base _reuse _minpat
# Parse arguments, shell style
while test $# != 0; do
@@ -820,9 +820,13 @@ while test $# != 0; do
-ftp) _url_type=ftp ;;
-html) _url_type=html ;;
-reuse) _reuse=1 ;;
+ -minpat) shift; _minpat="$1" ;;
esac
shift
done
+if [ X"${_minpat}" = X ]; then
+ _minpat='base*.tar.gz|base*.tgz|man*.tar.gz|man*.tgz|etc*.tar.gz|etc*.tgz|bsd'
+fi
echo
echo "This is an automated ${_url_type}-based installation process. You will be asked"
@@ -1048,16 +1052,15 @@ eval echo "\\\\n"\
"least the base and bsd sets. Consult the installation notes if you are not sure\\\\n"\
"which sets are required!"
_osetsdone="$_setsdone"
-# Set a minimal default
+# Set the minimal default
for _f in $_sets $_kernel; do
- case "$_f" in
- base*.tar.gz|base*.tgz|man*.tar.gz|man*.tgz|etc*.tar.gz|etc*.tgz|bsd)
- if ! isin ${_f} ${_setsdone}; then
- _get_files=`addel ${_f} ${_get_files}`
- _setsdone=`addel ${_f} ${_setsdone}`
- fi
- ;;
- esac
+ eval "case $_f in \
+ ${_minpat}) \
+ if ! isin \${_f} \${_setsdone}; then \
+ _get_files=\`addel \${_f} \${_get_files}\` ; \
+ _setsdone=\`addel \${_f} \${_setsdone}\` ; \
+ fi ;; \
+ esac"
done
# Allow the user to select/de-select additional sets
@@ -1807,7 +1810,6 @@ test -f /sbin/mount_nfs && _have_nfs=true
# Ask the user which media to load the distribution from.
cat << __EOT
-
It is now time to extract the installation sets onto the hard disk. Make sure
the sets are either on a local device (i.e. tape, CD-ROM) or on a network
server. You will have the chance to repeat this step or to extract sets from