diff options
Diffstat (limited to 'usr.sbin/sade')
-rw-r--r-- | usr.sbin/sade/Makefile | 14 | ||||
-rw-r--r-- | usr.sbin/sade/install.c | 18 | ||||
-rw-r--r-- | usr.sbin/sade/menus.c | 4 | ||||
-rw-r--r-- | usr.sbin/sade/sade.h | 75 | ||||
-rw-r--r-- | usr.sbin/sade/variable.c | 4 |
5 files changed, 69 insertions, 46 deletions
diff --git a/usr.sbin/sade/Makefile b/usr.sbin/sade/Makefile index b70e8918b052..ebeacc193b40 100644 --- a/usr.sbin/sade/Makefile +++ b/usr.sbin/sade/Makefile @@ -4,15 +4,11 @@ CLEANFILES= makedevs.c rtermcap .PATH: ${.CURDIR}/../disklabel ${.CURDIR}/../../usr.bin/cksum -SRCS= globals.c main.c dmenu.c \ - menus.c misc.c msg.c \ - system.c install.c termcap.c \ - media.c variable.c devices.c \ - dist.c lang.c wizard.c \ - disks.c command.c decode.c \ - label.c tcpip.c media_strategy.c \ - makedevs.c ftp.c config.c \ - crc.c +SRCS= attr.c cdrom.c command.c config.c crc.c decode.c devices.c disks.c dist.c \ + dmenu.c dos.c floppy.c ftp.c ftp_strat.c globals.c install.c label.c lang.c \ + main.c makedevs.c media.c menus.c misc.c msg.c network.c nfs.c system.c tape.c \ + tcpip.c termcap.c ufs.c variable.c wizard.c + CFLAGS+= -Wall -g -I${.CURDIR}/../libdisk \ -I${.CURDIR}/../../gnu/lib/libdialog diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c index 6d6f86db9218..56ad315e2882 100644 --- a/usr.sbin/sade/install.c +++ b/usr.sbin/sade/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.59 1995/05/26 10:32:28 jkh Exp $ + * $Id: install.c,v 1.60 1995/05/26 20:45:19 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -386,11 +386,11 @@ static void loop_on_root_floppy(); static void root_extract(void) { - int fd, status; + int fd; if (OnCDROM) { fd = open("/floppies/root.flp", O_RDONLY); - mediaExtractDist("root.flp", "/", fd); + (void)mediaExtractDist("root.flp", "/", fd); return; } if (mediaDevice) { @@ -407,12 +407,14 @@ root_extract(void) fd = (*mediaDevice->get)("root.flp", "floppies/"); if (fd != -1) { msgNotify("Loading root floppy from %s", mediaDevice->name); - status = mediaExtractDist("root.flp", "/", fd); + (void)mediaExtractDist("root.flp", "/", fd); if (mediaDevice->close) (*mediaDevice->close)(mediaDevice, fd); else close(fd); } + if (mediaDevice->shutdown) + (*mediaDevice->shutdown)(mediaDevice); break; case DEVICE_TYPE_FLOPPY: @@ -430,9 +432,7 @@ loop_on_root_floppy(void) { int fd; - mediaDevice = NULL; - fd = genericGetDist("root.flp", NULL, TRUE); - if (fd == -1) - return; - mediaExtractDist("root.flp", "/", fd); + fd = getRootFloppy(); + if (fd != -1) + mediaExtractDist("root.flp", "/", fd); } diff --git a/usr.sbin/sade/menus.c b/usr.sbin/sade/menus.c index f47e144f4670..7dee248010fc 100644 --- a/usr.sbin/sade/menus.c +++ b/usr.sbin/sade/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.32 1995/05/26 11:21:53 jkh Exp $ + * $Id: menus.c,v 1.33 1995/05/26 19:28:03 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -554,6 +554,8 @@ When you're done setting options, select Cancel", DMENU_SET_VARIABLE, "debug=yes", 0, 0 }, { "No Debugging", "Turn the extra debugging flag off", DMENU_SET_VARIABLE, "debug=no", 0, 0 }, + { "Yes To All", "Assume \"Yes\" answers to all non-critical dialogs", + DMENU_SET_VARIABLE, "noConfirmation=Yes", 0, 0 }, { NULL } }, }; diff --git a/usr.sbin/sade/sade.h b/usr.sbin/sade/sade.h index 6dd558c3c23d..4d0dfa03ceae 100644 --- a/usr.sbin/sade/sade.h +++ b/usr.sbin/sade/sade.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.34 1995/05/26 08:41:48 jkh Exp $ + * $Id: sysinstall.h,v 1.35 1995/05/26 19:28:04 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -85,7 +85,7 @@ #define DISK_LABELLED "_diskLabelled" #define RUNNING_ON_ROOT "_runningOnRoot" #define TCP_CONFIGURED "_tcpConfigured" -#define NO_CONFIRMATION "_noConfirmation" +#define NO_CONFIRMATION "noConfirmation" #define VAR_HOSTNAME "hostname" #define VAR_DOMAINNAME "domainname" @@ -142,6 +142,15 @@ typedef struct _variable { char value[VAR_VALUE_MAX]; } Variable; +#define MAX_ATTRIBS 200 +#define MAX_NAME 511 +#define MAX_VALUE 4095 + +typedef struct _attribs { + char *name; + char *value; +} Attribs; + typedef enum { DEVICE_TYPE_NONE, DEVICE_TYPE_DISK, @@ -235,6 +244,15 @@ extern DMenu MenuDiskDevices; /* Disk devices menu */ /*** Prototypes ***/ +/* attrs.c */ +extern const char *attr_match(Attribs *attr, char *name); +extern int attr_parse(Attribs **attr, char *file); + +/* cdrom.c */ +extern Boolean mediaInitCDROM(Device *dev); +extern int mediaGetCDROM(char *dist, char *path); +extern void mediaShutdownCDROM(Device *dev); + /* command.c */ extern void command_clear(void); extern void command_sort(void); @@ -285,6 +303,23 @@ extern void dmenuOpen(DMenu *menu, int *choice, int *scroll, int *curr, int *max); extern void dmenuOpenSimple(DMenu *menu); +/* dos.c */ +extern Boolean mediaInitDOS(Device *dev); +extern int mediaGetDOS(char *dist, char *path); +extern void mediaShutdownDOS(Device *dev); + +/* floppy.c */ +extern int getRootFloppy(void); +extern Boolean mediaInitFloppy(Device *dev); +extern int mediaGetFloppy(char *dist, char *path); +extern void mediaShutdownFloppy(Device *dev); + +/* ftp_strat.c */ +extern Boolean mediaCloseFTP(Device *dev, int fd); +extern Boolean mediaInitFTP(Device *dev); +extern int mediaGetFTP(char *dist, char *path); +extern void mediaShutdownFTP(Device *dev); + /* globals.c */ extern void globalsInit(void); @@ -322,6 +357,7 @@ extern const u_char koi8_r2cp866[]; extern u_char default_scrnmap[]; /* media.c */ +extern int genericGetDist(char *path, Attribs *dist_attrib, Boolean prompt); extern int mediaSetCDROM(char *str); extern int mediaSetFloppy(char *str); extern int mediaSetDOS(char *str); @@ -332,28 +368,6 @@ extern Boolean mediaGetType(void); extern Boolean mediaExtractDist(char *distname, char *dir, int fd); extern Boolean mediaVerify(void); -/* media_strategy.c */ -extern int genericGetDist(char *path, void *dist_attrib, Boolean prompt); -extern Boolean mediaInitCDROM(Device *dev); -extern Boolean mediaInitDOS(Device *dev); -extern Boolean mediaInitFloppy(Device *dev); -extern Boolean mediaInitFTP(Device *dev); -extern Boolean mediaInitNetwork(Device *dev); -extern Boolean mediaInitTape(Device *dev); -extern Boolean mediaInitUFS(Device *dev); -extern int mediaGetCDROM(char *dist, char *path); -extern int mediaGetDOS(char *dist, char *path); -extern int mediaGetFloppy(char *dist, char *path); -extern int mediaGetFTP(char *dist, char *path); -extern int mediaGetTape(char *dist, char *path); -extern int mediaGetUFS(char *dist, char *path); -extern void mediaShutdownCDROM(Device *dev); -extern void mediaShutdownDOS(Device *dev); -extern void mediaShutdownFTP(Device *dev); -extern void mediaShutdownFloppy(Device *dev); -extern void mediaShutdownNetwork(Device *dev); -extern void mediaShutdownTape(Device *dev); - /* misc.c */ extern Boolean file_readable(char *fname); extern Boolean file_executable(char *fname); @@ -384,6 +398,10 @@ extern void msgWeHaveOutput(char *fmt, ...); extern int msgYesNo(char *fmt, ...); extern char *msgGetInput(char *buf, char *fmt, ...); +/* network.c */ +extern Boolean mediaInitNetwork(Device *dev); +extern void mediaShutdownNetwork(Device *dev); + /* system.c */ extern void systemInitialize(int argc, char **argv); extern void systemShutdown(void); @@ -399,6 +417,11 @@ extern void systemChangeTerminal(char *color, const u_char c_termcap[], extern void systemChangeScreenmap(const u_char newmap[]); extern int vsystem(char *fmt, ...); +/* tape.c */ +extern Boolean mediaInitTape(Device *dev); +extern int mediaGetTape(char *dist, char *path); +extern void mediaShutdownTape(Device *dev); + /* tcpip.c */ extern int tcpOpenDialog(Device *dev); extern int tcpDeviceSelect(char *str); @@ -407,6 +430,10 @@ extern Boolean tcpStartPPP(Device *dev); /* termcap.c */ extern int set_termcap(void); +/* ufs.c */ +extern Boolean mediaInitUFS(Device *dev); +extern int mediaGetUFS(char *dist, char *path); + /* variables.c */ extern void variable_set(char *var); extern void variable_set2(char *name, char *value); diff --git a/usr.sbin/sade/variable.c b/usr.sbin/sade/variable.c index ec3c5b187429..4ff9499b82f4 100644 --- a/usr.sbin/sade/variable.c +++ b/usr.sbin/sade/variable.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: variable.c,v 1.2 1995/05/20 10:33:13 jkh Exp $ + * $Id: variable.c,v 1.3 1995/05/26 20:45:20 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -75,8 +75,6 @@ variable_set(char *var) void variable_set2(char *var, char *value) { - Variable *newvar; - if (!var || !value) msgFatal("Null name or value passed to set_variable2!"); make_variable(var, value); |