summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bsdconfig/share/packages/packages.subr
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/bsdconfig/share/packages/packages.subr')
-rwxr-xr-xusr.sbin/bsdconfig/share/packages/packages.subr49
1 files changed, 42 insertions, 7 deletions
diff --git a/usr.sbin/bsdconfig/share/packages/packages.subr b/usr.sbin/bsdconfig/share/packages/packages.subr
index 28ed7f1..d9356c3 100755
--- a/usr.sbin/bsdconfig/share/packages/packages.subr
+++ b/usr.sbin/bsdconfig/share/packages/packages.subr
@@ -603,18 +603,53 @@ f_package_review()
--menu \"\$prompt\" \
$height $width $rows \
$menu_list \
- 2> /dev/null
- local retval=$?
+ 2> /dev/null || return $?
+ # Return if the user pressed ESC or chose Cancel/No
#
- # XXX
- #
- f_show_msg "Coming soon..."
+ # Process each of the selected packages:
+ # + First, process dependencies.
+ # + Second, process packages marked for Install.
+ # + Third, process packages marked for Re-install.
+ # + Finally, process packages marked for Uninstall.
#
+ for package in $SELECTED_PACKAGES; do
+ mark=
+ f_str2varname "$package" varpkg
+ f_getvar _mark_$varpkg mark
+ [ "$mark" = "D" ] || continue
+ # XXX Install dependency
+ f_package_deselect "$package"
+ done
+ for package in $SELECTED_PACKAGES; do
+ mark=
+ f_str2varname "$package" varpkg
+ f_getvar _mark_$varpkg mark
+ [ "$mark" = "I" ] || continue
+ # XXX Install package
+ f_package_deselect "$package"
+ done
+ for package in $SELECTED_PACKAGES; do
+ mark=
+ f_str2varname "$package" varpkg
+ f_getvar _mark_$varpkg mark
+ [ "$mark" = "R" ] || continue
+ # XXX Re-install package
+ f_package_deselect "$package"
+ done
+ for package in $SELECTED_PACKAGES; do
+ mark=
+ f_str2varname "$package" varpkg
+ f_getvar _mark_$varpkg mark
+ [ "$mark" = "U" ] || continue
+ # XXX Uninstall package
+ f_package_deselect "$package"
+ done
+
# XXX
- #
+ f_show_msg "Coming soon..."
- return $retval
+ return $SUCCESS
}
# f_package_config
OpenPOWER on IntegriCloud