diff options
Diffstat (limited to 'usr.sbin/sysinstall/install.c')
-rw-r--r-- | usr.sbin/sysinstall/install.c | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/usr.sbin/sysinstall/install.c b/usr.sbin/sysinstall/install.c index 4d726ac..ea3db22 100644 --- a/usr.sbin/sysinstall/install.c +++ b/usr.sbin/sysinstall/install.c @@ -443,25 +443,27 @@ installExpress(dialogMenuItem *self) if (!Dists) { dialog_clear_norefresh(); - if (!dmenuOpenSimple(&MenuDistributions, FALSE) && !Dists) - return DITEM_FAILURE | DITEM_RECREATE; + if (!dmenuOpenSimple(&MenuDistributions, FALSE) || !Dists) + return DITEM_FAILURE | DITEM_RESTORE; } if (!mediaDevice) { dialog_clear_norefresh(); if (!dmenuOpenSimple(&MenuMedia, FALSE) || !mediaDevice) - return DITEM_FAILURE | DITEM_RECREATE; + return DITEM_FAILURE | DITEM_RESTORE; } + if (!mediaDevice->init(mediaDevice)) + return DITEM_FAILURE | DITEM_REDRAW; + if (DITEM_STATUS((i = installCommit(self))) == DITEM_SUCCESS) { i |= DITEM_LEAVE_MENU; /* Give user the option of one last configuration spree */ installConfigure(); - - /* Now write out any changes .. */ - configSysconfig("/etc/sysconfig"); } - return i | DITEM_RECREATE; + /* Now write out any changes .. */ + configSysconfig("/etc/sysconfig"); + return i | DITEM_RESTORE; } /* Novice mode installation */ @@ -495,15 +497,18 @@ installNovice(dialogMenuItem *self) while (1) { dialog_clear_norefresh(); - if (!dmenuOpenSimple(&MenuDistributions, FALSE) && !Dists) - return DITEM_FAILURE | DITEM_RECREATE; + if (!dmenuOpenSimple(&MenuDistributions, FALSE)) + return DITEM_FAILURE | DITEM_RESTORE; - if (Dists || !msgYesNo("No distributions selected. Are you sure you wish to continue?")) - break; + if (!Dists && msgYesNo("No distributions selected. Revisit the distributions menu?")) + return DITEM_FAILURE | DITEM_RESTORE; } if (!mediaDevice && (!dmenuOpenSimple(&MenuMedia, FALSE) || !mediaDevice)) - return DITEM_FAILURE | DITEM_RECREATE; + return DITEM_FAILURE | DITEM_RESTORE; + + if (!mediaDevice->init(mediaDevice)) + return DITEM_FAILURE | DITEM_RESTORE; if (DITEM_STATUS((i = installCommit(self))) == DITEM_FAILURE) { dialog_clear_norefresh(); @@ -512,7 +517,7 @@ installNovice(dialogMenuItem *self) "scroll-lock feature. You can also chose \"No\" at the next\n" "prompt and go back into the installation menus to try and retry\n" "whichever operations have failed."); - return i | DITEM_RECREATE; + return i | DITEM_RESTORE; } else { @@ -624,7 +629,7 @@ installNovice(dialogMenuItem *self) /* Now write out any changes .. */ configSysconfig("/etc/sysconfig"); - return DITEM_LEAVE_MENU | DITEM_RECREATE; + return DITEM_LEAVE_MENU | DITEM_RESTORE; } /* The version of commit we call from the Install Custom menu */ @@ -668,7 +673,7 @@ installCommit(dialogMenuItem *self) if (!msgYesNo("No distributions are selected for installation! Do you\n" "want to do this now?")) { if (!dmenuOpenSimple(&MenuDistributions, FALSE) && !Dists) - return DITEM_FAILURE | DITEM_RECREATE; + return DITEM_FAILURE | DITEM_RESTORE; } else return DITEM_FAILURE | DITEM_RESTORE; @@ -678,7 +683,7 @@ installCommit(dialogMenuItem *self) if (!msgYesNo("You need to select a media type first. Do you want\n" "to do this now?")) { if (!dmenuOpenSimple(&MenuMedia, FALSE) || !mediaDevice) - return DITEM_FAILURE | DITEM_RECREATE; + return DITEM_FAILURE | DITEM_RESTORE; } else return DITEM_FAILURE | DITEM_RESTORE; @@ -713,7 +718,7 @@ installCommit(dialogMenuItem *self) else i = DITEM_FAILURE; variable_set2(SYSTEM_STATE, DITEM_STATUS(i) == DITEM_FAILURE ? "error-install" : "full-install"); - return i | DITEM_RECREATE; + return i | DITEM_RESTORE; } static void |