1if [ ! "$_PACKAGES_PACKAGES_SUBR" ]; then _PACKAGES_PACKAGES_SUBR=1
2#
3# Copyright (c) 2013 Devin Teske
4# All Rights Reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
--- 10 unchanged lines hidden (view full) ---
19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20# DAMAGES (INLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25# SUCH DAMAGE.
26#
27# $FreeBSD: head/usr.sbin/bsdconfig/share/packages/packages.subr 251758 2013-06-14 19:35:30Z dteske $
28#
29############################################################ INCLUDES
30
31BSDCFG_SHARE="/usr/share/bsdconfig"
32. $BSDCFG_SHARE/common.subr || exit 1
33f_dprintf "%s: loading includes..." "$0"
34f_include $BSDCFG_SHARE/dialog.subr
35f_include $BSDCFG_SHARE/strings.subr
--- 562 unchanged lines hidden (view full) ---
598 --title \"\$DIALOG_TITLE\" \
599 --backtitle \"\$DIALOG_BACKTITLE\" \
600 --hline \"\$hline\" \
601 --ok-label \"\$msg_proceed\" \
602 --cancel-label \"\$msg_cancel\" \
603 --menu \"\$prompt\" \
604 $height $width $rows \
605 $menu_list \
606 2> /dev/null || return $?
607 # Return if the user pressed ESC or chose Cancel/No
608
609 #
610 # Process each of the selected packages:
611 # + First, process dependencies.
612 # + Second, process packages marked for Install.
613 # + Third, process packages marked for Re-install.
614 # + Finally, process packages marked for Uninstall.
615 #
616 for package in $SELECTED_PACKAGES; do
617 mark=
618 f_str2varname "$package" varpkg
619 f_getvar _mark_$varpkg mark
620 [ "$mark" = "D" ] || continue
621 # XXX Install dependency
622 f_package_deselect "$package"
623 done
624 for package in $SELECTED_PACKAGES; do
625 mark=
626 f_str2varname "$package" varpkg
627 f_getvar _mark_$varpkg mark
628 [ "$mark" = "I" ] || continue
629 # XXX Install package
630 f_package_deselect "$package"
631 done
632 for package in $SELECTED_PACKAGES; do
633 mark=
634 f_str2varname "$package" varpkg
635 f_getvar _mark_$varpkg mark
636 [ "$mark" = "R" ] || continue
637 # XXX Re-install package
638 f_package_deselect "$package"
639 done
640 for package in $SELECTED_PACKAGES; do
641 mark=
642 f_str2varname "$package" varpkg
643 f_getvar _mark_$varpkg mark
644 [ "$mark" = "U" ] || continue
645 # XXX Uninstall package
646 f_package_deselect "$package"
647 done
648
649 # XXX
650 f_show_msg "Coming soon..."
651
652 return $SUCCESS
653}
654
655# f_package_config
656#
657# Allow the user to configure packages and install them. Initially, a list of
658# package categories is loaded/displayed. When the user selects a category,
659# the menus for that category are built (unlike sysinstall which built all
660# category menus up-front -- which also took forever, despite the fact that
--- 159 unchanged lines hidden ---
2#
3# Copyright (c) 2013 Devin Teske
4# All Rights Reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
--- 10 unchanged lines hidden (view full) ---
19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20# DAMAGES (INLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25# SUCH DAMAGE.
26#
27# $FreeBSD: head/usr.sbin/bsdconfig/share/packages/packages.subr 251758 2013-06-14 19:35:30Z dteske $
28#
29############################################################ INCLUDES
30
31BSDCFG_SHARE="/usr/share/bsdconfig"
32. $BSDCFG_SHARE/common.subr || exit 1
33f_dprintf "%s: loading includes..." "$0"
34f_include $BSDCFG_SHARE/dialog.subr
35f_include $BSDCFG_SHARE/strings.subr
--- 562 unchanged lines hidden (view full) ---
598 --title \"\$DIALOG_TITLE\" \
599 --backtitle \"\$DIALOG_BACKTITLE\" \
600 --hline \"\$hline\" \
601 --ok-label \"\$msg_proceed\" \
602 --cancel-label \"\$msg_cancel\" \
603 --menu \"\$prompt\" \
604 $height $width $rows \
605 $menu_list \
606 2> /dev/null || return $?
607 # Return if the user pressed ESC or chose Cancel/No
608
609 #
610 # Process each of the selected packages:
611 # + First, process dependencies.
612 # + Second, process packages marked for Install.
613 # + Third, process packages marked for Re-install.
614 # + Finally, process packages marked for Uninstall.
615 #
616 for package in $SELECTED_PACKAGES; do
617 mark=
618 f_str2varname "$package" varpkg
619 f_getvar _mark_$varpkg mark
620 [ "$mark" = "D" ] || continue
621 # XXX Install dependency
622 f_package_deselect "$package"
623 done
624 for package in $SELECTED_PACKAGES; do
625 mark=
626 f_str2varname "$package" varpkg
627 f_getvar _mark_$varpkg mark
628 [ "$mark" = "I" ] || continue
629 # XXX Install package
630 f_package_deselect "$package"
631 done
632 for package in $SELECTED_PACKAGES; do
633 mark=
634 f_str2varname "$package" varpkg
635 f_getvar _mark_$varpkg mark
636 [ "$mark" = "R" ] || continue
637 # XXX Re-install package
638 f_package_deselect "$package"
639 done
640 for package in $SELECTED_PACKAGES; do
641 mark=
642 f_str2varname "$package" varpkg
643 f_getvar _mark_$varpkg mark
644 [ "$mark" = "U" ] || continue
645 # XXX Uninstall package
646 f_package_deselect "$package"
647 done
648
649 # XXX
650 f_show_msg "Coming soon..."
651
652 return $SUCCESS
653}
654
655# f_package_config
656#
657# Allow the user to configure packages and install them. Initially, a list of
658# package categories is loaded/displayed. When the user selects a category,
659# the menus for that category are built (unlike sysinstall which built all
660# category menus up-front -- which also took forever, despite the fact that
--- 159 unchanged lines hidden ---