summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDieter Plaetinck <dieter@plaetinck.be>2010-12-31 12:01:49 +0100
committerDieter Plaetinck <dieter@plaetinck.be>2010-12-31 12:01:49 +0100
commit66a265a1a0b31dfcbc69be0297c883403a460340 (patch)
treef7a9bc3702d2dd1f03f180522d54e3accf7ac1e5
parent2251caf7180ede8b51f0b60da034ffe08506fc4d (diff)
bugfix: make main loop work and reporting able to get worker titles
-rw-r--r--src/core/procedures/interactive8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/procedures/interactive b/src/core/procedures/interactive
index 5c259a2..f607955 100644
--- a/src/core/procedures/interactive
+++ b/src/core/procedures/interactive
@@ -14,7 +14,9 @@ TIMEZONE=
# <mountpoint>:<partsize>:<fstype>[:+]
DEFAULTFS="/boot:32:ext2:+ swap:256:swap /:7500:ext3 /home:*:ext3"
-declare -A workertitles
+# this is a workaround for bash <4.2, where associative arrays are inherently local
+# once we have 4.2 we can just declare this array global. eval $settitles where needed
+settitles="declare -A workertitles
workertitles['select_source']='Select source'
workertitles['set_editor']='Set editor'
workertitles['runtime_network']='Setup network'
@@ -24,7 +26,7 @@ workertitles['package_list']='Select packages'
workertitles['install_packages']='Install packages'
workertitles['configure_system']='Configure system'
workertitles['install_bootloader']='Install bootloader'
-workertitles['msg_report']='Exit Install'
+workertitles['msg_report']='Exit Install'"
menu_workers=(select_source set_editor set_clock prepare_disks package_list install_packages configure_system install_bootloader msg_report)
@@ -47,6 +49,7 @@ start_process ()
mainmenu()
{
+ eval $settitles
menu=()
for i in ${!menu_workers[@]}
do
@@ -184,6 +187,7 @@ worker_auto_network ()
# override show_report because this procedure does not use phases, but it's own menu
show_report ()
{
+ eval $settitles
data="Execution Report:"
data="$data\n-----------------"
for w in ${menu_workers[@]}