From 24df19be6faa641aced0127de471a26d7f582db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Sun, 22 May 2011 20:39:30 -0300 Subject: Removed mentions to [core] that assumed all required packages were there. Changed to base and base-devel. --- src/core/libs/lib-pacman.sh | 13 +++++++------ src/core/libs/lib-ui-interactive.sh | 22 +++++++++++++++------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/core/libs/lib-pacman.sh b/src/core/libs/lib-pacman.sh index 495c545..7049735 100644 --- a/src/core/libs/lib-pacman.sh +++ b/src/core/libs/lib-pacman.sh @@ -97,20 +97,21 @@ EOF # not sorted list_package_groups () { - $PACMAN_TARGET -Sg + echo -e "base\nbase-devel" } # List the packages in one or more repos or groups. output is one or more lines, each line being like this: # packagename [version, if $1=repo] # lines are sorted by packagename -# $1 repo or group -# $2 one or more repo or group names +# $action repo or group +# $@ one or more repo or group names list_packages () { - [ "$1" = repo -o "$1" = group ] || die_error "list_packages \$1 must be repo or group. not $1!" - [ "$1" = repo ] && $PACMAN_TARGET -Sl $2 - [ "$1" = group ] && $PACMAN_TARGET -Sg $2 + action=$1; shift + [ "$action" = repo -o "$action" = group ] || die_error "list_packages \$action must be repo or group. not $action!" + [ "$action" = repo ] && $PACMAN_TARGET -Sql $@ + [ "$action" = group ] && $PACMAN_TARGET -Sqg $@ } # find out the group to which one or more packages belong diff --git a/src/core/libs/lib-ui-interactive.sh b/src/core/libs/lib-ui-interactive.sh index 19ddd10..fa366e4 100644 --- a/src/core/libs/lib-ui-interactive.sh +++ b/src/core/libs/lib-ui-interactive.sh @@ -725,10 +725,17 @@ interactive_select_packages() { # set up our install location if necessary and sync up so we can get package lists target_prepare_pacman || { show_warning 'Pacman preparation failure' "Pacman preparation failed! Check $LOG for errors."; return 1; } - repos=`list_pacman_repos target` - notify "Package selection is split into three stages. First, you will select a bootloader. Then, you will select package groups that contain packages that you may be interested in. Lastly, you will be presented with a full list of packages for each group, allowing you to fine-tune.\n\n -Note that right now the packages (and groups) selection is limited to the repos available at this time ($repos). Once you have your Arch system up and running, you have access to more repositories and packages.\n\n -If any previous configuration you've done until now (like fancy filesystems) require extra packages, we've already preselected them for your convenience" + repos=`list_pacman_repos target` notify "Package selection is split +into three stages. First, you will select a bootloader. Then, you will +select package groups that contain packages that you may be interested +in. Lastly, you will be presented with a full list of packages for +each group, allowing you to fine-tune.\n\n Note that right now the +packages (and groups) selection is limited to the repos available +at this time ($repos). Once you have your Parabola system up and +running, you have access to more repositories and packages.\n\n If +any previous configuration you've done until now (like fancy +filesystems) require extra packages, we've already preselected +them for your convenience" # show group listing for group selection, base is ON by default, all others are OFF local grouplist=(base ^ ON) @@ -747,8 +754,9 @@ If any previous configuration you've done until now (like fancy filesystems) req ask_checklist "Select Package groups\nDo not deselect base unless you know what you're doing!" 0 "${grouplist[@]}" || return 1 grouplist=("${ANSWER_CHECKLIST[@]}") - # get sorted array of available packages, with their groups. TODO: we should use $repos here - local pkgall=($(list_packages repo core | cut -d ' ' -f2)) + # get sorted array of available packages, with their groups. + # show all packages from base and base-devel + local pkgall=($(list_packages group base base-devel | sort -u)) pkginfo "${pkgall[@]}" # build the list of options, sorted primarily by group, then by packagename (this is already). marking where appropriate @@ -760,7 +768,7 @@ If any previous configuration you've done until now (like fancy filesystems) req mark=ON fi pkglist+=("$pkgname" "$pkggroup" $mark "$pkgname $pkgver: $pkgdesc") - done < <(echo "$PACKAGE_INFO" | sort -f -k 3) + done < <(echo "$PACKAGE_INFO" | sort -u -f -k 3) [ ${#pkglist[@]} -eq 0 ] && show_warning "No packages found" "Sorry. I could not find any packages. maybe your network is not setup correctly, you lost connection, no mirror setup, bad group, ..." && return 1 -- cgit v1.2.3