1. Use dynamic sizing code throughout.

2. Add support for *dist menu to have an up-to-date idea of how big each
   distribution is going to be.
This commit is contained in:
Jordan K. Hubbard 1994-11-18 11:01:33 +00:00
parent 30ddff9dfb
commit dcfd4857b6
5 changed files with 53 additions and 33 deletions

View File

@ -13,7 +13,7 @@
# putting your name on top after doing something trivial like reindenting # putting your name on top after doing something trivial like reindenting
# it, just to make it look like you wrote it!). # it, just to make it look like you wrote it!).
# #
# $Id: bininst,v 1.40 1994/11/17 11:53:11 jkh Exp $ # $Id: bininst,v 1.41 1994/11/18 10:05:29 jkh Exp $
if [ "$_BININST_LOADED_" = "yes" ]; then if [ "$_BININST_LOADED_" = "yes" ]; then
echo "Error, $0 loaded more than once!" echo "Error, $0 loaded more than once!"
@ -41,7 +41,7 @@ trap interrupt 1 2 15
# set initial defaults # set initial defaults
set_defaults() { set_defaults() {
set_media_defaults media_set_defaults
installing=1 installing=1
mkdir -p ${TMP} mkdir -p ${TMP}
cp /stand/etc/* /etc cp /stand/etc/* /etc
@ -51,14 +51,14 @@ set_defaults() {
welcome() { welcome() {
dialog --title "Welcome to FreeBSD!" $clear \ dialog --title "Welcome to FreeBSD!" $clear \
--msgbox \ --msgbox \
"We're now ready to install one or more packed distribution "We're now ready to install one or more packed distribution sets onto
sets onto your machine. Installation may be done from tape, your machine. Installation may be done from tape, CDROM, a network
CD, network (NFS or ftp over ethernet, SLIP or parallel port), (NFS or ftp over ethernet, SLIP or parallel port) or DOS (existing
a DOS partition or DOS floppies. If you're installing over hard disk partition or floppies). If you're installing over a network,
the network, make sure your cables are plugged in and ready to make sure your cables are plugged in and ready to go. If you're
go. If you're installing from tape, CD or floppies, now would installing from tape, CD or floppies, now would be a good time to
be a good time to remember where you put the distribution remember where you put the distribution media! :-) If you're set and
media! :-) If you're set up and ready to go, please press return!" 16 72 ready to go, please press return!" -1 -1
} }
do_last_config() do_last_config()

View File

@ -10,7 +10,7 @@
# putting your name on top after doing something trivial like reindenting # putting your name on top after doing something trivial like reindenting
# it, just to make it look like you wrote it!). # it, just to make it look like you wrote it!).
# #
# $Id: instdist.sh,v 1.5 1994/11/17 16:18:35 jkh Exp $ # $Id: instdist.sh,v 1.6 1994/11/18 10:05:44 jkh Exp $
if [ "$_INSTINST_SH_LOADED_" = "yes" ]; then if [ "$_INSTINST_SH_LOADED_" = "yes" ]; then
return 0 return 0
@ -104,7 +104,7 @@ to you or select \"other\" if you'd like to specify your own \n\
choice. Also note that not all sites carry the optional package choice. Also note that not all sites carry the optional package
or XFree86 3.1 distributions! These are only guaranteed to be or XFree86 3.1 distributions! These are only guaranteed to be
available from the primary U.S. ftp site.\n\n" \ available from the primary U.S. ftp site.\n\n" \
"Please select one of the following:" 22 76 8 \ "Please select one of the following:" -1 -1 8 \
"ftp://ftp.freebsd.org/pub/FreeBSD/${DISTNAME}" "Primary U.S. ftp site" \ "ftp://ftp.freebsd.org/pub/FreeBSD/${DISTNAME}" "Primary U.S. ftp site" \
"ftp://ftp.dataplex.net/pub/FreeBSD/${DISTNAME}" "United States" \ "ftp://ftp.dataplex.net/pub/FreeBSD/${DISTNAME}" "United States" \
"ftp://kryten.atinc.com/pub/FreeBSD/${DISTNAME}" "United States" \ "ftp://kryten.atinc.com/pub/FreeBSD/${DISTNAME}" "United States" \
@ -183,7 +183,7 @@ media_install_set()
copying="yes" copying="yes"
while [ "$copying" = "yes" ]; do while [ "$copying" = "yes" ]; do
if dialog --title "Insert distribution diskette" \ if dialog --title "Insert distribution diskette" \
$clear --yesno "Please enter the next diskette and press OK to continue or Cancel if finished" 5 72; then $clear --yesno "Please enter the next diskette and press OK to continue or Cancel if finished" -1 -1; then
if ! mount_msdos ${media_device} ${MNT}; then if ! mount_msdos ${media_device} ${MNT}; then
error "Unable to mount floppy! Please correct." error "Unable to mount floppy! Please correct."
else else
@ -234,12 +234,16 @@ available, you may chose to load one or all of them. Optional \n\
and mandatory distributions are so noted. Please also note that \n\ and mandatory distributions are so noted. Please also note that \n\
the secrdist is NOT FOR EXPORT from the U.S.! Please don't \n\ the secrdist is NOT FOR EXPORT from the U.S.! Please don't \n\
endanger U.S. ftp sites by getting it illegally. Thank you!\n\n" \ endanger U.S. ftp sites by getting it illegally. Thank you!\n\n" \
"Please select one (we'll come back to this menu later):" 20 76 6 \ "Please select one of the following ${DISTNAME} distributions:" -1 -1 10 \
"?diskfree" "Uh, first, how much disk space do I have free?" \ "?diskfree" "Uh, first, how much disk space do I have free?" \
"bindist" "The ${DISTNAME} base distribution (mandatory - 80MB)" \ "bindist" "Binary base files (mandatory - $BINSIZE)" \
"srcdist" "The ${DISTNAME} source distribution (optional - 120MB)" \ "games" "Games and other frivolities (optional - $GAMESIZE)" \
"secrdist" "The ${DISTNAME} DES distribution (optional - 5MB)" \ "manpages" "Manual pages (optional - $MANSIZE)" \
"compat1xdist" "The FreeBSD 1.x binary compatability dist (optional - 2MB)"\ "proflibs" "Profiled libraries (optional - $PROFSIZE)" \
"dict" "Dictionary files for spelling checkers (optional - $DICTSIZE)" \
"srcdist" "Full sources for everything but DES (optional - $SRCSIZE)" \
"secrdist" "DES encryption code (and sources) (optional - $SECRSIZE)" \
"compat1xdist" "FreeBSD 1.x binary compatability (optional - $COMPATSIZE)" \
"packages" "The ${DISTNAME} optional software distribution (user choice)" \ "packages" "The ${DISTNAME} optional software distribution (user choice)" \
2> ${TMP}/menu.tmp.$$ 2> ${TMP}/menu.tmp.$$
retval=$? retval=$?
@ -285,7 +289,7 @@ one of the following options. If none of the listed options works \n\
for you then your best bet may be to simply hit ESC twice to get \n\ for you then your best bet may be to simply hit ESC twice to get \n\
a subshell and proceed manually on your own. If you are already \n\ a subshell and proceed manually on your own. If you are already \n\
finished with installation, select cancel to go on.\n\n\ finished with installation, select cancel to go on.\n\n\
Please choose one of the following:" 20 72 7 \ Please choose one of the following:" -1 -1 7 \
"?Kern" "Please show me the kernel boot messages again!" \ "?Kern" "Please show me the kernel boot messages again!" \
"Tape" "Load distribution from SCSI, QIC or floppy tape" \ "Tape" "Load distribution from SCSI, QIC or floppy tape" \
"CDROM" "Load distribution from SCSI or Mitsumi CDROM" \ "CDROM" "Load distribution from SCSI or Mitsumi CDROM" \
@ -313,7 +317,7 @@ finished with installation, select cancel to go on.\n\n\
dialog $clear --title "Chose Tape Type" \ dialog $clear --title "Chose Tape Type" \
--menu "Which type of tape drive do you have attached to your \n\ --menu "Which type of tape drive do you have attached to your \n\
system? FreeBSD supports the following types:\n\n\ system? FreeBSD supports the following types:\n\n\
Choose one of the following:" 20 72 3 \ Choose one of the following:" -1 -1 3 \
"SCSI" "SCSI tape drive attached to supported SCSI controller" \ "SCSI" "SCSI tape drive attached to supported SCSI controller" \
"QIC" "QIC tape drive (Colorado Jumbo, etc)" \ "QIC" "QIC tape drive (Colorado Jumbo, etc)" \
"floppy" "Floppy tape drive" \ "floppy" "Floppy tape drive" \
@ -340,7 +344,7 @@ system? FreeBSD supports the following types:\n\n\
dialog $clear --title "Chose CDROM Type" \ dialog $clear --title "Chose CDROM Type" \
--menu "Which type of CDROM drive do you have attached to your \n\ --menu "Which type of CDROM drive do you have attached to your \n\
system? FreeBSD supports the following types:\n\n\ system? FreeBSD supports the following types:\n\n\
Choose one of the following:" 15 72 2 \ Choose one of the following:" -1 -1 2 \
"SCSI" "SCSI CDROM drive attached to supported SCSI controller" \ "SCSI" "SCSI CDROM drive attached to supported SCSI controller" \
"Mitsumi" "Mitsumi CDROM drive" \ "Mitsumi" "Mitsumi CDROM drive" \
2> ${TMP}/menu.tmp.$$ 2> ${TMP}/menu.tmp.$$
@ -433,7 +437,7 @@ Options, if any, should be separated by commas."; then
dialog $clear --title "User Intervention Requested" --msgbox " dialog $clear --title "User Intervention Requested" --msgbox "
Please mount the filesystem you wish to use somewhere convenient and Please mount the filesystem you wish to use somewhere convenient and
exit the shell when you're through. I'll ask you for the location exit the shell when you're through. I'll ask you for the location
of the distribution when we come back." 12 72 of the distribution when we come back." -1 -1
dialog --clear dialog --clear
/stand/sh /stand/sh
title="Please enter directory" title="Please enter directory"

View File

@ -10,7 +10,7 @@
# putting your name on top after doing something trivial like reindenting # putting your name on top after doing something trivial like reindenting
# it, just to make it look like you wrote it!). # it, just to make it look like you wrote it!).
# #
# $Id: miscfuncs.sh,v 1.1 1994/11/16 07:51:43 jkh Exp $ # $Id: miscfuncs.sh,v 1.2 1994/11/17 11:53:14 jkh Exp $
if [ "$_MISCFUNCS_SH_LOADED_" = "yes" ]; then if [ "$_MISCFUNCS_SH_LOADED_" = "yes" ]; then
return 0 return 0
@ -20,8 +20,24 @@ fi
PATH=/usr/bin:/usr/sbin:/bin:/sbin:/stand PATH=/usr/bin:/usr/sbin:/bin:/sbin:/stand
export PATH export PATH
# Keep this current with the distribution!
DISTNAME=2.0-ALPHA DISTNAME=2.0-ALPHA
# Flagrant guesses for now. These need to be hand-edited or, much better yet,
# automatically done as part of the release process. When that's the case,
# the hardwired constants will be replaced with tokens that get sed'd for
# the real sizes.
#
BINSIZE="60MB"
GAMESIZE="8MB"
MANSIZE="8MB"
PROFSIZE="4MB"
DICTSIZE="2MB"
SRCSIZE="120MB"
SECRSIZE="4MB"
COMPATSIZE="3MB"
interrupt() { interrupt() {
if dialog --clear --title "User Interrupt Requested" \ if dialog --clear --title "User Interrupt Requested" \
--yesno "Do you wish to abort the installation?" -1 -1; then --yesno "Do you wish to abort the installation?" -1 -1; then
@ -52,7 +68,7 @@ confirm() {
# A simple message box dialog. # A simple message box dialog.
message() { message() {
dialog --title "Progress" --infobox "$*" 5 72 dialog --title "Progress" --infobox "$*" -1 -1
} }
# A simple error dialog. # A simple error dialog.
@ -65,7 +81,7 @@ not_supported() {
dialog --title "Sorry!" \ dialog --title "Sorry!" \
--msgbox "This feature is not supported in the current version of the \ --msgbox "This feature is not supported in the current version of the \
installation tools. Barring some sort of fatal accident, we do \ installation tools. Barring some sort of fatal accident, we do \
expect it to be in the release. Please press RETURN to go on." 10 60 expect it to be in the release. Please press RETURN to go on." -1 -1
} }
# Get a string from the user # Get a string from the user

View File

@ -18,7 +18,7 @@ cat > extract.sh << DO_THE_FUNKY_CHICKEN
# Don't edit me - I'm auto-generated by mkextract.sh! # Don't edit me - I'm auto-generated by mkextract.sh!
# #
if [ ! -f /usr/bin/tar ]; then if [ ! -f /usr/bin/tar ]; then
dialog --title "Error!" --msgbox "You must install the bindist before this distribution!" 6 72 dialog --title "Error!" --msgbox "You must install the bindist before this distribution!" -1 -1
exit 0 exit 0
fi fi
@ -36,13 +36,13 @@ Comments on the XFree86 distribution to David Dawes
Comments on this install to Jordan Hubbard Comments on this install to Jordan Hubbard
<jkh@FreeBSD.org> <jkh@FreeBSD.org>
Thanks!" 18 72 Thanks!" -1 -1
dialog --title "Read This First" --textbox README.FreeBSD 22 76 dialog --title "Read This First" --textbox README.FreeBSD 22 76
DO_THE_FUNKY_CHICKEN DO_THE_FUNKY_CHICKEN
for i in $TARGETS; do for i in $TARGETS; do
abbrevname=`echo $i | sed -e 's/XFree86-3.1-//' -e 's/.tar.gz//'` abbrevname=`echo $i | sed -e 's/XFree86-3.1-//' -e 's/.tar.gz//'`
echo "if dialog --title \"Install Request\" --yesno \"Do you wish to install the ${abbrevname} distribution?\" 6 72; then dialog --title \"Progress\" --infobox \"Installing $i\" 6 72; tar --unlink -xzf $i -C /usr; fi" >> extract.sh echo "if dialog --title \"Install Request\" --yesno \"Do you wish to install the ${abbrevname} distribution?\" -1 -1; then dialog --title \"Progress\" --infobox \"Installing $i\" -1 -1; tar --unlink -xzf $i -C /usr; fi" >> extract.sh
done done
cat >> extract.sh << OH_YEAH_BABY_GET_DOWN cat >> extract.sh << OH_YEAH_BABY_GET_DOWN
@ -53,7 +53,7 @@ Now would probably be a very good time to look in ${BASEDIR}/lib/X11/doc
for further information on what to do next. XFree86 3.1 is now for further information on what to do next. XFree86 3.1 is now
installed in the ${BASEDIR} directory, unlike installed in the ${BASEDIR} directory, unlike
earlier releases. For backwards compatibility, you might consider earlier releases. For backwards compatibility, you might consider
a symlink to /usr/X386." 10 76 a symlink to /usr/X386." -1 -1
OH_YEAH_BABY_GET_DOWN OH_YEAH_BABY_GET_DOWN
chmod 755 extract.sh chmod 755 extract.sh

View File

@ -10,7 +10,7 @@
# putting your name on top after doing something trivial like reindenting # putting your name on top after doing something trivial like reindenting
# it, just to make it look like you wrote it!). # it, just to make it look like you wrote it!).
# #
# $Id: netinst.sh,v 1.3 1994/11/18 10:05:47 jkh Exp $ # $Id: netinst.sh,v 1.4 1994/11/18 10:19:04 jkh Exp $
if [ "$_NETINST_SH_LOADED_" = "yes" ]; then if [ "$_NETINST_SH_LOADED_" = "yes" ]; then
return 0 return 0
@ -30,7 +30,7 @@ network_setup_ether()
{ {
dialog $clear --title "Ethernet Interface Name" \ dialog $clear --title "Ethernet Interface Name" \
--menu "Please select the type of ethernet interface you have:\n\n" \ --menu "Please select the type of ethernet interface you have:\n\n" \
20 76 7 \ -1 -1 7 \
"ed0" "WD80x3, SMC, Novell NE[21]000 or 3C503 generic NIC at 0x280" \ "ed0" "WD80x3, SMC, Novell NE[21]000 or 3C503 generic NIC at 0x280" \
"ed1" "Same as above, but at address 0x300 and IRQ 5" \ "ed1" "Same as above, but at address 0x300 and IRQ 5" \
"ep0" "3COM 3C509 at address 0x300 and IRQ 10" \ "ep0" "3COM 3C509 at address 0x300 and IRQ 10" \
@ -89,10 +89,10 @@ network_setup()
clear="--clear" clear="--clear"
dialog $clear --title "Set up network interface" \ dialog $clear --title "Set up network interface" \
--menu "Please select the type of network connection you have:\n\n" \ --menu "Please select the type of network connection you have:\n\n" \
15 72 3 \ -1 -1 3 \
"ether" "A supported ethernet card" \ "ether" "A supported ethernet card" \
"SLIP" "A point-to-point SLIP (Serial Line IP) connection" \ "SLIP" "A point-to-point SLIP (Serial Line IP) connection" \
"PLIP" "A Parallel-Line IP setup (sort of like lap-link)" \ "PLIP" "A Parallel-Line IP setup (with standard laplink cable)" \
2> ${TMP}/menu.tmp.$$ 2> ${TMP}/menu.tmp.$$
retval=$? retval=$?