diff options
Diffstat (limited to 'src/core/procedures/interactive')
-rw-r--r-- | src/core/procedures/interactive | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/core/procedures/interactive b/src/core/procedures/interactive index 93aade4..b71049b 100644 --- a/src/core/procedures/interactive +++ b/src/core/procedures/interactive @@ -27,7 +27,10 @@ start_process () ##################### ## begin execution ## - # install stages #TODO: now that exit states of all workers are maintained by the execute function, we can probably simplify this + #TODO: implement check_depend everywhere + #TODO: now that exit states of all workers are maintained by the execute function, we can get rid of this special flow control + + # install stages S_SRC=0 # choose install medium S_NET=0 # network configuration S_CLOCK=0 # clock and timezone @@ -90,19 +93,19 @@ mainmenu() fi [ $ret -eq 0 ] && S_SRC=1 && execute worker runtime_packages ;; "1") - execute worker set_clock && S_CLOCK=1 ;; + execute worker set_clock && S_CLOCK=1 && NEXTITEM=2;; "2") - execute worker prepare_disks ;; # stage set vars set in the worker #TODO: when this is done, default next item is clock? + execute worker prepare_disks && NEXTITEM=3;; # stage set vars set in the worker "3") - execute worker package_list && S_SELECT=1 ;; + check_depend worker prepare_disks && execute worker package_list && S_SELECT=1 && NEXTITEM=4 ;; "4") - execute worker install_packages && S_INSTALL=1 && { execute worker auto_fstab; execute worker auto_network; execute worker auto_locale; } ;; #TODO: next item is again install packages + check_depend worker package_list && execute worker install_packages && S_INSTALL=1 && { execute worker auto_fstab; execute worker auto_network; execute worker auto_locale; } && NEXITITEM=5 ;; "5") - execute worker configure_system && S_CONFIG=1 && { execute worker mkinitcpio; execute worker locales; } ;; + check_depend worker install_packages && execute worker configure_system && S_CONFIG=1 && { execute worker mkinitcpio; execute worker locales; } && NEXTITEM=6 ;; "6") - execute worker install_bootloader && S_BOOT=1 ;; + execute worker install_bootloader && S_BOOT=1 && NEXTITEM=7 ;; "7") - notify "If the install finished successfully, you can now type 'reboot' to restart the system." && stop_installer ;; + notify "If the install finished successfully, you can now type 'reboot' to restart the system." && stop_installer ;; *) ask_yesno "Abort Installation?" && stop_installer ;; esac @@ -174,7 +177,8 @@ worker_prepare_disks() DONE=1 ;; esac done - NEXTITEM="1" + [ $S_MKFSAUTO -eq 1 -o $S_MKFS -eq 1 -a $S_PART -eq 1 ] && return 0 + return 1 } |