diff options
author | jkh <jkh@FreeBSD.org> | 1997-06-22 09:45:41 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1997-06-22 09:45:41 +0000 |
commit | e1b0f042d8097b0b28e3664cf648bc59c1eb4d6b (patch) | |
tree | 36a4a0d849414378fe6d58d460628caf3cc293dc /release/sysinstall | |
parent | 77d89f55335c4c042462b46609579e3ee8704eb4 (diff) | |
download | FreeBSD-src-e1b0f042d8097b0b28e3664cf648bc59c1eb4d6b.zip FreeBSD-src-e1b0f042d8097b0b28e3664cf648bc59c1eb4d6b.tar.gz |
Adjust my installation script to more closely match reality.
Add a system command to script mechanism (so you can call things like
tzsetup from scripts).
Add noError variable for causing script errors to be ignored.
Diffstat (limited to 'release/sysinstall')
-rw-r--r-- | release/sysinstall/dispatch.c | 19 | ||||
-rw-r--r-- | release/sysinstall/install.cfg | 15 | ||||
-rw-r--r-- | release/sysinstall/sysinstall.h | 3 | ||||
-rw-r--r-- | release/sysinstall/variable_load.c | 12 |
4 files changed, 36 insertions, 13 deletions
diff --git a/release/sysinstall/dispatch.c b/release/sysinstall/dispatch.c index e72303a..8251f9b 100644 --- a/release/sysinstall/dispatch.c +++ b/release/sysinstall/dispatch.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: dispatch.c,v 1.17 1997/06/13 17:55:32 jkh Exp $ + * $Id: dispatch.c,v 1.18 1997/06/21 15:45:08 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -38,6 +38,7 @@ #include <ctype.h> static int _shutdown(dialogMenuItem *unused); +static int _systemExecute(dialogMenuItem *unused); static struct _word { char *name; @@ -102,6 +103,7 @@ static struct _word { { "addGroup", userAddGroup }, { "addUser", userAddUser }, { "shutdown", _shutdown }, + { "system", _systemExecute }, { NULL, NULL }, }; @@ -122,12 +124,25 @@ call_possible_resword(char *name, dialogMenuItem *value, int *status) } /* Just convenience */ -static int _shutdown(dialogMenuItem *unused) +static int +_shutdown(dialogMenuItem *unused) { systemShutdown(0); return DITEM_FAILURE; } +static int +_systemExecute(dialogMenuItem *unused) +{ + char *cmd = variable_get("command"); + + if (cmd) + return systemExecute(cmd) ? DITEM_FAILURE : DITEM_SUCCESS; + else + msgDebug("_systemExecute: No command passed in `command' variable.\n"); + return DITEM_FAILURE; +} + /* For a given string, call it or spit out an undefined command diagnostic */ int dispatchCommand(char *str) diff --git a/release/sysinstall/install.cfg b/release/sysinstall/install.cfg index 4d20af0..696e33c 100644 --- a/release/sysinstall/install.cfg +++ b/release/sysinstall/install.cfg @@ -30,17 +30,20 @@ distSetCustom ################################ ################################ -# Now set the parameters for the partition editor on wd0. Set to use all -# remaining free space (could also be "all" or "existing" to use all the -# disk or an existing FreeBSD slice). +# Now set the parameters for the partition editor on wd0. Set to use the +# disk exclusively (could also be "all" to use the whole disk but +# respecting the MBR or "free" to use only unallocated space for FreeBSD). disk=wd0 -# Use the whole disk. partition=exclusive -# Use only the free space. +diskPartitionEditor + +# Uncomment this instead to use only the free space and install boot manager. #partition=free #bootManager=booteasy -diskPartitionEditor +#diskPartitionEditor +################################ +################################ # It's bogus that we have to re-enter the label editor for each partition # we want to create, but it was easier to do it this way (from a programming # standpoint, not a user standpoint!). This assumes that slice 1 is a DOS diff --git a/release/sysinstall/sysinstall.h b/release/sysinstall/sysinstall.h index a7b26fb..85d984d 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.135 1997/06/18 05:11:37 jkh Exp $ + * $Id: sysinstall.h,v 1.136 1997/06/21 15:45:15 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -135,6 +135,7 @@ #define VAR_NFS_SECURE "nfsSecure" #define VAR_NFS_SERVER "nfs_server_enable" #define VAR_NO_CONFIRM "noConfirm" +#define VAR_NO_ERROR "noError" #define VAR_NO_WARN "noWarn" #define VAR_NONINTERACTIVE "nonInteractive" #define VAR_NOVELL "novell" diff --git a/release/sysinstall/variable_load.c b/release/sysinstall/variable_load.c index 66b9708..16b871c 100644 --- a/release/sysinstall/variable_load.c +++ b/release/sysinstall/variable_load.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated for what's essentially a complete rewrite. * - * $Id: variable_load.c,v 1.7 1997/06/13 07:11:57 jkh Exp $ + * $Id: variable_load.c,v 1.8 1997/06/13 09:37:25 jkh Exp $ * * Copyright (c) 1997 * Paul Traina. All rights reserved. @@ -122,9 +122,13 @@ variableLoad(dialogMenuItem *self) for (i = 0; i < curr; i++) { if (DITEM_STATUS(dispatchCommand(list[i])) != DITEM_SUCCESS) { - msgConfirm("Command `%s' failed - rest of script aborted.\n", buf); - what |= DITEM_FAILURE; - break; + if (variable_get(VAR_NO_ERROR)) + variable_unset(VAR_NO_ERROR); + else { + msgConfirm("Command `%s' failed - rest of script aborted.\n", buf); + what |= DITEM_FAILURE; + break; + } } } strings_free(list, &curr, &max); |