diff options
Diffstat (limited to 'release/sysinstall')
-rw-r--r-- | release/sysinstall/disks.c | 4 | ||||
-rw-r--r-- | release/sysinstall/globals.c | 2 | ||||
-rw-r--r-- | release/sysinstall/install.c | 29 | ||||
-rw-r--r-- | release/sysinstall/label.c | 7 | ||||
-rw-r--r-- | release/sysinstall/package.c | 3 | ||||
-rw-r--r-- | release/sysinstall/sysinstall.h | 4 |
6 files changed, 45 insertions, 4 deletions
diff --git a/release/sysinstall/disks.c b/release/sysinstall/disks.c index 2a611b9..16be5e2 100644 --- a/release/sysinstall/disks.c +++ b/release/sysinstall/disks.c @@ -309,6 +309,8 @@ diskPartition(Device *dev) if (val && (size = strtol(val, &cp, 0)) > 0) { if (*cp && toupper(*cp) == 'M') size *= ONE_MEG; + else if (*cp && toupper(*cp) == 'G') + size *= ONE_GIG; strcpy(tmp, "165"); val = msgGetInput(tmp, "Enter type of partition to create:\n\n" "Pressing Enter will choose the default, a native FreeBSD\n" @@ -733,6 +735,8 @@ diskPartitionNonInteractive(Device *dev) /* Look for sz bytes free */ if (*cp && toupper(*cp) == 'M') sz *= ONE_MEG; + else if (*cp && toupper(*cp) == 'G') + sz *= ONE_GIG; for (i = 0; chunk_info[i]; i++) { /* If a chunk is at least sz MB, use it. */ if (chunk_info[i]->type == unused && chunk_info[i]->size >= sz) { diff --git a/release/sysinstall/globals.c b/release/sysinstall/globals.c index c47c3a0..9b66fab 100644 --- a/release/sysinstall/globals.c +++ b/release/sysinstall/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 PkgInteractive; /* Is the package going to spew at us? */ Boolean USAResident; /* Are we cryptographically challenged? */ Variable *VarHead; /* The head of the variable chain */ Device *mediaDevice; /* Where we're installing from */ @@ -63,6 +64,7 @@ globalsInit(void) { DebugFD = -1; ColorDisplay = FALSE; + PkgInteractive = FALSE; Fake = FALSE; OnVTY = FALSE; DialogActive = FALSE; diff --git a/release/sysinstall/install.c b/release/sysinstall/install.c index 83972b0..7c27138 100644 --- a/release/sysinstall/install.c +++ b/release/sysinstall/install.c @@ -565,6 +565,35 @@ nodisks: (void)configLinux(self); #endif + dialog_clear(); + if (USAResident) { + if (!msgYesNo("I see that you are \"USA_RESIDENT\" according to your earlier\n" + "response to the CRYPTO distribution dialog. Do you want to try and\n" + "load the rsaref package from the current media? Some restrictions on\n" + "usage may apply, so be sure to read the package installation output!")) { + PkgInteractive = TRUE; + dialog_clear(); + if (DITEM_STATUS(package_add("rsaref")) != DITEM_SUCCESS) { + msgConfirm("Unable to find an rsaref package on the current intallation media.\n" + "You may wish to switch media types and try again, perhaps\n" + "from an FTP server which carries this package."); + } + PkgInteractive = FALSE; + dialog_clear(); + } + } + else { + if (!msgYesNo("I see that you are not \"USA_RESIDENT\" according to your earlier\n" + "response to the CRYPTO distribution dialog. Do you want to try and\n" + "load the rsaintl package from the current media?")) { + if (DITEM_STATUS(package_add("rsaintl")) != DITEM_SUCCESS) { + msgConfirm("Unable to find an rsaintl package on the current intallation media.\n" + "You may wish to switch media types and try again, perhaps\n" + "from an FTP server which carries this package."); + } + } + } + dialog_clear_norefresh(); if (!msgYesNo("Does this system have a mouse attached to it?")) dmenuOpenSimple(&MenuMouse, FALSE); diff --git a/release/sysinstall/label.c b/release/sysinstall/label.c index bce434e..460f194 100644 --- a/release/sysinstall/label.c +++ b/release/sysinstall/label.c @@ -901,8 +901,9 @@ diskLabel(Device *dev) sprintf(osize, "%d", sz); val = msgGetInput(osize, - "Please specify the partition size in blocks or append a trailing M for\n" - "megabytes or C for cylinders. %d blocks (%dMB) are free.", + "Please specify the partition size in blocks or append a trailing G for\n" + "gigabytes, M for megabytes, or C for cylinders.\n" + "%d blocks (%dMB) are free.", sz, sz / ONE_MEG); if (!val || (size = strtol(val, &cp, 0)) <= 0) { clear_wins(); @@ -912,6 +913,8 @@ diskLabel(Device *dev) if (*cp) { if (toupper(*cp) == 'M') size *= ONE_MEG; + else if (toupper(*cp) == 'G') + size *= ONE_GIG; else if (toupper(*cp) == 'C') size *= (label_chunk_info[here].c->disk->bios_hd * label_chunk_info[here].c->disk->bios_sect); } diff --git a/release/sysinstall/package.c b/release/sysinstall/package.c index 8901d08..1959df7 100644 --- a/release/sysinstall/package.c +++ b/release/sysinstall/package.c @@ -167,7 +167,8 @@ package_extract(Device *dev, char *name, Boolean depended) pid = fork(); if (!pid) { dup2(pfd[0], 0); close(pfd[0]); - dup2(DebugFD, 1); + if (!PkgInteractive) + dup2(DebugFD, 1); close(2); close(pfd[1]); if (isDebug()) diff --git a/release/sysinstall/sysinstall.h b/release/sysinstall/sysinstall.h index a07d4fe..2d3bf6f 100644 --- a/release/sysinstall/sysinstall.h +++ b/release/sysinstall/sysinstall.h @@ -174,6 +174,7 @@ /* One MB worth of blocks */ #define ONE_MEG 2048 +#define ONE_GIG (ONE_MEG * 1024) /* Which selection attributes to use */ #define ATTR_SELECTED (ColorDisplay ? item_selected_attr : item_attr) @@ -340,7 +341,8 @@ 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? */ +Boolean PkgInteractive; /* Is the package going to spew at us? */ +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 */ |