diff options
author | jkh <jkh@FreeBSD.org> | 2000-02-19 23:22:22 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 2000-02-19 23:22:22 +0000 |
commit | cee74ce38920b8f7c2ff067518c0703bb0de870e (patch) | |
tree | 40bd2f2ed649cfae278188f3e8bb2b4bc20ff77a /usr.sbin/sade | |
parent | 841fc647e82546c5ace4a39b6928db40cb033cc6 (diff) | |
download | FreeBSD-src-cee74ce38920b8f7c2ff067518c0703bb0de870e.zip FreeBSD-src-cee74ce38920b8f7c2ff067518c0703bb0de870e.tar.gz |
If user says they're in the USA, record that fact in /etc/make.conf
Diffstat (limited to 'usr.sbin/sade')
-rw-r--r-- | usr.sbin/sade/config.c | 35 | ||||
-rw-r--r-- | usr.sbin/sade/globals.c | 2 | ||||
-rw-r--r-- | usr.sbin/sade/install.c | 1 | ||||
-rw-r--r-- | usr.sbin/sade/sade.h | 2 |
4 files changed, 40 insertions, 0 deletions
diff --git a/usr.sbin/sade/config.c b/usr.sbin/sade/config.c index 9ce954d..de2d4e6 100644 --- a/usr.sbin/sade/config.c +++ b/usr.sbin/sade/config.c @@ -364,6 +364,41 @@ configEnvironmentResolv(char *config) } } +/* Set up the make.conf file */ +void +configMake_conf(char *config) +{ + char *lines[MAX_LINES]; + int i, nlines; + FILE *fp; + + if (!file_readable(config)) { + char *line = malloc(21); + sprintf(line, "USA_RESIDENT=\"%s\"\n", USAResident ? "YES" : "NO"); + lines[0] = line; + nlines = 1; + } + else { + nlines = readConfig(config, lines, MAX_LINES); + if (nlines == -1) + return; + for (i = 0; i < nlines; i++) { + if (!strncmp(lines[i], "USA_RESIDENT", 12)) { + free(lines[i]); + lines[i] = malloc(21); /* big enough */ + sprintf(lines[i], "USA_RESIDENT=\"%s\"\n", USAResident ? "YES" : "NO"); + } + } + } + if ((fp = fopen(config, "w")) != NULL) { + for (i = 0; i < nlines; i++) { + fprintf(fp, "%s", lines[i]); + free(lines[i]); + } + fclose(fp); + } +} + /* Version of below for dispatch routines */ int configRC(dialogMenuItem *unused) diff --git a/usr.sbin/sade/globals.c b/usr.sbin/sade/globals.c index b12dbd8..c47c3a0 100644 --- a/usr.sbin/sade/globals.c +++ b/usr.sbin/sade/globals.c @@ -47,6 +47,7 @@ Boolean RunningAsInit; /* Are we running as init? */ Boolean DialogActive; /* Is libdialog initialized? */ Boolean ColorDisplay; /* Are we on a color display? */ Boolean OnVTY; /* Are we on a VTY? */ +Boolean USAResident; /* Are we cryptographically challenged? */ Variable *VarHead; /* The head of the variable chain */ Device *mediaDevice; /* Where we're installing from */ int BootMgr; /* Which boot manager we're using */ @@ -68,4 +69,5 @@ globalsInit(void) VarHead = NULL; mediaDevice = NULL; RunningAsInit = FALSE; + USAResident = TRUE; } diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c index 34727ad..60152b0 100644 --- a/usr.sbin/sade/install.c +++ b/usr.sbin/sade/install.c @@ -1061,6 +1061,7 @@ installEnvironment(void) configEnvironmentRC_conf(); if (file_readable("/etc/resolv.conf")) configEnvironmentResolv("/etc/resolv.conf"); + configMake_conf("/etc/make.conf"); } /* Copy the boot floppy contents into /stand */ diff --git a/usr.sbin/sade/sade.h b/usr.sbin/sade/sade.h index ce25f58..48c3939 100644 --- a/usr.sbin/sade/sade.h +++ b/usr.sbin/sade/sade.h @@ -340,6 +340,7 @@ extern Boolean RunningAsInit; /* Are we running stand-alone? */ extern Boolean DialogActive; /* Is the dialog() stuff up? */ extern Boolean ColorDisplay; /* Are we on a color display? */ extern Boolean OnVTY; /* On a syscons VTY? */ +Boolean USAResident; /* Are we cryptographically challenged? */ extern Variable *VarHead; /* The head of the variable chain */ extern Device *mediaDevice; /* Where we're getting our distribution from */ extern unsigned int Dists; /* Which distributions we want */ @@ -420,6 +421,7 @@ extern void command_func_add(char *key, commandFunc func, void *data); extern void configEnvironmentRC_conf(void); extern void configEnvironmentResolv(char *config); extern void configRC_conf(void); +extern void configMake_conf(char *config); extern int configFstab(dialogMenuItem *self); extern int configRC(dialogMenuItem *self); extern int configResolv(dialogMenuItem *self); |