svn commit: r251758 - head/usr.sbin/bsdconfig/share/packages
Devin Teske
dteske at FreeBSD.org
Fri Jun 14 19:35:31 UTC 2013
Author: dteske
Date: Fri Jun 14 19:35:30 2013
New Revision: 251758
URL: http://svnweb.freebsd.org/changeset/base/251758
Log:
Add skeleton processing of selected packages in the order in which they
should be processed. De-select each package as we "process" (actual
processing still pending) each package so that if we get an error, we can
return to an accurate state of selected packages.
Modified:
head/usr.sbin/bsdconfig/share/packages/packages.subr
Modified: head/usr.sbin/bsdconfig/share/packages/packages.subr
==============================================================================
--- head/usr.sbin/bsdconfig/share/packages/packages.subr Fri Jun 14 19:26:32 2013 (r251757)
+++ head/usr.sbin/bsdconfig/share/packages/packages.subr Fri Jun 14 19:35:30 2013 (r251758)
@@ -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
More information about the svn-src-all
mailing list