diff options
author | Jordan K. Hubbard <jkh@FreeBSD.org> | 1996-07-16 17:34:39 +0000 |
---|---|---|
committer | Jordan K. Hubbard <jkh@FreeBSD.org> | 1996-07-16 17:34:39 +0000 |
commit | 231387f437082b3b9a62189d7077e9d86b22243d (patch) | |
tree | 6d19a5415038fe5b32013460bc316d4864464dde | |
parent | d37ec9d43f5e34e52e57d709ef751e4304316b80 (diff) |
Notes
-rw-r--r-- | release/sysinstall/cdrom.c | 6 | ||||
-rw-r--r-- | release/sysinstall/config.c | 130 | ||||
-rw-r--r-- | release/sysinstall/help/readme.hlp | 16 | ||||
-rw-r--r-- | release/sysinstall/help/relnotes.hlp | 18 | ||||
-rw-r--r-- | release/sysinstall/install.c | 17 | ||||
-rw-r--r-- | release/sysinstall/menus.c | 4 | ||||
-rw-r--r-- | release/sysinstall/sysinstall.h | 7 |
7 files changed, 112 insertions, 86 deletions
diff --git a/release/sysinstall/cdrom.c b/release/sysinstall/cdrom.c index d9a19156afd3..aa17fdc87d19 100644 --- a/release/sysinstall/cdrom.c +++ b/release/sysinstall/cdrom.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: cdrom.c,v 1.20 1996/07/13 05:48:44 jkh Exp $ + * $Id: cdrom.c,v 1.7.2.25 1996/07/13 05:52:02 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -51,10 +51,6 @@ #include <sys/mount.h> #undef CD9660 -#define CD_UNMOUNTED 0 -#define CD_ALREADY_MOUNTED 1 -#define CD_WE_MOUNTED_IT 2 - /* * This isn't static, like the others, since it's often useful to know whether * or not we have a CDROM available in some of the other installation screens. diff --git a/release/sysinstall/config.c b/release/sysinstall/config.c index 5c765927ae2d..47a7f82e0abc 100644 --- a/release/sysinstall/config.c +++ b/release/sysinstall/config.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: config.c,v 1.16.2.57 1996/07/05 08:43:59 jkh Exp $ + * $Id: config.c,v 1.16.2.58 1996/07/08 09:07:08 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -48,6 +48,8 @@ static Chunk *chunk_list[MAX_CHUNKS]; static int nchunks; +extern int cdromMounted; + /* arg to sort */ static int chunk_compare(Chunk *c1, Chunk *c2) @@ -507,62 +509,94 @@ int configPorts(dialogMenuItem *self) { char *cp, *dist = NULL; /* Shut up compiler */ + int status = DITEM_SUCCESS, tries = 0; dialog_clear(); if (!variable_get(VAR_PORTS_PATH)) variable_set2(VAR_PORTS_PATH, dist = "/cdrom/ports"); + dialog_clear(); while (!directory_exists(dist)) { - dist = variable_get_value(VAR_PORTS_PATH, - "Unable to locate a ports tree on CDROM. Please specify the\n" - "location of the master ports directory you wish to create the\n" - "link tree to."); - if (!dist) - break; + if (++tries > 2) { + msgConfirm("You appear to be having some problems with your CD drive\n" + "or perhaps cannot find the second CD. This step will now\n" + "therefore be skipped."); + status = DITEM_FAILURE; + goto fixup; + } + + /* Even if we're running multi-user, unmount it for this case */ + cdromMounted = CD_WE_MOUNTED_IT; + mediaDevice->shutdown(mediaDevice); + + msgConfirm("The ports collection is now on the second CDROM due to\n" + "space constraints. Please remove the first CD from the\n" + "drive at this time and insert the second CDROM. You will\n" + "also need to have the second CDROM in your drive any time\n" + "you wish to use the ports collection. When you're ready,\n" + "please press [ENTER]."); + if (!mediaDevice->init(mediaDevice)) { + msgConfirm("Mount failed - either the CDROM isn't in the drive or\n" + "you did not allow sufficient time for the drive to become\n" + "ready before pressing [ENTER]. Please try again."); + } } - if (dist) { - cp = msgGetInput("/usr/ports", - "Where would you like to create the link tree?\n" - "(press [ENTER] for default location). The link tree should\n" - "reside in a directory with as much free space as possible,\n" - "as you'll need space to compile any ports."); - if (!cp || !*cp) - return DITEM_FAILURE; - if (Mkdir(cp)) - return DITEM_FAILURE; + + cp = msgGetInput("/usr/ports", + "Where would you like to create the link tree?\n" + "(press [ENTER] for default location). The link tree should\n" + "reside in a directory with as much free space as possible,\n" + "as you'll need space to compile any ports."); + if (!cp || !*cp) { + status = DITEM_FAILURE; + goto fixup; + } + if (Mkdir(cp)) { + status = DITEM_FAILURE; + goto fixup; + } + if (strcmp(cp, "/usr/ports")) { + unlink("/usr/ports"); + if (symlink(cp, "/usr/ports") == -1) { + msgConfirm("Unable to create a symlink from /usr/ports to %s!\n" + "I can't continue, sorry!", cp); + status = DITEM_FAILURE; + goto fixup; + } else { - if (strcmp(cp, "/usr/ports")) { - unlink("/usr/ports"); - if (symlink(cp, "/usr/ports") == -1) { - msgConfirm("Unable to create a symlink from /usr/ports to %s!\n" - "I can't continue, sorry!", cp); - return DITEM_FAILURE; - } - else { - msgConfirm("NOTE: This directory is also now symlinked to /usr/ports\n" - "which, for a variety of reasons, is the directory the ports\n" - "framework expects to find its files in. You should refer to\n" - "/usr/ports instead of %s directly when you're working in the\n" - "ports collection.", cp); - } - } - msgNotify("Making a link tree from %s to %s.", dist, cp); - if (DITEM_STATUS(lndir(dist, cp)) != DITEM_SUCCESS) { - msgConfirm("The lndir function returned an error status and may not have.\n" - "successfully generated the link tree. You may wish to inspect\n" - "the /usr/ports directory carefully for any missing link files."); - } - else { - msgConfirm("The /usr/ports directory is now ready to use. When the system comes\n" - "up fully, you can cd to this directory and type `make' in any sub-\n" - "directory for which you'd like to compile a port. You can also\n" - "cd to /usr/ports and type `make print-index' for a complete list of all\n" - "ports in the hierarchy."); - } + msgConfirm("NOTE: This directory is also now symlinked to /usr/ports\n" + "which, for a variety of reasons, is the directory the ports\n" + "framework expects to find its files in. You should refer to\n" + "/usr/ports instead of %s directly when you're working in the\n" + "ports collection.", cp); } } - else - return DITEM_FAILURE; - return DITEM_SUCCESS; + msgNotify("Making a link tree from %s to %s.", dist, cp); + if (DITEM_STATUS(lndir(dist, cp)) != DITEM_SUCCESS) { + msgConfirm("The lndir function returned an error status and may not have.\n" + "successfully generated the link tree. You may wish to inspect\n" + "the /usr/ports directory carefully for any missing link files."); + } + else { + msgConfirm("The /usr/ports directory is now ready to use. When the system comes\n" + "up fully, you can cd to this directory and type `make' in any sub-\n" + "directory for which you'd like to compile a port. You can also\n" + "cd to /usr/ports and type `make print-index' for a complete list of all\n" + "ports in the hierarchy."); + } +fixup: + tries = 0; + while (++tries < 3) { + mediaDevice->shutdown(mediaDevice); + msgConfirm("Done with the second CD. Please remove it and reinsert the first\n" + "CDROM now. It may be required for subsequence installation steps.\n\n" + "When you've done so, please press [ENTER]."); + if (!mediaDevice->init(mediaDevice)) { + msgConfirm("Mount failed - either the CDROM isn't in the drive or\n" + "you did not allow sufficient time for the drive to become\n" + "ready before pressing [ENTER]. Please try again."); + } + } + return status | DITEM_RESTORE; } /* Load gated package */ diff --git a/release/sysinstall/help/readme.hlp b/release/sysinstall/help/readme.hlp index 64837f140e1e..a254e06d2513 100644 --- a/release/sysinstall/help/readme.hlp +++ b/release/sysinstall/help/readme.hlp @@ -18,20 +18,20 @@ notes below for more information. | | ______( (_ / \______/ ,' ,-----' | `--{__________) - - + + What is FreeBSD? FreeBSD is an operating system based on 4.4 BSD Lite for Intel, AMD, Cyrix or NexGen "x86" based PC hardware. It works with a very wide variety of PC peripherals and configurations and can be used for everything from software development to Internet Service -Provision. - +Provision. + This release of FreeBSD contains everything you need to run such a system, including full source code for everything. With the source distribution installed you can literally recompile the entire system from scratch with one command, making it ideal for students, researchers or folks who simply want to see how it all works. - + A large collection of 3rd party ported software (the "ports collection") is also provided to make it easier for you to obtain and install all your favorite traditional UNIX utilities for FreeBSD. @@ -39,13 +39,13 @@ Over 450 ports, from editors to programming languages to graphical applications, make FreeBSD a powerful and comprehensive operating environment that extends far beyond what's provided by many commercial versions of UNIX. - - + + For more documentation on this system it is recommended that you purchase the 4.4BSD Document Set from O'Reilly Associates and the USENIX Association, ISBN 1-56592-082-1. We have no connection with O'Reilly, we're just satisfied customers! - + If you're new to FreeBSD then you should also read EVERYTHING listed in the Documentation menu on the boot floppy. It may seem like a lot to read, but you should at least aquaint yourself with the types of diff --git a/release/sysinstall/help/relnotes.hlp b/release/sysinstall/help/relnotes.hlp index 514897ac6c59..00f582cecf72 100644 --- a/release/sysinstall/help/relnotes.hlp +++ b/release/sysinstall/help/relnotes.hlp @@ -455,28 +455,28 @@ The FreeBSD Development Team, excluding core team members Stefan Esser <se@FreeBSD.org> Bill Fenner <fenner@FreeBSD.org> John Fieber <jfieber@FreeBSD.org> - Marc G. Fournier <scrappy@FreeBSD.org> + Marc G. Fournier <scrappy@FreeBSD.org> Lars Fredriksen <lars@freeBSD.org> Thomas Gellekum <tg@FreeBSD.org> Thomas Graichen <graichen@FreeBSD.org> Rod Grimes <rgrimes@FreeBSD.org> - John Hay <jhay@FreeBSD.org> + John Hay <jhay@FreeBSD.org> Eric L. Hernes <erich@FreeBSD.org> Jeffrey Hsu <hsu@FreeBSD.org> Gary Jennejohn <gj@FreeBSD.org> - Andreas Klemm <andreas@FreeBSD.org> + Andreas Klemm <andreas@FreeBSD.org> L Jonas Olsson <ljo@FreeBSD.org> Scott Mace <smace@FreeBSD.org> Atsushi Murai <amurai@FreeBSD.org> Mark Murray <markm@FreeBSD.org> - Alex Nash <alex@FreeBSD.org> - Sujal Patel <smpatel@FreeBSD.org> + Alex Nash <alex@FreeBSD.org> + Sujal Patel <smpatel@FreeBSD.org> Bill Paul <wpaul@FreeBSD.org> Joshua Peck Macdonald <jmacd@FreeBSD.org> John Polstra <jdp@FreeBSD.org> Mike Pritchard <mpp@FreeBSD.org> Doug Rabson <dfr@FreeBSD.org> - James Raynard <jraynard@FreeBSD.org> + James Raynard <jraynard@FreeBSD.org> Geoff Rehmet <csgr@FreeBSD.org> Martin Renters <martin@FreeBSD.org> Paul Richards <paul@FreeBSD.org> @@ -495,8 +495,8 @@ The FreeBSD Development Team, excluding core team members Additional FreeBSD helpers and beta testers: Coranth Gryphon Dave Rivers - Kaleb S. Keithley Michael Smith - Terry Lambert David Dawes + Kaleb S. Keithley Michael Smith + Terry Lambert David Dawes Troy Curtis @@ -526,5 +526,5 @@ We sincerely hope you enjoy this release of FreeBSD! The FreeBSD Core Team -$Id: relnotes.hlp,v 1.1.2.23 1996/07/05 10:35:39 jkh Exp $ +$Id: relnotes.hlp,v 1.1.2.24 1996/07/12 11:41:44 jkh Exp $ LocalWords: Adaptec diff --git a/release/sysinstall/install.c b/release/sysinstall/install.c index 3ccb42a0eba7..1d36eb8453fc 100644 --- a/release/sysinstall/install.c +++ b/release/sysinstall/install.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: install.c,v 1.114 1996/07/13 05:13:25 jkh Exp $ + * $Id: install.c,v 1.71.2.103 1996/07/13 05:14:52 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -372,18 +372,9 @@ installNovice(dialogMenuItem *self) } if (!mediaDevice) { - dialog_clear(); - /* Try to set ourselves up as a CDROM if we can do that first */ - if (DITEM_STATUS(mediaSetCDROM(NULL)) == DITEM_SUCCESS) { - /* If we can't initialize it, it's probably not a FreeBSD CDROM so punt on it */ - if (!mediaDevice->init(mediaDevice)) - mediaDevice = NULL; - } - if (!mediaDevice) { - msgConfirm("Finally, you must specify an installation medium."); - if (!dmenuOpenSimple(&MenuMedia, FALSE) || !mediaDevice) - return DITEM_FAILURE | DITEM_RECREATE; - } + msgConfirm("Finally, you must specify an installation medium."); + if (!dmenuOpenSimple(&MenuMedia, FALSE) || !mediaDevice) + return DITEM_FAILURE | DITEM_RECREATE; } if (DITEM_STATUS((i = installCommit(self))) == DITEM_FAILURE) { diff --git a/release/sysinstall/menus.c b/release/sysinstall/menus.c index 4e472196a2d5..44fa4454a1b9 100644 --- a/release/sysinstall/menus.c +++ b/release/sysinstall/menus.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: menus.c,v 1.42.2.61 1996/07/10 09:43:33 jkh Exp $ + * $Id: menus.c,v 1.42.2.62 1996/07/11 20:06:57 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -1007,7 +1007,7 @@ software not provided in the base distributions.", NULL, optionsEditor }, { "8 Packages", "Install pre-packaged software for FreeBSD", NULL, configPackages }, - { "9 Ports", "Link to FreeBSD Ports Collection on CD/NFS", + { "9 Ports", "Link to FreeBSD Ports Collection on CD", NULL, configPorts }, { "A Root Password", "Set the system manager's password", NULL, dmenuSystemCommand, NULL, "passwd root" }, diff --git a/release/sysinstall/sysinstall.h b/release/sysinstall/sysinstall.h index 132b16273deb..bb0aac58b00e 100644 --- a/release/sysinstall/sysinstall.h +++ b/release/sysinstall/sysinstall.h @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated to essentially a complete rewrite. * - * $Id: sysinstall.h,v 1.74 1996/07/09 14:28:22 jkh Exp $ + * $Id: sysinstall.h,v 1.42.2.65 1996/07/09 14:37:03 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -191,6 +191,11 @@ typedef enum { DEVICE_TYPE_ANY, } DeviceType; +/* CDROM mount codes */ +#define CD_UNMOUNTED 0 +#define CD_ALREADY_MOUNTED 1 +#define CD_WE_MOUNTED_IT 2 + /* A "device" from sysinstall's point of view */ typedef struct _device { char name[DEV_NAME_MAX]; |