On Sun, 27 Feb 2011 11:55:17 -0500 pyther@pyther.net wrote:
diff --git a/src/core/libs/lib-ui-interactive.sh b/src/core/libs/lib-ui-interactive.sh index 062c420..be31440 100644 --- a/src/core/libs/lib-ui-interactive.sh +++ b/src/core/libs/lib-ui-interactive.sh @@ -2,7 +2,7 @@ # A library which allows you to do backend stuff by using user interfaces
# Global Variables -grubmenu="/boot/grub/menu.lst" # be sure to override this if you have it somewhere else +grubmenu="/boot/grub/menu.lst"
why do you remove the comment?
+ + bootloader=$ANSWER_OPTION + + # Make sure selected bootloader is a supported_bootloader and mark bootloader for installation + check_is_in $bootloader "${supported_bootloaders[@]}" && needed_pkgs+=("$bootloader") + ask_checklist "Select Package groups\nDo not deselect base unless you know what you're doing!" 0 "${grouplist[@]}" || return 1 grouplist=("${ANSWER_CHECKLIST[@]}")
@@ -731,9 +740,11 @@ If any previous configuration you've done until now (like fancy filesystems) req local pkgall=($(list_packages repo core | cut -d ' ' -f2)) pkginfo "${pkgall[@]}"
+ # packages that should be marked for installation + needed_pkgs=("${needed_pkgs_fs[@]}") + # build the list of options, sorted primarily by group, then by packagename (this is already). marking where appropriate local pkglist=() - needed_pkgs=("${needed_pkgs_fs[@]}")
why did you rearrange this?
while read pkgname pkgver pkggroup pkgdesc; do mark=OFF if check_is_in "$pkggroup" "${grouplist[@]}" || check_is_in $pkgname "${needed_pkgs[@]}"; then @@ -842,15 +853,14 @@ interactive_runtime_network() { return 0 }
+# bootloader is global variable that gets set in interactive_select_packages interactive_install_bootloader () { - ask_option Grub "Choose bootloader" "Which bootloader would you like to use? Grub is the Arch default." required \ - "Grub" "Use the GRUB bootloader (default)" \ - "None" "\Zb\Z1Warning\Z0\ZB: you must install your own bootloader!" || return 1 - - bl=`tr '[:upper:]' '[:lower:]' <<< "$ANSWER_OPTION"` - [ "$bl" != grub ] && return 0 - GRUB_OK=0 - interactive_grub + if [[ $bootloader = grub ]]; then + GRUB_OK=0 + interactive_grub + else + show_warning 'No Bootloader' 'You did not select a bootloader. No bootloader will be installed.' && return 0 + fi }
I would make the exitcode a bit more obvious put 'return 0' at the end of the function, remove it from the 'no bootloader' warning and write interactive_grub || return 1 Dieter