summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sysinstall/install.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/sysinstall/install.c')
-rw-r--r--usr.sbin/sysinstall/install.c39
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
OpenPOWER on IntegriCloud