[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[PATCH 5/5] Add dlabel confirmation dialog to interactive installs (#570053)



---
 loader2/loader.c |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/loader2/loader.c b/loader2/loader.c
index ae8b91a..afc76d3 100644
--- a/loader2/loader.c
+++ b/loader2/loader.c
@@ -1649,15 +1649,51 @@ int main(int argc, char ** argv) {
       logMessage(INFO, "Trying to detect vendor driver discs");
       dd = findDriverDiskByLabel();
       dditer = dd;
+
+      if (dd && !loaderData.ksFile) {
+          startNewt();
+      }
+
       while(dditer){
+          /* If in interactive mode, ask for confirmation before loading the DD */
+          if (!loaderData.ksFile) {
+              char * buf;
+              if (asprintf(&buf,
+                          _("Driver disc was detected in %s. "
+                            "Do you want to use it?."),
+                           dditer->device) == -1) {
+                  logMessage(ERROR, "asprintf error in Driver Disc code");
+                  break;
+              };
+
+              rc = newtWinChoice(_("Driver disc detected"), _("Use it"), _("Skip it"),
+                                 buf);
+              free(buf);
+              if (rc == 2) {
+                  logMessage(INFO, "Skipping driver disk %s.", (char*)(dditer->device));
+                  
+                  /* next DD */
+                  dditer = dditer->next;
+                  continue;
+              }
+          }
+
+
 	if(loadDriverDiskFromPartition(&loaderData, dditer->device)){
-	  logMessage(ERROR, "Automatic driver disk loader failed for %s.", dditer->device);
+          logMessage(ERROR, "Automatic driver disk loader failed for %s.", dditer->device);
 	}
 	else{
 	  logMessage(INFO, "Automatic driver disk loader succeeded for %s.", dditer->device);
 	}
+
+        /* Next DD */
 	dditer = dditer->next;
       }
+
+      if (dd && !loaderData.ksFile) {
+          stopNewt();
+      }
+
       ddlist_free(dd);
     }
     
-- 
1.6.6.1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]