From c2666130a6170b7f2c4d5bd5dde64fb4035275e0 Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Sun, 14 Dec 2008 19:02:47 +0100 Subject: make rollback more accessible, assist user more when he needs it and when not + some output cleanup --- src/core/procedures/interactive | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'src/core/procedures') diff --git a/src/core/procedures/interactive b/src/core/procedures/interactive index d4edfc6..4e90854 100644 --- a/src/core/procedures/interactive +++ b/src/core/procedures/interactive @@ -7,7 +7,7 @@ depend_procedure core base # esp for auto_{network,locale,fstab}, intro and set_ var_TARGET_DIR="/mnt" EDITOR= - +BLOCK_ROLLBACK_USELESS=1 # clock HARDWARECLOCK= @@ -136,7 +136,8 @@ worker_prepare_disks() ret=1 # 1 means unsuccessful. 0 for ok NEXTITEM= DISK_CONFIG_TYPE= - + rollbackstr=" (you don't need to do this)" + ended_ok worker prepare_disks && rollbackstr=" (looks like you need to do this)" && show_warning "Rollback may be needed" "It seems you already went here. You should probably rollback previous changes before reformatting, otherwise stuff will probably fail" while [ "$DONE" = "0" ] do default=no @@ -146,11 +147,12 @@ worker_prepare_disks() "1" "Auto-Prepare (erases the ENTIRE hard drive and sets up partitions and filesystems)" \ "2" "Partition Hard Drives" \ "3" "Configure block devices, filesystems and mountpoints" \ - "4" "Return to Main Menu" + "4" "Rollback last changes$rollbackstr" \ + "5" "Return to Main Menu" case $ANSWER_OPTION in "1") - interactive_autoprepare && NEXTITEM=4 && ret=0 && DISK_CONFIG_TYPE=auto;; #TODO: for some reason. if this completes $?=0, next item will be 1 :/ + interactive_autoprepare && NEXTITEM=5 && ret=0 && DISK_CONFIG_TYPE=auto;; #TODO: for some reason. if this completes $?=0, next item will be 1 :/ "2") if [ "$DISK_CONFIG_TYPE" = "auto" ]; then notify "You have already prepared your filesystems with Auto-prepare" #TODO: allow user to do this anyway. he can change his mind. @@ -163,9 +165,23 @@ worker_prepare_disks() if [ "$DISK_CONFIG_TYPE" = "auto" ]; then notify "You have already prepared your filesystems with Auto-prepare" #TODO: allow user to do this anyway. he can change his mind. else - interactive_filesystems && ret=0 && NEXTITEM=4 && DISK_CONFIG_TYPE=manual + interactive_filesystems && ret=0 && NEXTITEM=5 && DISK_CONFIG_TYPE=manual fi ;; + "4" + if [ "$BLOCK_ROLLBACK_USELESS" = "1" ] + then + ask_yesno "It seems like you haven't partitioned/formatted/mounted anything yet (or rolled back already). This operation is useless (unless the installer is buggy), but it doesn't harm. Do you want to continue?" || NEXTITEM=5 + fi + if [ $? -eq 0 -o "$BLOCK_ROLLBACK_USELESS" = "0" ] + then + if rollback_filesystems #TODO: this part doesn't belong here. move it to ui-interactive. (interactive_rollback) + then + infofy "Rollback succeeded" + else + show_warning "Rollback failed" "Rollback failed" + fi + fi *) DONE=1 ;; esac -- cgit v1.2.3-54-g00ecf